)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"0a2645a91c01182ea9278c016432e878455fef9c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rui Chen \u003cchenrui.momo@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-11 08:21:31 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix pci deivce inconsistent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"After restarting nova-compute process, the pci device assigned"},{"line_number":10,"context_line":"to instance in libvirt.xml was different with the record in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_d0f6a45c","line":7,"updated":"2015-02-11 08:44:52.000000000","message":"/s/deivce/device","commit_id":"2318eac83a7e2d323b9d508170287af29845ef93"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6bd9038fa09f1581f3cb5430d57e9308a3140e8f","unresolved":false,"context_lines":[{"line_number":348,"context_line":"            # Try to get compute_node id, init pci_tracker according to DB"},{"line_number":349,"context_line":"            # pci_devices table record."},{"line_number":350,"context_line":"            node_id \u003d None"},{"line_number":351,"context_line":"            compute_node \u003d self._get_compute_node(context)"},{"line_number":352,"context_line":"            if compute_node:"},{"line_number":353,"context_line":"                node_id \u003d compute_node.get(\u0027id\u0027)"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6ced46_2bf794f6","line":351,"updated":"2015-03-25 15:58:11.000000000","message":"So this just getst the compute node that might be there already as self.compute_node, but we would do it every time here.","commit_id":"fde0cd1227b39fedcec127311d13792b9581ba49"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6bd9038fa09f1581f3cb5430d57e9308a3140e8f","unresolved":false,"context_lines":[{"line_number":366,"context_line":""},{"line_number":367,"context_line":"            if not self.pci_tracker:"},{"line_number":368,"context_line":"                n_id \u003d self.compute_node[\u0027id\u0027] if self.compute_node else None"},{"line_number":369,"context_line":"                self.pci_tracker \u003d pci_manager.PciDevTracker(context,"},{"line_number":370,"context_line":"                                                             node_id\u003dn_id)"},{"line_number":371,"context_line":"            self.pci_tracker.set_hvdevs(devs)"},{"line_number":372,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6ced46_cbd2805b","line":369,"updated":"2015-03-25 15:58:11.000000000","message":"We don\u0027t really need this whle thing anymore","commit_id":"fde0cd1227b39fedcec127311d13792b9581ba49"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6bd9038fa09f1581f3cb5430d57e9308a3140e8f","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            if not service:"},{"line_number":416,"context_line":"                # no service record, disable resource"},{"line_number":417,"context_line":"                return"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"            cn \u003d self._get_compute_node(context)"},{"line_number":420,"context_line":"            if cn:"},{"line_number":421,"context_line":"                self.compute_node \u003d cn"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6ced46_0b81f8fa","line":418,"updated":"2015-03-25 15:58:11.000000000","message":"And then we get the compute node here agian... it seems to me that this should get done first... actually there was a patch that does this: \n\nhttps://review.openstack.org/#/c/148904/\n\nIt actually does more stuff and also fixes this bug.","commit_id":"fde0cd1227b39fedcec127311d13792b9581ba49"}],"nova/pci/manager.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"4c7b469251b1ad884cf83c0c3b8c651be13185db","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    information is updated to DB when devices information is changed."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, node_id\u003dNone, context\u003dcontext.get_admin_context()):"},{"line_number":47,"context_line":"        \"\"\"Create a pci device tracker."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        If a node_id is passed in, it will fetch pci devices information"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba7be1f8_20e782e5","line":46,"updated":"2015-02-25 15:35:04.000000000","message":"This is an anti-pattern. If context is passed, it should be the first argument. It should also not be optional, as anything creating a PciDevTracker will already have a context.\n\nThere are also several proposals to correct this already; here\u0027s my version: https://review.openstack.org/#/c/145619","commit_id":"0f61f8205c644273d817724960611df2f35fe791"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"9438e853a76c36471e05e753236cda3aac706ca2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    information is updated to DB when devices information is changed."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, node_id\u003dNone, context\u003dcontext.get_admin_context()):"},{"line_number":47,"context_line":"        \"\"\"Create a pci device tracker."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        If a node_id is passed in, it will fetch pci devices information"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba7be1f8_9c3dd991","line":46,"in_reply_to":"ba7be1f8_20e782e5","updated":"2015-02-26 06:58:51.000000000","message":"Thank you very much to remind me. I will fix it ASAP.","commit_id":"0f61f8205c644273d817724960611df2f35fe791"}],"nova/tests/unit/compute/test_resource_tracker.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"b1682b0dc26302dec79656126ef31f6e82933215","unresolved":false,"context_lines":[{"line_number":586,"context_line":"                               return_value\u003dlist()) as mock_get_db_pci:"},{"line_number":587,"context_line":"            self._init_tracker()"},{"line_number":588,"context_line":"            if self.tracker.driver.pci_support:"},{"line_number":589,"context_line":"                mock_get_db_pci.assert_called_once_with(self.context, 1)"},{"line_number":590,"context_line":"        self.limits \u003d self._limits()"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"    def _fake_service_get_by_compute_host(self, ctx, host):"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_bb6d0807","line":589,"updated":"2015-03-04 17:18:23.000000000","message":"i assume 1 is the node_id, right?\n\nit would be helpful to have it as a constant or variable, so any reviewer can understand what \u00271\u0027 means. :)","commit_id":"42da197caaba23f4a99321c016ed5d728d351ee9"}]}
