)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ef675d44646540a9a57b93b79a0fdd053d1b1ce","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ludovic Beliveau \u003cludovic.beliveau@windriver.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-11-01 09:28:10 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Don\u0027t parse PCI whitelist eveytime neutron ports are created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The neutronv2 API is calling the method get_pci_device_devspec()"},{"line_number":10,"context_line":"everytime a neutron port is created in order to get a PciDeviceSpec for a given"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba5da102_4aecb58f","line":7,"updated":"2016-11-04 14:20:02.000000000","message":"s/eveytime/every time/","commit_id":"d4e0f83e69d5b3e6f62ec289d6f21e16380e4e78"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ef675d44646540a9a57b93b79a0fdd053d1b1ce","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Don\u0027t parse PCI whitelist eveytime neutron ports are created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The neutronv2 API is calling the method get_pci_device_devspec()"},{"line_number":10,"context_line":"everytime a neutron port is created in order to get a PciDeviceSpec for a given"},{"line_number":11,"context_line":"PCI device.  This method creates a new Whitelist (based on the config"},{"line_number":12,"context_line":"CONF.pci_passthrough_whitelist) and parses it everytime it is called.  This"},{"line_number":13,"context_line":"is not a huge overhead but this is obvioulsy not needed and a waste of cycles."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba5da102_caf8c54c","line":10,"updated":"2016-11-04 14:20:02.000000000","message":"s/everytime/every time/ here and below :)","commit_id":"d4e0f83e69d5b3e6f62ec289d6f21e16380e4e78"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"14f6d4a6248cf0b8f4feac5fecd899ccc39f4fa7","unresolved":false,"context_lines":[{"line_number":806,"context_line":"                      }"},{"line_number":807,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d profile"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"    @staticmethod"},{"line_number":810,"context_line":"    def _populate_pci_mac_address(instance, pci_request_id, port_req_body):"},{"line_number":811,"context_line":"        \"\"\"Add the updated MAC address value to the update_port request body."},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        Currently this is done only for PF passthrough."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_515b8787","line":810,"range":{"start_line":809,"start_character":0,"end_line":810,"end_character":75},"updated":"2016-07-05 07:03:09.000000000","message":"unrelated to your patches, but why this method is @staticmethod","commit_id":"0770804209da04a2656beaabb6457e9713fd0a17"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"a92196be14c21e7163a3c11c354dff86ed3f4dd8","unresolved":false,"context_lines":[{"line_number":806,"context_line":"                      }"},{"line_number":807,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d profile"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"    @staticmethod"},{"line_number":810,"context_line":"    def _populate_pci_mac_address(instance, pci_request_id, port_req_body):"},{"line_number":811,"context_line":"        \"\"\"Add the updated MAC address value to the update_port request body."},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        Currently this is done only for PF passthrough."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_c805fcc2","line":810,"range":{"start_line":809,"start_character":0,"end_line":810,"end_character":75},"in_reply_to":"1aa78d24_515b8787","updated":"2016-07-05 11:50:50.000000000","message":"I don\u0027t know what are the advantages to use static methods with python.","commit_id":"0770804209da04a2656beaabb6457e9713fd0a17"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"44e56c0985b7b7e9b5e53a45cfed2a2595f8a451","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        super(API, self).__init__()"},{"line_number":232,"context_line":"        self.last_neutron_extension_sync \u003d None"},{"line_number":233,"context_line":"        self.extensions \u003d {}"},{"line_number":234,"context_line":"        self.pci_whitelist \u003d pci_whitelist.Whitelist("},{"line_number":235,"context_line":"            CONF.pci.passthrough_whitelist)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _update_port_with_migration_profile("}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_8956c504","line":234,"updated":"2016-11-05 12:55:23.000000000","message":"One thing I thought about after the fact is we could reserve creating this (and parsing the whitelist) until we actually need to do it once. So leave it None here, check for None in _get_pci_device_profile and if None create the Whitelist object. Then if you never have PCI requests you don\u0027t ever need to process this. Small optimization so it\u0027s up to you if you want to change that.","commit_id":"53ab6068a318079757fa76db37fc9838db2b4f24"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"cfd29bb70175572f6712f690a959162a6cedd70e","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        super(API, self).__init__()"},{"line_number":232,"context_line":"        self.last_neutron_extension_sync \u003d None"},{"line_number":233,"context_line":"        self.extensions \u003d {}"},{"line_number":234,"context_line":"        self.pci_whitelist \u003d pci_whitelist.Whitelist("},{"line_number":235,"context_line":"            CONF.pci.passthrough_whitelist)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _update_port_with_migration_profile("}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_a948e988","line":234,"in_reply_to":"ba5da102_8956c504","updated":"2016-11-05 15:40:03.000000000","message":"Good idea.  Thanks Matt.\n\nSee patch https://review.openstack.org/#/c/394048/","commit_id":"53ab6068a318079757fa76db37fc9838db2b4f24"}]}
