)]}'
{"nova/tests/functional/libvirt/test_numa_live_migration.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        self.assertEqual(\u0027host_a\u0027, self.get_host(self.server_a[\u0027id\u0027]))"},{"line_number":357,"context_line":"        self.assertIsNone(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def _test_rollback(self, pin_dest\u003dFalse):"},{"line_number":360,"context_line":"        self._test(pin_dest)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        # Check consumed and pinned CPUs. Things should be as they were before"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_aa491b33","line":359,"updated":"2020-09-03 13:51:11.000000000","message":"nit: this isn\u0027t actually necessary for this test right, it\u0027s just to make it clearer that what\u0027s being testes is rollback?","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d3f31efee4b7eeaaa624f2d7d5a8e38d358b927e","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        self.assertEqual(\u0027host_a\u0027, self.get_host(self.server_a[\u0027id\u0027]))"},{"line_number":357,"context_line":"        self.assertIsNone(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def _test_rollback(self, pin_dest\u003dFalse):"},{"line_number":360,"context_line":"        self._test(pin_dest)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        # Check consumed and pinned CPUs. Things should be as they were before"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_2ac6ab17","line":359,"in_reply_to":"9f560f44_aa491b33","updated":"2020-09-03 16:30:36.000000000","message":"It is necessary because the next three assertions are not valid in the case of the bug. The alternative is to duplicate those checks to \u0027test_rollback\u0027 and \u0027test_rollback_pinned_dest\u0027, else duplicate everything left in \u0027_test\u0027 to \u0027_test_bug_1894095\u0027","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        orig_drop_move_claim \u003d rt.ResourceTracker.drop_move_claim"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        def drop_move_claim(*args, **kwargs):"},{"line_number":387,"context_line":"            # run periodics after marking the migration confirmed, simulating a"},{"line_number":388,"context_line":"            # race between the doing this and actually dropping the claim"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"            # check the usage, which should show usage on both hosts"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_ea5313e1","line":387,"updated":"2020-09-03 13:51:11.000000000","message":"nit: docstring instead of \"vanilla\" comment","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d3f31efee4b7eeaaa624f2d7d5a8e38d358b927e","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        orig_drop_move_claim \u003d rt.ResourceTracker.drop_move_claim"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        def drop_move_claim(*args, **kwargs):"},{"line_number":387,"context_line":"            # run periodics after marking the migration confirmed, simulating a"},{"line_number":388,"context_line":"            # race between the doing this and actually dropping the claim"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"            # check the usage, which should show usage on both hosts"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_87024d3d","line":387,"in_reply_to":"9f560f44_ea5313e1","updated":"2020-09-03 16:30:36.000000000","message":"Done","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            # race between the doing this and actually dropping the claim"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"            # check the usage, which should show usage on both hosts"},{"line_number":391,"context_line":"            self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":392,"context_line":"            self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"            if pre_drop_race:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_cafc4fb7","line":391,"updated":"2020-09-03 13:51:11.000000000","message":"This is server_a","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d3f31efee4b7eeaaa624f2d7d5a8e38d358b927e","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            # race between the doing this and actually dropping the claim"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"            # check the usage, which should show usage on both hosts"},{"line_number":391,"context_line":"            self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":392,"context_line":"            self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"            if pre_drop_race:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_27ba616d","line":391,"in_reply_to":"9f560f44_cafc4fb7","updated":"2020-09-03 16:30:36.000000000","message":"Done","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":389,"context_line":""},{"line_number":390,"context_line":"            # check the usage, which should show usage on both hosts"},{"line_number":391,"context_line":"            self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":392,"context_line":"            self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"            if pre_drop_race:"},{"line_number":395,"context_line":"                self._run_periodics()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_0a30079e","line":392,"updated":"2020-09-03 13:51:11.000000000","message":"This is server_b and server_a\u0027s migration","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d3f31efee4b7eeaaa624f2d7d5a8e38d358b927e","unresolved":false,"context_lines":[{"line_number":389,"context_line":""},{"line_number":390,"context_line":"            # check the usage, which should show usage on both hosts"},{"line_number":391,"context_line":"            self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":392,"context_line":"            self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"            if pre_drop_race:"},{"line_number":395,"context_line":"                self._run_periodics()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_47b79587","line":392,"in_reply_to":"9f560f44_0a30079e","updated":"2020-09-03 16:30:36.000000000","message":"Done","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            if pre_drop_race:"},{"line_number":395,"context_line":"                self._run_periodics()"},{"line_number":396,"context_line":"                # FIXME(stephenfin): This seems to be picking up changes in the"},{"line_number":397,"context_line":"                # NUMA topology of instance 1, which is being migrated from"},{"line_number":398,"context_line":"                # host_a to host_b"},{"line_number":399,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":400,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_ea1af314","line":397,"range":{"start_line":397,"start_character":35,"end_line":397,"end_character":45},"updated":"2020-09-03 13:51:11.000000000","message":"nit: should probably call it server_a to be consistent","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d3f31efee4b7eeaaa624f2d7d5a8e38d358b927e","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            if pre_drop_race:"},{"line_number":395,"context_line":"                self._run_periodics()"},{"line_number":396,"context_line":"                # FIXME(stephenfin): This seems to be picking up changes in the"},{"line_number":397,"context_line":"                # NUMA topology of instance 1, which is being migrated from"},{"line_number":398,"context_line":"                # host_a to host_b"},{"line_number":399,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":400,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e7bfc95d","line":397,"range":{"start_line":397,"start_character":35,"end_line":397,"end_character":45},"in_reply_to":"9f560f44_ea1af314","updated":"2020-09-03 16:30:36.000000000","message":"Done","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":396,"context_line":"                # FIXME(stephenfin): This seems to be picking up changes in the"},{"line_number":397,"context_line":"                # NUMA topology of instance 1, which is being migrated from"},{"line_number":398,"context_line":"                # host_a to host_b"},{"line_number":399,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":400,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"            result \u003d orig_drop_move_claim(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6adc2346","line":399,"updated":"2020-09-03 13:51:11.000000000","message":"Aha, it\u0027s now consuming server_a\u0027s \"destination CPUs\" on host_a :(","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"            result \u003d orig_drop_move_claim(*args, **kwargs)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"            if pre_drop_race:"},{"line_number":405,"context_line":"                # FIXME(stephenfin): host_a is using the wrong pinned CPUs"},{"line_number":406,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":407,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_4a867f15","line":404,"updated":"2020-09-03 13:51:11.000000000","message":"See my next two comments - but I\u0027m not sure this block makes sense. L406 is repeating from L399...","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":403,"context_line":""},{"line_number":404,"context_line":"            if pre_drop_race:"},{"line_number":405,"context_line":"                # FIXME(stephenfin): host_a is using the wrong pinned CPUs"},{"line_number":406,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":407,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1])"},{"line_number":408,"context_line":"            else:"},{"line_number":409,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_eac83375","line":406,"updated":"2020-09-03 13:51:11.000000000","message":"This is \"expected\", in the sense that dropping the move claim on the destination doesn\u0027t affect the source usage (which has been incorrectly set on L395 and verified on L399).","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d3f31efee4b7eeaaa624f2d7d5a8e38d358b927e","unresolved":false,"context_lines":[{"line_number":403,"context_line":""},{"line_number":404,"context_line":"            if pre_drop_race:"},{"line_number":405,"context_line":"                # FIXME(stephenfin): host_a is using the wrong pinned CPUs"},{"line_number":406,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":407,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1])"},{"line_number":408,"context_line":"            else:"},{"line_number":409,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_87b08d8d","line":406,"in_reply_to":"9f560f44_eac83375","updated":"2020-09-03 16:30:36.000000000","message":"Done","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"839f1d18aa8b4d4a259256f14e9af2443cd56ea9","unresolved":false,"context_lines":[{"line_number":404,"context_line":"            if pre_drop_race:"},{"line_number":405,"context_line":"                # FIXME(stephenfin): host_a is using the wrong pinned CPUs"},{"line_number":406,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":407,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1])"},{"line_number":408,"context_line":"            else:"},{"line_number":409,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":410,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_8a8ed72f","line":407,"updated":"2020-09-03 13:51:11.000000000","message":"This is correct behaviour - we\u0027ve dropped server_a\u0027s migration on host_b, leaving only server_b.","commit_id":"c7bc05ff1b06da88981f7ccd79de84a82d9eaad9"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f0aeded381598502c24f23d279be3e6f7d1f639","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                kB_mem\u003d10740000),"},{"line_number":122,"context_line":"            \u0027host_b\u0027: fakelibvirt.HostInfo("},{"line_number":123,"context_line":"                cpu_nodes\u003d1, cpu_sockets\u003d4, cpu_cores\u003d1, cpu_threads\u003d1,"},{"line_number":124,"context_line":"                kB_mem\u003d10740000)})"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Create a 2-CPU flavor"},{"line_number":127,"context_line":"        extra_spec \u003d {\u0027hw:cpu_policy\u0027: \u0027dedicated\u0027}"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_4abefad3","line":124,"updated":"2020-09-25 18:05:13.000000000","message":"Note to self: here is where host_a and host_b are started with 4 CPU sockets each.","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f0aeded381598502c24f23d279be3e6f7d1f639","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            setattr(self, server_name,"},{"line_number":138,"context_line":"                    self._wait_for_state_change(server, \u0027ACTIVE\u0027))"},{"line_number":139,"context_line":"            self.assertEqual(host, self.get_host(server[\u0027id\u0027]))"},{"line_number":140,"context_line":"            self._assert_instance_pinned_cpus(server[\u0027id\u0027], [0, 1], [0, 1])"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def _rpc_pin_host(self, hostname):"},{"line_number":143,"context_line":"        ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_0ad1a2f8","line":140,"updated":"2020-09-25 18:05:13.000000000","message":"Note to self: here is where 2 servers are booted, one on each host and will go on CPUs 0, 1.","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f0aeded381598502c24f23d279be3e6f7d1f639","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        # rollback test, so server_a is expected to remain on host_a."},{"line_number":353,"context_line":"        if pin_dest:"},{"line_number":354,"context_line":"            self._rpc_pin_host(\u0027host_b\u0027)"},{"line_number":355,"context_line":"        self._live_migrate(self.server_a, \u0027error\u0027)"},{"line_number":356,"context_line":"        self.assertEqual(\u0027host_a\u0027, self.get_host(self.server_a[\u0027id\u0027]))"},{"line_number":357,"context_line":"        self.assertIsNone(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":358,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ead9cef3","line":355,"updated":"2020-09-25 18:05:13.000000000","message":"Note to self: this is where a live migration of the first server is attempted and is intended to fail and be rolled back.","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f0aeded381598502c24f23d279be3e6f7d1f639","unresolved":false,"context_lines":[{"line_number":368,"context_line":"                                          [0, 1], [0, 1])"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    def test_rollback(self):"},{"line_number":371,"context_line":"        self._test_rollback()"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    def test_rollback_pinned_dest(self):"},{"line_number":374,"context_line":"        self._test_rollback(pin_dest\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_6ad13e57","line":371,"updated":"2020-09-25 18:05:13.000000000","message":"Nit: I like having pin_dest\u003dFalse explicitly here to make it painfully obvious the difference between the two tests when reading. I do see that this is keeping consistent with the previous test and this is only adding the host and instance asserts.","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5b0317318ec00c001c3e5891f6a56405709f677d","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            a race between the doing this and actually dropping the claim."},{"line_number":389,"context_line":"            \"\"\""},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"            # check the usage, which should show usage on both hosts, server_a"},{"line_number":392,"context_line":"            # on host_a, and server_b plus server_a\u0027s migration on host_b"},{"line_number":393,"context_line":"            self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":394,"context_line":"            self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_14c0a949","line":391,"range":{"start_line":391,"start_character":68,"end_line":391,"end_character":69},"updated":"2020-09-25 16:12:45.000000000","message":":","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a056bc814a25ac70100365fc7d8e97e563b929bd","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            a race between the doing this and actually dropping the claim."},{"line_number":389,"context_line":"            \"\"\""},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"            # check the usage, which should show usage on both hosts, server_a"},{"line_number":392,"context_line":"            # on host_a, and server_b plus server_a\u0027s migration on host_b"},{"line_number":393,"context_line":"            self._assert_host_consumed_cpus(\u0027host_a\u0027, [0, 1])"},{"line_number":394,"context_line":"            self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_1feb9011","line":391,"range":{"start_line":391,"start_character":68,"end_line":391,"end_character":69},"in_reply_to":"9f560f44_14c0a949","updated":"2020-09-28 09:27:17.000000000","message":"Done","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f0aeded381598502c24f23d279be3e6f7d1f639","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":419,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"            return result"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"        self.useFixture(fixtures.MonkeyPatch("},{"line_number":424,"context_line":"            \u0027nova.compute.resource_tracker.ResourceTracker.drop_move_claim\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_6ac65e18","line":421,"updated":"2020-09-25 18:05:13.000000000","message":"Wow, this is all crazy pants (the buggy behavior).\n\nI\u0027m wondering, what would be the correct behavior? To have the pinned CPUs stay consistent throughout the periodic runs, for example:\n\npre drop: (\u0027host_a\u0027, [0, 1]) and (\u0027host_b\u0027, [0, 1, 2, 3])\n\npost drop: (\u0027host_a\u0027, [0, 1]) and (\u0027host_b\u0027, [0, 1])\n\nIn the past we have done a thing where we include the correct behavior asserts commented out in the func test so that when we fix the bug, we delete the bug-present asserts and then uncomment the correct asserts. Is there a way we could do that here? It would make it clearer to understand what\u0027s going on from a reader like me who is not so well-versed in pinned CPUs.","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a056bc814a25ac70100365fc7d8e97e563b929bd","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                self._assert_host_consumed_cpus(\u0027host_a\u0027, [2, 3])"},{"line_number":419,"context_line":"                self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"            return result"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"        self.useFixture(fixtures.MonkeyPatch("},{"line_number":424,"context_line":"            \u0027nova.compute.resource_tracker.ResourceTracker.drop_move_claim\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_7fc72c99","line":421,"in_reply_to":"9f560f44_6ac65e18","updated":"2020-09-28 09:27:17.000000000","message":"\u003e Wow, this is all crazy pants (the buggy behavior).\n \u003e \n \u003e I\u0027m wondering, what would be the correct behavior? To have the\n \u003e pinned CPUs stay consistent throughout the periodic runs, for\n \u003e example:\n \u003e \n \u003e pre drop: (\u0027host_a\u0027, [0, 1]) and (\u0027host_b\u0027, [0, 1, 2, 3])\n \u003e \n \u003e post drop: (\u0027host_a\u0027, [0, 1]) and (\u0027host_b\u0027, [0, 1])\n\nYes, exactly.\n\n \u003e In the past we have done a thing where we include the correct\n \u003e behavior asserts commented out in the func test so that when we fix\n \u003e the bug, we delete the bug-present asserts and then uncomment the\n \u003e correct asserts. Is there a way we could do that here? It would\n \u003e make it clearer to understand what\u0027s going on from a reader like me\n \u003e who is not so well-versed in pinned CPUs.\n\nSure. Done.","commit_id":"d4eea6e926458865ae87a4d997aa169f4cdd07ee"}]}
