)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bde3e75db37d584107f9ceb48343bc14757c95ae","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is designed as immutable, although the objects in the list is"},{"line_number":12,"context_line":"mutable. We should simply use a list to keep devices."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Fix bug: 1273803"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ie80b6f5f47a1d2d2e20aadb4779be142c17b5b38"},{"line_number":17,"context_line":"Signed-off-by: Yunhong Jiang \u003cyunhong.jiang@intel.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUH%2F%2BJL4%3D","line":14,"updated":"2014-01-29 18:41:19.000000000","message":"This should be: Closes-Bug: #1273803\n\nOtherwise it won\u0027t sync back to launchpad to change the bug status.","commit_id":"8f2e5ddbb7e9220a74dc3e001963eb7127443037"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f6e4072804a4644f6d8c63dde9b4a119666d1cb6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Closes-Bug: #1273803"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ie80b6f5f47a1d2d2e20aadb4779be142c17b5b38"},{"line_number":17,"context_line":"Signed-off-by: Yunhong Jiang \u003cyunhong.jiang@intel.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAWH%2F%2FCUM%3D","line":17,"updated":"2014-03-20 18:47:09.000000000","message":"We don\u0027t need SoBs in openstack.","commit_id":"e7233600ff4a996e91808efb7e909a22c134b71a"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"e564cc1c0a216d7d3f9b13dee7ed63668457414b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Closes-Bug: #1273803"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ie80b6f5f47a1d2d2e20aadb4779be142c17b5b38"},{"line_number":17,"context_line":"Signed-off-by: Yunhong Jiang \u003cyunhong.jiang@intel.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAWH%2F%2FBT8%3D","line":17,"in_reply_to":"AAAAWH%2F%2FCUM%3D","updated":"2014-03-20 21:27:22.000000000","message":"Thanks and done.","commit_id":"e7233600ff4a996e91808efb7e909a22c134b71a"}],"nova/pci/pci_manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5f984907c175d2006ae2b2ae543e1f1cd05822b2","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self.stats \u003d pci_stats.PciDeviceStats()"},{"line_number":60,"context_line":"        if node_id:"},{"line_number":61,"context_line":"            self.pci_devs \u003d pci_device.PciDeviceList.get_by_compute_node("},{"line_number":62,"context_line":"                context, node_id).objects"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            self.pci_devs \u003d []"},{"line_number":65,"context_line":"        self._initial_instance_usage()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BJe0%3D","line":62,"updated":"2014-01-29 17:48:32.000000000","message":"I don\u0027t think this is correct/necessary.","commit_id":"8f2e5ddbb7e9220a74dc3e001963eb7127443037"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"7ef4e747e1e1064062d4e65c917d59d1755ff763","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self.stats \u003d pci_stats.PciDeviceStats()"},{"line_number":60,"context_line":"        if node_id:"},{"line_number":61,"context_line":"            self.pci_devs \u003d pci_device.PciDeviceList.get_by_compute_node("},{"line_number":62,"context_line":"                context, node_id).objects"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            self.pci_devs \u003d []"},{"line_number":65,"context_line":"        self._initial_instance_usage()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BBpU%3D","line":62,"in_reply_to":"AAAAUH%2F%2BEIQ%3D","updated":"2014-01-30 21:45:17.000000000","message":"Thanks, I will do this way.","commit_id":"8f2e5ddbb7e9220a74dc3e001963eb7127443037"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7011d0afb18e08aba63abe0b62cddc3273309b4d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self.stats \u003d pci_stats.PciDeviceStats()"},{"line_number":60,"context_line":"        if node_id:"},{"line_number":61,"context_line":"            self.pci_devs \u003d pci_device.PciDeviceList.get_by_compute_node("},{"line_number":62,"context_line":"                context, node_id).objects"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            self.pci_devs \u003d []"},{"line_number":65,"context_line":"        self._initial_instance_usage()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BEIQ%3D","line":62,"in_reply_to":"AAAAUH%2F%2BJe0%3D","updated":"2014-01-30 14:51:35.000000000","message":"If you want a mutable copy of the list, I would make an actual copy instead of just stashing the internal list that the ListObject stores. So, something like:\n\n self.pci_devs \u003d [dev for dev in pci_device.PciDeviceList.get_by...()]\n\nor I think this will work as well:\n\n self.pci_devs \u003d list(pci_device.PciDeviceList.get_by...())","commit_id":"8f2e5ddbb7e9220a74dc3e001963eb7127443037"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5d2f23eb4b5ba3bf53bc28db3d7cd915bd5b060b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.node_id \u003d node_id"},{"line_number":57,"context_line":"        self.stats \u003d pci_stats.PciDeviceStats()"},{"line_number":58,"context_line":"        if node_id:"},{"line_number":59,"context_line":"            self.pci_devs \u003d list(pci_device.PciDeviceList.get_by_compute_node("},{"line_number":60,"context_line":"                context, node_id))"},{"line_number":61,"context_line":"        else:"},{"line_number":62,"context_line":"            self.pci_devs \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9WIU%3D","line":59,"updated":"2014-04-06 08:06:32.000000000","message":"Why does this method not return a list?","commit_id":"81f9256747377f1b9488b407a2f33d251ffd1d8f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8e247d02c853db7247251dd03a247ec44c135984","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.node_id \u003d node_id"},{"line_number":57,"context_line":"        self.stats \u003d pci_stats.PciDeviceStats()"},{"line_number":58,"context_line":"        if node_id:"},{"line_number":59,"context_line":"            self.pci_devs \u003d list(pci_device.PciDeviceList.get_by_compute_node("},{"line_number":60,"context_line":"                context, node_id))"},{"line_number":61,"context_line":"        else:"},{"line_number":62,"context_line":"            self.pci_devs \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9Veg%3D","line":59,"in_reply_to":"AAAAWH%2F9WIU%3D","updated":"2014-04-06 19:40:28.000000000","message":"The point of making pci_devs a primitive list is so that the internal PciDeviceList.objects list doesn\u0027t need to be exposed later and used to modify the object list.","commit_id":"81f9256747377f1b9488b407a2f33d251ffd1d8f"}]}
