)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"c2a64fddb0ede27e588d9adbe41b7c62582ea210","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d4145545_a43cadbb","updated":"2025-05-20 10:07:31.000000000","message":"recheck","commit_id":"491130b3d8035e20297322d6d749f0e7a89c8007"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"15842e9639dd4afb3c8e9685536dc48f24ed874b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6178ed9a_c2d806e8","updated":"2025-05-20 15:10:03.000000000","message":"Before merging this we will need to make sure we update the nova api version in the operators jobs too.","commit_id":"64627c6d87b9fa8a8f4b7e1863c019eea7eb5300"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"e5d34f2a0c1b5c6c62be96c8f399d78354a6746e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e5d83534_60c386ce","updated":"2025-05-20 14:57:39.000000000","message":"LGTM","commit_id":"64627c6d87b9fa8a8f4b7e1863c019eea7eb5300"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3a4550f31c48b9b9222d1e758dccd73fc95694b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"974e1351_2954d88a","updated":"2025-05-20 12:18:26.000000000","message":"check experimental","commit_id":"64627c6d87b9fa8a8f4b7e1863c019eea7eb5300"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"d25f8f3493575f3bb847f9490004a9f7da50346f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e5f6b4d5_a176c2d0","updated":"2025-05-28 06:56:34.000000000","message":"Changing my vote ! Needs discussion during IRC meeting on how to test microversion","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"7ce93391bd27a11a6f85adb0478b9c2d9e69c61a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"482fa03e_eb07934b","updated":"2025-05-26 18:10:12.000000000","message":"I think that we might need to discuss about the microversion testing before proceed with this change. Maybe we could discuss in our community meeting or on irc channel.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"d0295a0abab814c489cfd5cd2a43922311c8251a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"71e737d8_de63cbe6","updated":"2025-05-21 15:10:16.000000000","message":"LGTM","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"1932d077ee083f8f7643fe2add28b5ca3511a08f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a4d6d8af_9cca2e45","updated":"2025-05-21 11:53:51.000000000","message":"check experimental","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"fd039ccd3024ad294c22c8a429c7763ddf2f2776","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2f906969_4bd518dd","updated":"2025-05-22 10:41:33.000000000","message":"forgot to vote","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"e7eda997f7d0497c7ff2cc3bf12f996f8c7b5796","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"39b0ff9d_12349475","updated":"2025-05-22 10:41:12.000000000","message":"lgtm, from the tempest logs it seems that the microversion is set correctly:\n```\n2025-05-21 10:33:43.144 102217 INFO tempest.lib.common.rest_client [req-e84252f7-ab0a-46ae-8c5e-ee50506f5d9b req-e84252f7-ab0a-46ae-8c5e-ee50506f5d9b ] Request (TestExecuteStrategies:test_execute_host_maintenance_strategy): 200 GET https://158.69.66.64/compute/v2.1/servers/detail 0.059s\n2025-05-21 10:33:43.144 102217 DEBUG tempest.lib.common.rest_client [req-e84252f7-ab0a-46ae-8c5e-ee50506f5d9b req-e84252f7-ab0a-46ae-8c5e-ee50506f5d9b ] Request - Headers: {\u0027Content-Type\u0027: \u0027application/json\u0027, \u0027Accept\u0027: \u0027application/json\u0027, \u0027X-OpenStack-Nova-API-Version\u0027: \u00272.74\u0027, \u0027X-Auth-Token\u0027: \u0027\u003comitted\u003e\u0027}\n        Body: None\n    Response - Headers: {\u0027date\u0027: \u0027Wed, 21 May 2025 10:33:43 GMT\u0027, \u0027server\u0027: \u0027Apache/2.4.58 (Ubuntu)\u0027, \u0027content-length\u0027: \u002715\u0027, \u0027content-type\u0027: \u0027application/json\u0027, \u0027openstack-api-version\u0027: \u0027compute 2.74\u0027, \u0027x-openstack-nova-api-version\u0027: \u00272.74\u0027, \u0027vary\u0027: \u0027OpenStack-API-Version,X-OpenStack-Nova-API-Version\u0027, \u0027x-openstack-request-id\u0027: \u0027req-e84252f7-ab0a-46ae-8c5e-ee50506f5d9b\u0027, \u0027x-compute-request-id\u0027: \u0027req-e84252f7-ab0a-46ae-8c5e-ee50506f5d9b\u0027, \u0027connection\u0027: \u0027close\u0027, \u0027status\u0027: \u0027200\u0027, \u0027content-location\u0027: \u0027https://158.69.66.64/compute/v2.1/servers/detail\u0027}\n ```\n https://5f0da4d4ac73630ff606-1635a47266c72ea76f240926bd5c4cc0.ssl.cf5.rackcdn.com/openstack/6d66682402034ce9a453c4447fe44be2/controller/logs/tempest_log.txt","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"f7a43891e45cd2273228fea13bf58ced58b5e8c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"21b96735_253f00c5","updated":"2025-05-26 07:32:07.000000000","message":"lgtm, thank you!","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"d25f8f3493575f3bb847f9490004a9f7da50346f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bcc7d02a_09f82ec8","in_reply_to":"482fa03e_eb07934b","updated":"2025-05-28 06:56:34.000000000","message":"Good point doug!","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"60b8db05ee32957d1efdd2f34bbbac527201b936","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bc8d65e0_e85c5646","updated":"2025-05-29 13:28:09.000000000","message":"recheck","commit_id":"1ac67472dbbfefb01d30bdf5a2488335bc40035a"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"9d66160b0477b5e1f7360f0aa5b1a8faacbb034c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7311edd6_ab1ff071","updated":"2025-05-30 16:07:17.000000000","message":"recheck","commit_id":"4e90e352a4ab9629c5a894773733632d7437f9d2"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"646451741bb7ced75aae0d1879469061aa8d3ad1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c92ecc0b_10e05af4","updated":"2025-06-02 07:36:05.000000000","message":"lgtm","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"cfa6bb30c78c15e30557c04ca9d5f5a5d9442129","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b9ab6b72_94f30014","updated":"2025-06-03 10:24:38.000000000","message":"looks good to me","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"6ebb5ee8a3f405d7dce235d3216bcbb1c1f0a3c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ee432f71_dc43f15c","updated":"2025-06-06 19:08:58.000000000","message":"I think that we all agree with this approach. This is a very important change to merge, since it will make other tests more simple and stable. There are tests that are migrating instances in order to build the desired initial scenario before running the audit.","commit_id":"b95caa13ef4985917527fb5df739f959168da2a7"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"7ba7f5cfe4ee72d6ea1a8a7c60717428725aad64","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"c5241bb8_c4fc3110","updated":"2025-06-09 05:19:23.000000000","message":"lgtm!","commit_id":"b95caa13ef4985917527fb5df739f959168da2a7"}],"watcher_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"98e5c6f249fa85e27d39acfb4ea8e76bd940e74c","unresolved":true,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _live_migrate(self, server_id, target_host, state):"},{"line_number":211,"context_line":"        self._migrate_server_to(server_id, target_host)"},{"line_number":212,"context_line":"        waiters.wait_for_server_status(self.servers_client, server_id, state)"},{"line_number":213,"context_line":"        migration_list \u003d (self.mgr.migrations_client.list_migrations()"},{"line_number":214,"context_line":"                          [\u0027migrations\u0027])"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"66ef8f16_64c63e8d","line":212,"updated":"2025-05-20 11:30:12.000000000","message":"We also need to update this line\n```suggestion\n                waiters.wait_for_server_status(self.os_admin.servers_client, server_id, state)\n```","commit_id":"491130b3d8035e20297322d6d749f0e7a89c8007"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6178b7ddb8cb32b98a0fc7744b36605da1cfd46b","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _live_migrate(self, server_id, target_host, state):"},{"line_number":211,"context_line":"        self._migrate_server_to(server_id, target_host)"},{"line_number":212,"context_line":"        waiters.wait_for_server_status(self.servers_client, server_id, state)"},{"line_number":213,"context_line":"        migration_list \u003d (self.mgr.migrations_client.list_migrations()"},{"line_number":214,"context_line":"                          [\u0027migrations\u0027])"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1336e6a5_f3cd4be1","line":212,"in_reply_to":"66ef8f16_64c63e8d","updated":"2025-05-20 12:18:15.000000000","message":"Thanks!","commit_id":"491130b3d8035e20297322d6d749f0e7a89c8007"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"4fd5e9e9a3b07048c4040726f8e5b74234b95435","unresolved":true,"context_lines":[{"line_number":277,"context_line":"            validation_resources \u003d None"},{"line_number":278,"context_line":"            if run_command:"},{"line_number":279,"context_line":"                validation_resources \u003d self.get_test_validation_resources("},{"line_number":280,"context_line":"                    self.os_primary)"},{"line_number":281,"context_line":"                validatable \u003d True"},{"line_number":282,"context_line":"                script \u003d \u0027\u0027\u0027"},{"line_number":283,"context_line":"                         #!/bin/sh"}],"source_content_type":"text/x-python","patch_set":1,"id":"d548f160_66bf0990","line":280,"updated":"2025-05-20 10:39:09.000000000","message":"I can make this patch works only when changing this line to also use self.os_admin\n```suggestion\n                    self.os_admin)\n```","commit_id":"491130b3d8035e20297322d6d749f0e7a89c8007"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6178b7ddb8cb32b98a0fc7744b36605da1cfd46b","unresolved":false,"context_lines":[{"line_number":277,"context_line":"            validation_resources \u003d None"},{"line_number":278,"context_line":"            if run_command:"},{"line_number":279,"context_line":"                validation_resources \u003d self.get_test_validation_resources("},{"line_number":280,"context_line":"                    self.os_primary)"},{"line_number":281,"context_line":"                validatable \u003d True"},{"line_number":282,"context_line":"                script \u003d \u0027\u0027\u0027"},{"line_number":283,"context_line":"                         #!/bin/sh"}],"source_content_type":"text/x-python","patch_set":1,"id":"87fe896e_310bd551","line":280,"in_reply_to":"d548f160_66bf0990","updated":"2025-05-20 12:18:15.000000000","message":"Done","commit_id":"491130b3d8035e20297322d6d749f0e7a89c8007"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"7ce93391bd27a11a6f85adb0478b9c2d9e69c61a","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        super(manager.ScenarioTest, cls).skip_checks()"},{"line_number":87,"context_line":"        if not CONF.service_available.watcher:"},{"line_number":88,"context_line":"            raise cls.skipException(\u0027Watcher support is required\u0027)"},{"line_number":89,"context_line":"        api_version_utils.check_skip_with_microversion("},{"line_number":90,"context_line":"            cls.compute_min_microversion,"},{"line_number":91,"context_line":"            cls.compute_max_microversion,"},{"line_number":92,"context_line":"            CONF.compute.min_microversion,"}],"source_content_type":"text/x-python","patch_set":3,"id":"8870353e_37942637","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":55},"updated":"2025-05-26 18:10:12.000000000","message":"isn\u0027t api_version_utils.check_skip_with_microversion for compute api already checked in parent\u0027s skip_checks() method?","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"e231df797443e6fbdd7e33807813d2cb3e566ad8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        super(manager.ScenarioTest, cls).skip_checks()"},{"line_number":87,"context_line":"        if not CONF.service_available.watcher:"},{"line_number":88,"context_line":"            raise cls.skipException(\u0027Watcher support is required\u0027)"},{"line_number":89,"context_line":"        api_version_utils.check_skip_with_microversion("},{"line_number":90,"context_line":"            cls.compute_min_microversion,"},{"line_number":91,"context_line":"            cls.compute_max_microversion,"},{"line_number":92,"context_line":"            CONF.compute.min_microversion,"}],"source_content_type":"text/x-python","patch_set":3,"id":"6ec60d51_bada8232","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":55},"in_reply_to":"32afcfab_13f05613","updated":"2025-05-29 07:58:20.000000000","message":"Actually, I realized we were not calling the skip_check of the base class properly. I fixed it also.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"123cdfee567e76842e7e63f078b84cd1b152f2b7","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        super(manager.ScenarioTest, cls).skip_checks()"},{"line_number":87,"context_line":"        if not CONF.service_available.watcher:"},{"line_number":88,"context_line":"            raise cls.skipException(\u0027Watcher support is required\u0027)"},{"line_number":89,"context_line":"        api_version_utils.check_skip_with_microversion("},{"line_number":90,"context_line":"            cls.compute_min_microversion,"},{"line_number":91,"context_line":"            cls.compute_max_microversion,"},{"line_number":92,"context_line":"            CONF.compute.min_microversion,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c0a31252_db6ec9bd","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":55},"in_reply_to":"8870353e_37942637","updated":"2025-05-27 16:25:46.000000000","message":"You are correct, it\u0027s in the base class. I will remove it.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f11e8bbf1f66ad6c1df0c6c168f2114bec2767b6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        super(manager.ScenarioTest, cls).skip_checks()"},{"line_number":87,"context_line":"        if not CONF.service_available.watcher:"},{"line_number":88,"context_line":"            raise cls.skipException(\u0027Watcher support is required\u0027)"},{"line_number":89,"context_line":"        api_version_utils.check_skip_with_microversion("},{"line_number":90,"context_line":"            cls.compute_min_microversion,"},{"line_number":91,"context_line":"            cls.compute_max_microversion,"},{"line_number":92,"context_line":"            CONF.compute.min_microversion,"}],"source_content_type":"text/x-python","patch_set":3,"id":"32afcfab_13f05613","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":55},"in_reply_to":"c0a31252_db6ec9bd","updated":"2025-05-28 17:22:54.000000000","message":"Done","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"7ce93391bd27a11a6f85adb0478b9c2d9e69c61a","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"ab1f46f8_45199095","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"updated":"2025-05-26 18:10:12.000000000","message":"The min compute version in watcher is 2.56 today. If we move tempest plugin min version to 2.74, we will stop testing with the minimal required version in most of the scenario tests. 2.74 microversion is from Train release, which is also a EOL release. If we only test with \u003e\u003d 2.74, maybe we should also increase watcher\u0027s minimal version.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"27a5477b0fd5f8470a5de3f588c52f3c0b7f7eee","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"e403ff39_a4908461","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"218091cb_050f5848","updated":"2025-05-28 16:39:15.000000000","message":"WRT the AZ approach, my understanding is that, on each test we would create an AZ, would add all the hypervisors and then we would create the instances with `availability_zone: az-name:host` option. Finally, we would remove the AZ in the cleanup, correct?\n\nIn my opinion, setting the compute_min_version to 2.74 (or 2.79 if we prefer) while keeping api versionto 2.56 inwatcher is not reducing test coverage for watcher at all and the AZ approach is complicating the implementation, but seems doable.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"4e96c9bf653534ccc5088b6406b6dc32164006b2","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"218091cb_050f5848","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"71280645_748cd171","updated":"2025-05-28 14:36:09.000000000","message":"Thanks for the clarification.\n\nI may be wrong, but i guess this parameter or the CONF.compute.min_microversion is only used to set the minimal version that the watcher tempest plugin uses when doing direct calls to nova to create instances. However, watcher will keep using version 2.56 or whatever declared in https://opendev.org/openstack/watcher/src/commit/035e6584c78e2b23a3afef8aaa1ff7696ab9f684/watcher/common/clients.py#L44 .\n\nSo i.e., when running the tempest test in a epoxy environment (max 2.100):\n- tempest would use 2.74 in the create_server, etc.. for the tests which has the compute_min_version.\n- watcher would keep using 2.56 when calling nova.\n\nSo, IIUC we\u0027d still be testing that watcher works with the 2.56 version of nova.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"60b8db05ee32957d1efdd2f34bbbac527201b936","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"b2819dec_b175ad39","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"71280645_748cd171","updated":"2025-05-29 13:28:09.000000000","message":"Thanks for the clarification.\n\nIIUC this parameter or the CONF.compute.min_microversion is only used to set the minimal version that the watcher tempest plugin uses when doing direct calls to nova to create instances. However, watcher will keep using version 2.56 or whatever declared in https://opendev.org/openstack/watcher/src/commit/035e6584c78e2b23a3afef8aaa1ff7696ab9f684/watcher/common/clients.py#L44 .\n\nSo i.e., when running the tempest test in a epoxy environment (max 2.100), tempest would use 2.74 in the create_server, etc.. for the tests which has the min_compute_","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b34221a02a8a0b99c11517c788dc8e165f94541","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"debfc590_bab526f6","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"978d2f56_d107c301","updated":"2025-05-28 11:20:17.000000000","message":"im conflicted, on one hand we likely should have 2 version fo this test.\none the uses the newer api to boot with a prefered host and a second variation that uses the older way to do that by usign the AZ files and passing AZ:host as the az\n\non the ohter hand there is no version fo openstack that is still maintained that does not supprot 2.74. 2.74 was part of train which is very old at this point\n\n\nso i think we can proceed with just using the newer api and not try and support pre-train clouds.\n\nby the way you say \"The min compute version in watcher is 2.56 today.\" That is because of https://docs.openstack.org/watcher/latest/configuration/watcher.html#nova_client.api_version, but that existing as a config option is a massive anti-pattern.\n\nMicroversion should never be user-configurable within a service, and there should not be a minimum for the watcher project as a whole. Each call to Nova should have its own microversion, and it is unsafe to use the same one for everything and then bump it periodically like this. It will result in changing api behavior for all calls, which the code may or may not handle.\n\nI had been grouping the api microversion rewrite with moving to the sdk but the only change I want to see made to that config option long term is deleting it.\nwe could bump it in the very short term, but if we do that, we should bump to a release boundary which would be 2.79 train. if we do that we should deprecate the option for removal as well. that applies euqially to all the ohter api_version config option in watcher.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"123cdfee567e76842e7e63f078b84cd1b152f2b7","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"978d2f56_d107c301","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"ab1f46f8_45199095","updated":"2025-05-27 16:25:46.000000000","message":"Some notes:\n- As 2.74 is in the range 2.56-latest, all the jobs will run in all the supported releases. It would only skip them if we run the tempest plugin in an openstack installation which a max version of \u003c 2.74 (stein). I added the check just as a security measure in case we want to run other tests, maybe api ones in a old deployment, given that we are maintining 2.56 as minimal.\n- I also proposed to bump minimal version in watcher jobs in https://review.opendev.org/c/openstack/watcher/+/950387 but I was asked to implement the api version to use on the nova api client calls of the watcher-tempest-plugin.\n- Something that I like from the approach of setting the min version in the plugin is that we don\u0027t depend on the job definition for this patch to work, so even if we update the version in the watcher job, i think it\u0027s a good thing to define min version per test (or per call if we prefer, although i think that\u0027d be complicating it too much). Otherwise, we need to coordinate changes of the tempest config in the different deployment tools used to deploy watcher and run tempest.\n- Said this, I\u0027m fine if we prefer to update min version in tempest config and remove the skip logic or setting minimal per-test.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"61b6e60509b84ca66b5622e7dc886bf17522296c","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"c9ccdebb_a6c70b37","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"b2819dec_b175ad39","updated":"2025-06-03 10:39:45.000000000","message":"regarding the az approch no.\n\nwe would not create a az in the test\nhost are alwasy in an az either explcitly or in the defautl nova az if not added to any specific az.\n\nso if we took the availability_zone: az-name:host approch we would not create any az we would jsut specify the current az of the host.\n\nthere is also some miscomunication\n\nwhen i said we would round up to the nearest release i was referign to \n\nhttps://docs.openstack.org/watcher/latest/configuration/watcher.html#nova_client.api_version\n\nfor the tempest test, we should use 2.74 as the constant.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6ac601dfa723bca5eba5bcfb56b701ea475520c5","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"57f4dd29_492714f0","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"c9ccdebb_a6c70b37","updated":"2025-06-03 11:17:28.000000000","message":"Acknowledged","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e11c009a911d0c59e671b3d1ab9a4cd240c23a7f","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"71280645_748cd171","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"debfc590_bab526f6","updated":"2025-05-28 11:52:59.000000000","message":"Agree that this config option should be deprecated.\nI actually pointed that 2.56 is the minimal because it is written in the code:\nhttps://opendev.org/openstack/watcher/src/commit/035e6584c78e2b23a3afef8aaa1ff7696ab9f684/watcher/common/clients.py#L44\nIn the end, it was defined as minimal due to nova migration API updates, to acept destination host as parameter, which is needed for most of the solutions proposed by watcher.\nI agree that is dangerous to keep raising that minimal version every time, but I believe that there is no way to run away from a hardcoded minimal, since the most importante feature (server migrate) depends on it.\nI was raising here that this change is affecting lots of tests, which are will now testing 2.74 and not the the minimal 2.56 anymore, which is declared as minimal.\nSince it is a hardcoded version, we are not testing against any other too.\nNot against moving to 2.74 here (or 2.79) - I just think that we should sync the testing with the minimal version in Watcher.\nMakes sense?","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f11e8bbf1f66ad6c1df0c6c168f2114bec2767b6","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                time.sleep(30)"},{"line_number":283,"context_line":"                retry -\u003d 1"},{"line_number":284,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":285,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":286,"context_line":"            # make sure we have one node on each compute."},{"line_number":287,"context_line":"            # This requires Nova API version 2.74"},{"line_number":288,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":289,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":290,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a9acc78_50edd2e9","line":287,"range":{"start_line":285,"start_character":0,"end_line":287,"end_character":48},"in_reply_to":"e403ff39_a4908461","updated":"2025-05-28 17:22:54.000000000","message":"You are correct, setting the min api in tempest is not going to affect the configured version in Watcher, so it\u0027s still going to test the 2.56. In the end it is just only confusing, since we have 2 version not in sync.\nI think that we can keep the 2.79 (in favor of 2.74 feature used here), if Sean also agree. We can also add this information somewhere in the tempest plugin, to clarify that this api does not reflect on watcher.","commit_id":"af7b3b74bb348bd7c7ff8b2943bd30ac72996215"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"317c4b471387fed049808f12c0ef9886205dc239","unresolved":true,"context_lines":[{"line_number":278,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":279,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":280,"context_line":"            # make sure we have one node on each compute."},{"line_number":281,"context_line":"            # This requires Nova API version 2.74 of higher."},{"line_number":282,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":283,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":284,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":6,"id":"bd9033fb_a1bdb5b7","line":281,"updated":"2025-05-30 16:37:36.000000000","message":"nit\n```suggestion\n            # This requires Nova API version 2.74 or higher.\n```","commit_id":"4e90e352a4ab9629c5a894773733632d7437f9d2"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"f999f5c76574d0d9705e00cd746867653c088908","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            self.assertNotEqual(0, retry)"},{"line_number":279,"context_line":"            # We enforce the compute node where we create the instance to"},{"line_number":280,"context_line":"            # make sure we have one node on each compute."},{"line_number":281,"context_line":"            # This requires Nova API version 2.74 of higher."},{"line_number":282,"context_line":"            kwargs_server \u003d {\u0027host\u0027: node[\u0027host\u0027]}"},{"line_number":283,"context_line":"            # In case we want to run commands we will be injecting it via"},{"line_number":284,"context_line":"            # user_data which requires to setup the instance as validatable"}],"source_content_type":"text/x-python","patch_set":6,"id":"4e13fd50_c7bbe034","line":281,"in_reply_to":"bd9033fb_a1bdb5b7","updated":"2025-06-03 11:18:06.000000000","message":"Done","commit_id":"4e90e352a4ab9629c5a894773733632d7437f9d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"61b6e60509b84ca66b5622e7dc886bf17522296c","unresolved":true,"context_lines":[{"line_number":48,"context_line":"# used in tests which use create_one_instance_per_host."},{"line_number":49,"context_line":"# Nota that it will not affect the version of the Nova API used by"},{"line_number":50,"context_line":"# Watcher, only the version used by tempest when used from those tests."},{"line_number":51,"context_line":"NOVA_API_VERSION_CREATE_WITH_HOST \u003d \u00272.79\u0027"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class BaseInfraOptimScenarioTest(manager.ScenarioTest):"}],"source_content_type":"text/x-python","patch_set":7,"id":"b6f2acbb_799c7ef1","line":51,"updated":"2025-06-03 10:39:45.000000000","message":"lest set this ti 2.74 and then we can adress the other issues in other patches.","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6ac601dfa723bca5eba5bcfb56b701ea475520c5","unresolved":false,"context_lines":[{"line_number":48,"context_line":"# used in tests which use create_one_instance_per_host."},{"line_number":49,"context_line":"# Nota that it will not affect the version of the Nova API used by"},{"line_number":50,"context_line":"# Watcher, only the version used by tempest when used from those tests."},{"line_number":51,"context_line":"NOVA_API_VERSION_CREATE_WITH_HOST \u003d \u00272.79\u0027"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class BaseInfraOptimScenarioTest(manager.ScenarioTest):"}],"source_content_type":"text/x-python","patch_set":7,"id":"2a1124e0_c4b6e7fd","line":51,"in_reply_to":"b6f2acbb_799c7ef1","updated":"2025-06-03 11:17:28.000000000","message":"Done","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"61b6e60509b84ca66b5622e7dc886bf17522296c","unresolved":true,"context_lines":[{"line_number":107,"context_line":"    def setUp(self):"},{"line_number":108,"context_line":"        super(BaseInfraOptimScenarioTest, self).setUp()"},{"line_number":109,"context_line":"        self.useFixture(api_microversion_fixture.APIMicroversionFixture("},{"line_number":110,"context_line":"            compute_microversion\u003dself.compute_request_microversion))"},{"line_number":111,"context_line":"        self.useFixture(api_microversion_fixture.APIMicroversionFixture("},{"line_number":112,"context_line":"            placement_microversion\u003dCONF.placement.min_microversion))"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"c14c1b04_09eb91a1","line":110,"updated":"2025-06-03 10:39:45.000000000","message":"so this is part of the pattern that i said was incorrect.\nim just callign this out for refernce but its not valid ot have a single min version or version for all api calls to nova.\n\neach tiem we make a requst to nova we shoudl be sepcifyign the min version for that indivgual request.\n\nThat means the minimum version used for service create vs live migration vs server show shodl be set when making thos calls in the reslevent test.\n\nto fix this will require a lot of work so while we shoudl fix it we shouuld not try to fix it in this patch.","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6ac601dfa723bca5eba5bcfb56b701ea475520c5","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def setUp(self):"},{"line_number":108,"context_line":"        super(BaseInfraOptimScenarioTest, self).setUp()"},{"line_number":109,"context_line":"        self.useFixture(api_microversion_fixture.APIMicroversionFixture("},{"line_number":110,"context_line":"            compute_microversion\u003dself.compute_request_microversion))"},{"line_number":111,"context_line":"        self.useFixture(api_microversion_fixture.APIMicroversionFixture("},{"line_number":112,"context_line":"            placement_microversion\u003dCONF.placement.min_microversion))"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"0de5c4b0_c2aa5748","line":110,"in_reply_to":"c14c1b04_09eb91a1","updated":"2025-06-03 11:17:28.000000000","message":"Acknowledged","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"7ba7f5cfe4ee72d6ea1a8a7c60717428725aad64","unresolved":true,"context_lines":[{"line_number":42,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":43,"context_line":"CONF \u003d config.CONF"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# Minimal Nova API required to specify the hosts used when creating"},{"line_number":46,"context_line":"# instances is 2.74.This constant will be used to set the minimal"},{"line_number":47,"context_line":"# version of nova to be used in tests which use create_one_instance_per_host."},{"line_number":48,"context_line":"# Note that it will not affect the version of the Nova API used by"},{"line_number":49,"context_line":"# Watcher, only the version used by tempest when used from those tests."},{"line_number":50,"context_line":"NOVA_API_VERSION_CREATE_WITH_HOST \u003d \u00272.74\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"class BaseInfraOptimScenarioTest(manager.ScenarioTest):"},{"line_number":54,"context_line":"    \"\"\"Base class for Infrastructure Optimization API tests.\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"690e8348_939437e7","line":51,"range":{"start_line":45,"start_character":0,"end_line":51,"end_character":1},"updated":"2025-06-09 05:19:23.000000000","message":"+1 for the detailed notes.","commit_id":"b95caa13ef4985917527fb5df739f959168da2a7"}],"watcher_tempest_plugin/tests/scenario/test_execute_basic_optim.py":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"d8cc531aafaafc11078cf99cc071002e330d0ce1","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    \"\"\"Tests for action plans\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # Minimal version required for _create_one_instance_per_host_with_statistic"},{"line_number":33,"context_line":"    compute_min_microversion \u003d base.NOVA_API_VERSION_CREATE_WITH_HOST"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    GOAL_NAME \u003d \"server_consolidation\""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"23bc6260_93b447ea","line":33,"updated":"2025-06-03 10:21:48.000000000","message":"should this be `self.compute_min_microversion`? Line 109 of the base clas uses that to set the microversion:\n```\n    self.useFixture(api_microversion_fixture.APIMicroversionFixture(\n       compute_microversion\u003dself.compute_request_microversion))\n            \n```","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"cfa6bb30c78c15e30557c04ca9d5f5a5d9442129","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \"\"\"Tests for action plans\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # Minimal version required for _create_one_instance_per_host_with_statistic"},{"line_number":33,"context_line":"    compute_min_microversion \u003d base.NOVA_API_VERSION_CREATE_WITH_HOST"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    GOAL_NAME \u003d \"server_consolidation\""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fde2c32f_8088577c","line":33,"in_reply_to":"23bc6260_93b447ea","updated":"2025-06-03 10:24:38.000000000","message":"nevermind, I missed that it\u0027s a class level attribute so it will work fine","commit_id":"9ec79a6d6d19ffb09fb873708898a282e290df32"}]}
