)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c2ae609cdcfd7fd2ff54e979c75e23a0a1fcbaad","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix pci_stats logging in resource tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the resource tracker the pci stats is show in"},{"line_number":10,"context_line":"the log like pci_stats\u003dPciDevicePoolList(objects\u003d[PciDevicePool]"},{"line_number":11,"context_line":"the patch fix it to be logged as"},{"line_number":12,"context_line":"pci_stats\u003d[{\u0027count\u0027: 4, \u0027numa_node\u0027: 0, \u0027vendor_id\u0027: u\u002715b3\u0027, \u0027product_id\u0027: u\u00271014\u0027,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a1a9d01_9cd40548","line":9,"updated":"2015-10-02 02:14:37.000000000","message":"Do you have a bug reported for this with actual log output that we can look at, along with which version of nova is being run?","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1e5b0089b6074e853b390fc772c13606a5eaaa3f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix pci_stats logging in resource tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the resource tracker the pci stats is show in"},{"line_number":10,"context_line":"the log like pci_stats\u003dPciDevicePoolList(objects\u003d[PciDevicePool]"},{"line_number":11,"context_line":"the patch fix it to be logged as"},{"line_number":12,"context_line":"pci_stats\u003d[{\u0027count\u0027: 4, \u0027numa_node\u0027: 0, \u0027vendor_id\u0027: u\u002715b3\u0027, \u0027product_id\u0027: u\u00271014\u0027,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa80f949_30ffe135","line":9,"in_reply_to":"9a1a9d01_5562bb17","updated":"2015-11-05 13:52:26.000000000","message":"Done","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"e15447734edd9c6c86f7601d77b5d46aed44055a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix pci_stats logging in resource tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the resource tracker the pci stats is show in"},{"line_number":10,"context_line":"the log like pci_stats\u003dPciDevicePoolList(objects\u003d[PciDevicePool]"},{"line_number":11,"context_line":"the patch fix it to be logged as"},{"line_number":12,"context_line":"pci_stats\u003d[{\u0027count\u0027: 4, \u0027numa_node\u0027: 0, \u0027vendor_id\u0027: u\u002715b3\u0027, \u0027product_id\u0027: u\u00271014\u0027,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a1a9d01_5562bb17","line":9,"in_reply_to":"9a1a9d01_9cd40548","updated":"2015-10-02 09:42:16.000000000","message":"ok I will open a bug for this.\n\nyou can see it in the Mellanox CI log so the problem is still in master\nfor example this commit https://review.openstack.org/#/c/230012/\n\nin http://144.76.193.39/ci-artifacts/230012/1/Nova-ML2-Sriov/logs/n-cpu.log.gz\n\n2015-10-02 06:31:23.646 INFO nova.compute.resource_tracker [req-a8fe524a-899c-4eb8-97ea-ab5cb60f0018 None None] Final resource view: name\u003dr-ufm174 phys_ram\u003d32211MB used_ram\u003d512MB phys_disk\u003d27GB used_disk\u003d0GB total_vcpus\u003d24 used_vcpus\u003d0 pci_stats\u003dPciDevicePoolList(objects\u003d[PciDevicePool])\n2015-10-02 06:31:24.134 INFO nova.compute.resource_tracker [req-a8fe524a-899c-4eb8-97ea-ab5cb60f0018 None None] Compute_service record updated for r-ufm174:r-ufm174\n2015-10-02 06:31:24.135 DEBUG oslo_concurrency.lockutils [req-a8fe524a-899c-4eb8-97ea-ab5cb60f0018 None None] Lock \"compute_resources\" released by","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"43e4acef2e2d77e22c01c21c90736c893dbcb840","unresolved":false,"context_lines":[{"line_number":606,"context_line":"            tcpu \u003d 0"},{"line_number":607,"context_line":"            ucpu \u003d 0"},{"line_number":608,"context_line":"        pci_stats \u003d (self.compute_node.pci_device_pools.to_dict() if"},{"line_number":609,"context_line":"            self.compute_node.pci_device_pools else [])"},{"line_number":610,"context_line":"        LOG.info(_LI(\"Final resource view: \""},{"line_number":611,"context_line":"                     \"name\u003d%(node)s \""},{"line_number":612,"context_line":"                     \"phys_ram\u003d%(phys_ram)sMB \""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_34636e1c","line":609,"updated":"2015-10-02 19:17:06.000000000","message":"You could just do this:\n\n pci_stats \u003d [repr(x) for x in self.compute_node.pci_device_pools]\n\nand not have to make the larger change.","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1e5b0089b6074e853b390fc772c13606a5eaaa3f","unresolved":false,"context_lines":[{"line_number":606,"context_line":"            tcpu \u003d 0"},{"line_number":607,"context_line":"            ucpu \u003d 0"},{"line_number":608,"context_line":"        pci_stats \u003d (self.compute_node.pci_device_pools.to_dict() if"},{"line_number":609,"context_line":"            self.compute_node.pci_device_pools else [])"},{"line_number":610,"context_line":"        LOG.info(_LI(\"Final resource view: \""},{"line_number":611,"context_line":"                     \"name\u003d%(node)s \""},{"line_number":612,"context_line":"                     \"phys_ram\u003d%(phys_ram)sMB \""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa80f949_b0999121","line":609,"in_reply_to":"9a1a9d01_34636e1c","updated":"2015-11-05 13:52:26.000000000","message":"Done","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1bc7a6948f25fc0b779ebe0f8ef8c6d9d8e98668","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        else:"},{"line_number":619,"context_line":"            tcpu \u003d 0"},{"line_number":620,"context_line":"            ucpu \u003d 0"},{"line_number":621,"context_line":"        pci_stats \u003d ([repr(x) for x in self.compute_node.pci_device_pools] if"},{"line_number":622,"context_line":"            self.compute_node.pci_device_pools else [])"},{"line_number":623,"context_line":"        LOG.info(_LI(\"Final resource view: \""},{"line_number":624,"context_line":"                     \"name\u003d%(node)s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_e0c56c0a","line":621,"updated":"2015-11-12 21:29:31.000000000","message":"Can\u0027t we just do:\n\npci_stats \u003d list(self.compute_node.pci_device_pools) if self.compute_node.pci_device_pools else []","commit_id":"b43181e56894dee091aa0209e1734dc35bd11bfa"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"0f11fb1de22c6dc89d25a572b9f4a89d3b6be179","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        else:"},{"line_number":619,"context_line":"            tcpu \u003d 0"},{"line_number":620,"context_line":"            ucpu \u003d 0"},{"line_number":621,"context_line":"        pci_stats \u003d ([repr(x) for x in self.compute_node.pci_device_pools] if"},{"line_number":622,"context_line":"            self.compute_node.pci_device_pools else [])"},{"line_number":623,"context_line":"        LOG.info(_LI(\"Final resource view: \""},{"line_number":624,"context_line":"                     \"name\u003d%(node)s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_342f28f8","line":621,"in_reply_to":"da85f559_20e4d4aa","updated":"2015-11-13 07:30:55.000000000","message":"Done","commit_id":"b43181e56894dee091aa0209e1734dc35bd11bfa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c0461164aa091895a1e384aeb808b0f217613893","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        else:"},{"line_number":619,"context_line":"            tcpu \u003d 0"},{"line_number":620,"context_line":"            ucpu \u003d 0"},{"line_number":621,"context_line":"        pci_stats \u003d ([repr(x) for x in self.compute_node.pci_device_pools] if"},{"line_number":622,"context_line":"            self.compute_node.pci_device_pools else [])"},{"line_number":623,"context_line":"        LOG.info(_LI(\"Final resource view: \""},{"line_number":624,"context_line":"                     \"name\u003d%(node)s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_20e4d4aa","line":621,"in_reply_to":"da85f559_e0c56c0a","updated":"2015-11-12 21:30:22.000000000","message":"See what I did here:\n\nhttps://review.openstack.org/#/c/242617/","commit_id":"b43181e56894dee091aa0209e1734dc35bd11bfa"}],"nova/objects/pci_device_pool.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c2ae609cdcfd7fd2ff54e979c75e23a0a1fcbaad","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \u0027objects\u0027: [(\u00271.0\u0027, \u00271.0\u0027), (\u00271.1\u0027, \u00271.1\u0027)],"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def to_dict(self):"},{"line_number":85,"context_line":"        return base.obj_to_primitive(self)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_9c864564","line":84,"updated":"2015-10-02 02:14:37.000000000","message":"I feel like this is kind of a hack.  I\u0027d prefer to just see this class implement __repr__ so when this is logged we know it\u0027s a PciDevicePoolList object and not a primitive dict.\n\nIn fact, versioned objects should get this from the base class in oslo.versionedobjects:\n\nhttps://github.com/openstack/oslo.versionedobjects/blob/master/oslo_versionedobjects/base.py#L296\n\nThis class extends NovaObject and NovaObject extends VersionedObject so you should just get this automatically.","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"43e4acef2e2d77e22c01c21c90736c893dbcb840","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \u0027objects\u0027: [(\u00271.0\u0027, \u00271.0\u0027), (\u00271.1\u0027, \u00271.1\u0027)],"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def to_dict(self):"},{"line_number":85,"context_line":"        return base.obj_to_primitive(self)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_14ebca79","line":84,"in_reply_to":"9a1a9d01_0be4240b","updated":"2015-10-02 19:17:06.000000000","message":"Yes, this is a giant hack. If you want it changed, it needs to be in o.vo.\n\nI intentionally didn\u0027t recurse into objects because it\u0027s easy to get confusing. So, when you do the review there, I\u0027ll ask you to do something to make the transition to/from a sub object visually striking.","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1e5b0089b6074e853b390fc772c13606a5eaaa3f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \u0027objects\u0027: [(\u00271.0\u0027, \u00271.0\u0027), (\u00271.1\u0027, \u00271.1\u0027)],"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def to_dict(self):"},{"line_number":85,"context_line":"        return base.obj_to_primitive(self)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa80f949_8c023f6e","line":84,"in_reply_to":"9a1a9d01_14ebca79","updated":"2015-11-05 13:52:26.000000000","message":"Done","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"e15447734edd9c6c86f7601d77b5d46aed44055a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \u0027objects\u0027: [(\u00271.0\u0027, \u00271.0\u0027), (\u00271.1\u0027, \u00271.1\u0027)],"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def to_dict(self):"},{"line_number":85,"context_line":"        return base.obj_to_primitive(self)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_0be4240b","line":84,"in_reply_to":"9a1a9d01_9c864564","updated":"2015-10-02 09:42:16.000000000","message":"the  __repr__ is calling field.stringify and if you look at \nand the implementation for Object fields is to just print the object name so this why we get objects\u003d[PciDevicePool]\n\nhttps://github.com/openstack/oslo.versionedobjects/blob/9b2289e3172cef0aa1c4bb6ded30173e72580f75/oslo_versionedobjects/fields.py#L526-L536\nI am not sure why the Object field.stringify was implemented like.\n\nDo you think the fix should be in oslo.versionedobjects?","commit_id":"3dca60560a1dff4cf055e200b27571cef429cc26"}]}
