)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea537b3908d07159b9d0d244eae1755697e1e470","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"619b2993_1be464cd","updated":"2024-05-23 14:15:08.000000000","message":"Looks good to me other than a few issues in the test. The regression test properly fails without the functional change applied.","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"}],"nova/conductor/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea537b3908d07159b9d0d244eae1755697e1e470","unresolved":true,"context_lines":[{"line_number":1341,"context_line":"                        exception.AllocationUpdateFailed,"},{"line_number":1342,"context_line":"                        # The following exception is raised by"},{"line_number":1343,"context_line":"                        # _schedule_instances"},{"line_number":1344,"context_line":"                        MessagingTimeout,"},{"line_number":1345,"context_line":"                        # the next two can come from fill_provider_mapping and"},{"line_number":1346,"context_line":"                        # signals a software error."},{"line_number":1347,"context_line":"                        NotImplementedError,"}],"source_content_type":"text/x-python","patch_set":3,"id":"213c74cc_d243ce4a","line":1344,"updated":"2024-05-23 14:15:08.000000000","message":"This will make us run the code in this handler before we abort, but any exception will cause us to mark the event as failed because we\u0027re running inside the EventReporter on L1221, which means the user _can_ see that it failed.\n\nIs the point of this change just to make sure that the migration object gets marked as error? I guess `instance.vm_state` as well...","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"}],"nova/tests/functional/regressions/test_bug_2044494.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6784af6b1374838779e9e4887a786a3bc6a7979","unresolved":true,"context_lines":[{"line_number":26,"context_line":"from unittest import mock"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"IMAGE_ID \u003d nova_fixtures.GlanceFixture.auto_disk_config_enabled_image[\"id\"]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"FLAVOR_FIXTURE \u003d {"},{"line_number":32,"context_line":"    \"flavorid\": \"fake_flavor\","}],"source_content_type":"text/x-python","patch_set":3,"id":"c9c636e3_a984bbad","line":29,"range":{"start_line":29,"start_character":11,"end_line":29,"end_character":38},"updated":"2024-06-05 14:23:20.000000000","message":"this read\u0027s wiredly\nnova-fixture has glance-fixture!","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea537b3908d07159b9d0d244eae1755697e1e470","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        self.useFixture(func_fixtures.PlacementFixture())"},{"line_number":63,"context_line":"        api_fixture \u003d self.useFixture("},{"line_number":64,"context_line":"            nova_fixtures.OSAPIFixture(api_version\u003d\"v2.1\"))"},{"line_number":65,"context_line":"        assert isinstance(api_fixture, OSAPIFixture)"},{"line_number":66,"context_line":"        self.api \u003d api_fixture.admin_api"},{"line_number":67,"context_line":"        self.api.microversion \u003d \"2.14\"  # type: ignore"},{"line_number":68,"context_line":"        self._start_services()"}],"source_content_type":"text/x-python","patch_set":3,"id":"54ae15a7_7f778c72","line":65,"updated":"2024-05-23 14:15:08.000000000","message":"This is not necessary or conventional, IMHO.","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"305de8d05f10c350f71e329e5e69e4122fe1778c","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        self.useFixture(func_fixtures.PlacementFixture())"},{"line_number":63,"context_line":"        api_fixture \u003d self.useFixture("},{"line_number":64,"context_line":"            nova_fixtures.OSAPIFixture(api_version\u003d\"v2.1\"))"},{"line_number":65,"context_line":"        assert isinstance(api_fixture, OSAPIFixture)"},{"line_number":66,"context_line":"        self.api \u003d api_fixture.admin_api"},{"line_number":67,"context_line":"        self.api.microversion \u003d \"2.14\"  # type: ignore"},{"line_number":68,"context_line":"        self._start_services()"}],"source_content_type":"text/x-python","patch_set":3,"id":"02749a57_9bb5b2fc","line":65,"in_reply_to":"54ae15a7_7f778c72","updated":"2024-05-23 15:17:57.000000000","message":"if we wanted to do this then we would write it as\n\nself.assertIs\n\nhttps://docs.python.org/3/library/unittest.html#unittest.TestCase.assertIs\n\nwe use unittest not pytest so this is not the correct syntax to use in our tests","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6784af6b1374838779e9e4887a786a3bc6a7979","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            nova_fixtures.OSAPIFixture(api_version\u003d\"v2.1\"))"},{"line_number":65,"context_line":"        assert isinstance(api_fixture, OSAPIFixture)"},{"line_number":66,"context_line":"        self.api \u003d api_fixture.admin_api"},{"line_number":67,"context_line":"        self.api.microversion \u003d \"2.14\"  # type: ignore"},{"line_number":68,"context_line":"        self._start_services()"},{"line_number":69,"context_line":"        Flavor(context\u003dself.context, **FLAVOR_FIXTURE).create()"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"a904fc1b_1ad6f633","line":67,"range":{"start_line":67,"start_character":32,"end_line":67,"end_character":38},"updated":"2024-06-05 14:23:20.000000000","message":"I think you used it to do service force-down only, right ?\nor is there any other reason too.","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6784af6b1374838779e9e4887a786a3bc6a7979","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _stop_compute_service("},{"line_number":96,"context_line":"            self, service_name: List[str] | str | None \u003d None):"},{"line_number":97,"context_line":"        \"\"\"Stop the compute service(s) and force down the service(s)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        :param service_name: The name of the compute service(s) to stop."}],"source_content_type":"text/x-python","patch_set":3,"id":"26ab60d2_12d23693","line":96,"range":{"start_line":96,"start_character":18,"end_line":96,"end_character":30},"updated":"2024-06-05 14:23:20.000000000","message":"here you meant host_name and not service_name\nservice_name will stay \u0027nova-compute\u0027, which is hard-coded later","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6784af6b1374838779e9e4887a786a3bc6a7979","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _stop_compute_service("},{"line_number":96,"context_line":"            self, service_name: List[str] | str | None \u003d None):"},{"line_number":97,"context_line":"        \"\"\"Stop the compute service(s) and force down the service(s)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        :param service_name: The name of the compute service(s) to stop."}],"source_content_type":"text/x-python","patch_set":3,"id":"777d6901_d2288d38","line":96,"range":{"start_line":96,"start_character":32,"end_line":96,"end_character":62},"updated":"2024-06-05 14:23:20.000000000","message":"this just seems very different to me, \nbut we support python 3.10, so its valid.","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6784af6b1374838779e9e4887a786a3bc6a7979","unresolved":true,"context_lines":[{"line_number":99,"context_line":"        :param service_name: The name of the compute service(s) to stop."},{"line_number":100,"context_line":"        If None, all compute services will be stopped."},{"line_number":101,"context_line":"        \"\"\""},{"line_number":102,"context_line":"        def _stop_compute_service(service_name: str, compute_service: Service):"},{"line_number":103,"context_line":"            \"\"\"Stop the compute service and force down the service"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"            :param service_name: The name of the compute service to stop."}],"source_content_type":"text/x-python","patch_set":3,"id":"b119be68_4b41be4a","line":102,"range":{"start_line":102,"start_character":12,"end_line":102,"end_character":33},"updated":"2024-06-05 14:23:20.000000000","message":"same name as parent, can we call it something else, like inner or just stop","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea537b3908d07159b9d0d244eae1755697e1e470","unresolved":true,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        if isinstance(service_name, str):"},{"line_number":114,"context_line":"            service_waiting_for_stop \u003d self.compute_services.get(service_name)"},{"line_number":115,"context_line":"            assert service_waiting_for_stop is not None"},{"line_number":116,"context_line":"            _stop_compute_service(service_name, service_waiting_for_stop)"},{"line_number":117,"context_line":"            self.api.force_down_service(service_name, \"nova-compute\", True)"},{"line_number":118,"context_line":"        elif isinstance(service_name, list):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7093d3d6_25b4e9ba","line":115,"updated":"2024-05-23 14:15:08.000000000","message":"This should be `self.assertSomething(...`","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6784af6b1374838779e9e4887a786a3bc6a7979","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            assert service_waiting_for_stop is not None"},{"line_number":116,"context_line":"            _stop_compute_service(service_name, service_waiting_for_stop)"},{"line_number":117,"context_line":"            self.api.force_down_service(service_name, \"nova-compute\", True)"},{"line_number":118,"context_line":"        elif isinstance(service_name, list):"},{"line_number":119,"context_line":"            for service_name in service_name:"},{"line_number":120,"context_line":"                service_waiting_for_stop \u003d self.compute_services.get("},{"line_number":121,"context_line":"                    service_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"21124537_78a78b21","line":118,"updated":"2024-06-05 14:23:20.000000000","message":"others did not commented on this, so I waited few days, but I am in doubt, so asking.\n\nif I understood correctly, that var service_name will hold host_name,\nI am not sure, in which scenario, it could be a list.\nso nova thinks our instance is present in more then one host.","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea537b3908d07159b9d0d244eae1755697e1e470","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            for service_name in service_name:"},{"line_number":120,"context_line":"                service_waiting_for_stop \u003d self.compute_services.get("},{"line_number":121,"context_line":"                    service_name)"},{"line_number":122,"context_line":"                assert service_waiting_for_stop is not None"},{"line_number":123,"context_line":"                _stop_compute_service(service_name, service_waiting_for_stop)"},{"line_number":124,"context_line":"        # Stop all compute services"},{"line_number":125,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da448bbd_a7918db3","line":122,"updated":"2024-05-23 14:15:08.000000000","message":"Same.","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea537b3908d07159b9d0d244eae1755697e1e470","unresolved":true,"context_lines":[{"line_number":135,"context_line":"        instance \u003d self._create_instance()"},{"line_number":136,"context_line":"        # Get the instance host"},{"line_number":137,"context_line":"        instance_host \u003d instance.get(\"OS-EXT-SRV-ATTR:host\")"},{"line_number":138,"context_line":"        assert isinstance(instance_host, str)"},{"line_number":139,"context_line":"        self._stop_compute_service(instance_host)"},{"line_number":140,"context_line":"        with mock.patch.object("},{"line_number":141,"context_line":"            self.conductor_service.manager.compute_task_mgr,"}],"source_content_type":"text/x-python","patch_set":3,"id":"b4d467ad_9c394b3d","line":138,"updated":"2024-05-23 14:15:08.000000000","message":"This shouldn\u0027t really need to be something you\u0027re testing for here. Was this left-over from writing the test such that it can/should be removed? (hint: it should be removed or changed to a `self.assert...` IMHO).","commit_id":"527b1ea1118585c5437132116f5c365c81f65ee4"}]}
