)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"427470a9285837ce02452cb4197fa661d0c6a7ef","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Add recreate test for bug 1784705"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This really should be re-written in it\u0027s own regression"},{"line_number":10,"context_line":"test class but for now I\u0027m piggy-backing for expediency."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"With change I6827137f35c0cb4f9fc4c6f753d9a035326ed01b in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_8136b44e","line":9,"range":{"start_line":9,"start_character":36,"end_line":9,"end_character":40},"updated":"2018-07-31 20:04:36.000000000","message":"its!","commit_id":"d4a94fa45450e8b3b095945c04db3dca4c50258c"}],"nova/tests/functional/compute/test_resource_tracker.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1dbe9aeee445972481d19c8f15ca820fd60d0ee0","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    @mock.patch(\u0027nova.compute.utils.is_volume_backed_instance\u0027,"},{"line_number":200,"context_line":"                new\u003dmock.Mock(return_value\u003dFalse))"},{"line_number":201,"context_line":"    @mock.patch(\u0027nova.objects.compute_node.ComputeNode.save\u0027, new\u003dmock.Mock())"},{"line_number":202,"context_line":"    def test_ironic_ocata_to_pike(self):"},{"line_number":203,"context_line":"        \"\"\"Check that when going from an Ocata installation with Ironic having"},{"line_number":204,"context_line":"        node\u0027s resource class attributes set, that we properly \"auto-heal\" the"},{"line_number":205,"context_line":"        inventory and allocation records in the placement API to account for"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_649fe650","line":202,"range":{"start_line":202,"start_character":8,"end_line":202,"end_character":34},"updated":"2018-07-31 20:51:30.000000000","message":"I\u0027m a little meh on commandeering this existing functional test instead of writing one that is focused solely on the stats issue.","commit_id":"d4a94fa45450e8b3b095945c04db3dca4c50258c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"01ae11b4430da2db85b3925b86dd49b475ca45c8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    @mock.patch(\u0027nova.compute.utils.is_volume_backed_instance\u0027,"},{"line_number":200,"context_line":"                new\u003dmock.Mock(return_value\u003dFalse))"},{"line_number":201,"context_line":"    @mock.patch(\u0027nova.objects.compute_node.ComputeNode.save\u0027, new\u003dmock.Mock())"},{"line_number":202,"context_line":"    def test_ironic_ocata_to_pike(self):"},{"line_number":203,"context_line":"        \"\"\"Check that when going from an Ocata installation with Ironic having"},{"line_number":204,"context_line":"        node\u0027s resource class attributes set, that we properly \"auto-heal\" the"},{"line_number":205,"context_line":"        inventory and allocation records in the placement API to account for"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_4fabe3d5","line":202,"range":{"start_line":202,"start_character":8,"end_line":202,"end_character":34},"in_reply_to":"5f7c97a3_649fe650","updated":"2018-07-31 21:02:57.000000000","message":"I know, that\u0027s why I made the change a WIP and mentioned this should be done in its own test (in the commit message).","commit_id":"d4a94fa45450e8b3b095945c04db3dca4c50258c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ddc2ab19e5ac45a50df5735a4ff90a890a06baae","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            # her system."},{"line_number":230,"context_line":"            # NOTE(jaypipes): This is what nova.compute.manager.ComputeManager"},{"line_number":231,"context_line":"            # does when \"initializing\" the service..."},{"line_number":232,"context_line":"            for index, cn in enumerate(self.COMPUTE_NODE_FIXTURES.values()):"},{"line_number":233,"context_line":"                nodename \u003d cn.hypervisor_hostname"},{"line_number":234,"context_line":"                # Fake that each compute node has unique extra specs stats and"},{"line_number":235,"context_line":"                # the RT makes sure those are unique per node."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_811f94b6","line":232,"range":{"start_line":232,"start_character":16,"end_line":232,"end_character":21},"updated":"2018-07-31 20:05:20.000000000","message":"Guess I didn\u0027t end up using this...","commit_id":"d4a94fa45450e8b3b095945c04db3dca4c50258c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"cec7d5becfdd32caadf46b01baf691013ff2a88d","unresolved":false,"context_lines":[{"line_number":283,"context_line":"                # they don\u0027t accumulate across nodes."},{"line_number":284,"context_line":"                for _cn in self.rt.compute_nodes.values():"},{"line_number":285,"context_line":"                    node_stats_key \u003d \u0027node:%s\u0027 % _cn.hypervisor_hostname"},{"line_number":286,"context_line":"                    if bad_node \u003d\u003d _cn.hypervisor_hostname:"},{"line_number":287,"context_line":"                        # FIXME(mriedem): This is bug 1784705 where the"},{"line_number":288,"context_line":"                        # compute node has lost its stats and is getting"},{"line_number":289,"context_line":"                        # stats for a different node."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_8180f49d","line":286,"updated":"2018-07-31 20:11:06.000000000","message":"Isn\u0027t it correct for the \"bad\" node\u0027s key to be in the stats for the node it really belongs to?","commit_id":"d4a94fa45450e8b3b095945c04db3dca4c50258c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d25dab1e9d91acc20a67394775ea6482d8767a05","unresolved":false,"context_lines":[{"line_number":283,"context_line":"                # they don\u0027t accumulate across nodes."},{"line_number":284,"context_line":"                for _cn in self.rt.compute_nodes.values():"},{"line_number":285,"context_line":"                    node_stats_key \u003d \u0027node:%s\u0027 % _cn.hypervisor_hostname"},{"line_number":286,"context_line":"                    if bad_node \u003d\u003d _cn.hypervisor_hostname:"},{"line_number":287,"context_line":"                        # FIXME(mriedem): This is bug 1784705 where the"},{"line_number":288,"context_line":"                        # compute node has lost its stats and is getting"},{"line_number":289,"context_line":"                        # stats for a different node."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_41741ccd","line":286,"in_reply_to":"5f7c97a3_8180f49d","updated":"2018-07-31 20:17:16.000000000","message":"Not sure I\u0027m following. What I\u0027m seeing with this test is that we init 3 compute nodes above so when that is done, rt.stats has info about the last node processed, let\u0027s say cn3. Then down below we do an instance_claim for an instance on cn1 which will copy rt.stats and set it in cn1.stats, so cn1\u0027s stats are pointing at a copy of cn3\u0027s stats.","commit_id":"d4a94fa45450e8b3b095945c04db3dca4c50258c"}]}
