)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"76ecd52a11fa5eb2c53a9d22c7887f93f1f4a373","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"380fd2aa_f528928a","updated":"2022-07-08 13:04:22.000000000","message":"the content looks good but this will fail ci on pep8 issues","commit_id":"a34eb2deee5a028ce9fbac2f982db1f07f12e95c"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"36b638fce19fa9d96ba9a651553ee64304bacab7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"496a2d87_e11a12be","updated":"2022-07-15 15:05:42.000000000","message":"Great start! If you leverage the existing functional test framework, you can lose, like, half the code you have :) See inline.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34601560d9e74bac06c0154bd8d276c3835ed153","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d37549f4_845d934b","updated":"2022-07-19 07:50:41.000000000","message":"I think it worth to respin it to use the _create_server helper and to move the latest microversion usage to the top. But I\u0027m OK to keep this test using the mixing class.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d68e071f30609e79dee527b71e025c6a210b9d12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c39506cc_ac9d7aa6","updated":"2022-07-15 16:05:03.000000000","message":"If we want to make \"don\u0027t use helpers in regression tests a thing\" we can have that discussion, but I feel like you\u0027re presenting a personal preference as a constant of the universe. https://review.opendev.org/c/openstack/nova/+/812126 got approved this year, so clearly at least *some* cores aren\u0027t aware of this rule.\n\nI\u0027m keeping my -1 on here for visibility, if I\u0027m wrong and have just been out of the loop it can easily be overridden by another core. @Amit feel free to ignore my comments until someone else weighs in.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2b10faa3da0eaf69df8b5b04784437d949b4b9bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6b968b07_a3bd14e7","updated":"2022-07-12 12:07:15.000000000","message":"i just rebased this based on patchset 3 which was correct and fixed the followup patch to actully dpend on the latest version.\n\nso im still +2 but if i end up helping withthis more ill drop the +2 and leave it to two other core reviews to review.\n\nright now i have really just been helping with git and gerrit rather then authoring code changes in the patch.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"48a29d9a7d6c46c6a1ab8f5bf7833a646e0b7095","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8234ba0c_5a80e332","in_reply_to":"496a2d87_e11a12be","updated":"2022-07-15 15:55:12.000000000","message":"you are not ment to leave the exiting test framework when addign regresion tests.\nso they should not refact to do that.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"be04c2f49b642a98f82e65cbe32f3558340257fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d3ba1a97_acad8d06","updated":"2022-08-02 17:03:26.000000000","message":"lets proceed with this as is.","commit_id":"5904c7f993ac737d68456fc05adf0aaa7a6f3018"}],"nova/tests/functional/regressions/test_bug_1978983.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"76ecd52a11fa5eb2c53a9d22c7887f93f1f4a373","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Ericsson"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"10b2d9f1_e3add316","line":1,"updated":"2022-07-08 13:04:22.000000000","message":"this is fixed in the followup patch but you could fix it here if you want when you respine for the whitespaces isseus below.","commit_id":"a34eb2deee5a028ce9fbac2f982db1f07f12e95c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f9e827d2b3a55f804905ebed5f80bea47d645f4c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Ericsson"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"8fed7d15_ca7e7e7f","line":1,"in_reply_to":"10b2d9f1_e3add316","updated":"2022-07-12 09:55:58.000000000","message":"Done","commit_id":"a34eb2deee5a028ce9fbac2f982db1f07f12e95c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"1c2a64d80e47bd7c0a033d8eb8f8334141c97cee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Ericsson"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"ef389a96_0867f0bd","line":1,"in_reply_to":"10b2d9f1_e3add316","updated":"2022-07-14 06:40:46.000000000","message":"Done","commit_id":"a34eb2deee5a028ce9fbac2f982db1f07f12e95c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"76ecd52a11fa5eb2c53a9d22c7887f93f1f4a373","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        self.useFixture(nova_fixtures.HostNameWeigherFixture())"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # Start nova controller services."},{"line_number":44,"context_line":"        self.start_service(\u0027conductor\u0027)        "},{"line_number":45,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":1,"id":"214414de_7941151d","line":44,"updated":"2022-07-08 13:04:22.000000000","message":"if you install pre-commit it can automate fixing whitespace issues like these for you\n\nhttps://pre-commit.com/\n\ni belvie that the autopep8 tox enve woudl also fix it for you but the pre-commit way of running it is faster","commit_id":"a34eb2deee5a028ce9fbac2f982db1f07f12e95c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edc39bb1433b830d9882e4f24a421d3d2fea3827","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.useFixture(nova_fixtures.HostNameWeigherFixture())"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # Start nova controller services."},{"line_number":44,"context_line":"        self.start_service(\u0027conductor\u0027)        "},{"line_number":45,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":1,"id":"2d2a1ce7_5a508647","line":44,"in_reply_to":"214414de_7941151d","updated":"2022-07-12 07:42:49.000000000","message":"I addressed this myself in this revision","commit_id":"a34eb2deee5a028ce9fbac2f982db1f07f12e95c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edc39bb1433b830d9882e4f24a421d3d2fea3827","unresolved":true,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from asyncio import wait_for"},{"line_number":16,"context_line":"from multiprocessing.connection import wait"},{"line_number":17,"context_line":"from nova import context"},{"line_number":18,"context_line":"from nova import objects"}],"source_content_type":"text/x-python","patch_set":2,"id":"d3c7e5a6_b7f50498","line":15,"updated":"2022-07-12 07:42:49.000000000","message":"but the are not addressed so Amit can you update this patch to address them","commit_id":"5cc60169f5e6e05e1b282af8f3274c3874701e54"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"1c2a64d80e47bd7c0a033d8eb8f8334141c97cee","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from asyncio import wait_for"},{"line_number":16,"context_line":"from multiprocessing.connection import wait"},{"line_number":17,"context_line":"from nova import context"},{"line_number":18,"context_line":"from nova import objects"}],"source_content_type":"text/x-python","patch_set":2,"id":"75f9a772_755f33b0","line":15,"in_reply_to":"d3c7e5a6_b7f50498","updated":"2022-07-14 06:40:46.000000000","message":"Done","commit_id":"5cc60169f5e6e05e1b282af8f3274c3874701e54"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f9e827d2b3a55f804905ebed5f80bea47d645f4c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from asyncio import wait_for"},{"line_number":16,"context_line":"from multiprocessing.connection import wait"},{"line_number":17,"context_line":"from nova import context"},{"line_number":18,"context_line":"from nova import objects"}],"source_content_type":"text/x-python","patch_set":2,"id":"d638cdf4_d506d8ee","line":15,"in_reply_to":"d3c7e5a6_b7f50498","updated":"2022-07-12 09:55:58.000000000","message":"Done","commit_id":"5cc60169f5e6e05e1b282af8f3274c3874701e54"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"36b638fce19fa9d96ba9a651553ee64304bacab7","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    should be allowed to evacuate"},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def setUp(self):"},{"line_number":34,"context_line":"        super().setUp()"},{"line_number":35,"context_line":"        # Stub out external dependencies."},{"line_number":36,"context_line":"        self.useFixture(nova_fixtures.NeutronFixture(self))"}],"source_content_type":"text/x-python","patch_set":5,"id":"22985fea_5f4382d3","line":33,"updated":"2022-07-15 15:05:42.000000000","message":"This can be simplified dramatically. You don\u0027t need a setUp() at all if you inherit from _IntegratedTestBase. However that will force you to introduce a conditional around the CastAsCall fixture in that class. We can\u0027t use that fixture here because it will transform the instance stop cast into a call, and that will time out. So just have a class-level variable, call it CAST_AS_CALL or similar, default it to True, and wrap the use of the CastAsCall fixture in it. The in here, you just set it to False in the class.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"48a29d9a7d6c46c6a1ab8f5bf7833a646e0b7095","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    should be allowed to evacuate"},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def setUp(self):"},{"line_number":34,"context_line":"        super().setUp()"},{"line_number":35,"context_line":"        # Stub out external dependencies."},{"line_number":36,"context_line":"        self.useFixture(nova_fixtures.NeutronFixture(self))"}],"source_content_type":"text/x-python","patch_set":5,"id":"4af3b98d_296a4dd0","line":33,"in_reply_to":"22985fea_5f4382d3","updated":"2022-07-15 15:55:12.000000000","message":"-2\nthat is not something that they shoudl do.\n\nwe are not ment to be usnig _IntegratedTestBase any more for new test and regression test espically should not use it \n\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/functional/regressions/README.rst#writing-regression-tests\u003d\n\n\"\"\"These should be full stack tests which inherit from nova.test.TestCase directly. (This is to prevent coupling with other tests).\"\"\"","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34601560d9e74bac06c0154bd8d276c3835ed153","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    should be allowed to evacuate"},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def setUp(self):"},{"line_number":34,"context_line":"        super().setUp()"},{"line_number":35,"context_line":"        # Stub out external dependencies."},{"line_number":36,"context_line":"        self.useFixture(nova_fixtures.NeutronFixture(self))"}],"source_content_type":"text/x-python","patch_set":5,"id":"ced107d1_a39c04ca","line":33,"in_reply_to":"4af3b98d_296a4dd0","updated":"2022-07-19 07:50:41.000000000","message":"While I agree with the goal to keep regression tests independent as they are backported a lot, I don\u0027t feel this is a hard rule. Also I\u0027m not sure that _IntegratedTestBase makes it that much harder to backport a test. I think the most benefits are coming from having a separate file and separate base class.\n\nAs the test are currently written with the mixin class I think we should keep it. But I would not block on a regression test that is based on the _IntegratedTestBase either.\n\nBtw, I don\u0027t like CastAsCall in functional tests as it deeply change how nova behaves. (I do have a patch somewhere that adds the conditional Artom mentions)","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"36b638fce19fa9d96ba9a651553ee64304bacab7","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        self.api \u003d api_fixture.admin_api"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        self.src \u003d self._start_compute(host\u003d\u0027host1\u0027)"},{"line_number":50,"context_line":"        self.dest \u003d self._start_compute(host\u003d\u0027host2\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_evacuate_instance(self):"},{"line_number":53,"context_line":"        \"\"\"Evacuating a server"}],"source_content_type":"text/x-python","patch_set":5,"id":"a92ad1e5_fc35b00a","line":50,"updated":"2022-07-15 15:05:42.000000000","message":"You actually don\u0027t even need to start a second compute - the one started by the _IntegratedTestBase) is enough. The evacuation fails before it gets to scheduling.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"48a29d9a7d6c46c6a1ab8f5bf7833a646e0b7095","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        self.api \u003d api_fixture.admin_api"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        self.src \u003d self._start_compute(host\u003d\u0027host1\u0027)"},{"line_number":50,"context_line":"        self.dest \u003d self._start_compute(host\u003d\u0027host2\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_evacuate_instance(self):"},{"line_number":53,"context_line":"        \"\"\"Evacuating a server"}],"source_content_type":"text/x-python","patch_set":5,"id":"76fbd6de_8c17038b","line":50,"in_reply_to":"a92ad1e5_fc35b00a","updated":"2022-07-15 15:55:12.000000000","message":"again which you cant use in regression test so they need to keep this as is","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"36b638fce19fa9d96ba9a651553ee64304bacab7","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        body \u003d {\u0027server\u0027: self._build_server()}"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        server \u003d self.api.post_server(body)"},{"line_number":58,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":59,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"f1ba6180_40712de7","line":57,"updated":"2022-07-15 15:05:42.000000000","message":"Use the _create_server() helper. In this case, because the test class will be using microversion \u003d \u0027latest\u0027, you\u0027ll have to pass it network\u003d\u0027none\u0027. The helper will also do the waiting for you.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4c8eaa145604326a55ef2b178fc33e44059bd811","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        body \u003d {\u0027server\u0027: self._build_server()}"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        server \u003d self.api.post_server(body)"},{"line_number":58,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":59,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"e4dbf29f_a475d9cd","line":57,"in_reply_to":"5db2c320_d7b8d48f","updated":"2022-07-21 20:06:09.000000000","message":"Ack","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34601560d9e74bac06c0154bd8d276c3835ed153","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        body \u003d {\u0027server\u0027: self._build_server()}"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        server \u003d self.api.post_server(body)"},{"line_number":58,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":59,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5db2c320_d7b8d48f","line":57,"in_reply_to":"f1ba6180_40712de7","updated":"2022-07-19 07:50:41.000000000","message":"+1","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"36b638fce19fa9d96ba9a651553ee64304bacab7","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # stop host1 compute service"},{"line_number":64,"context_line":"        self.src.stop()"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf5e0057_e4599165","line":62,"updated":"2022-07-15 15:05:42.000000000","message":"This can be moved into the class as just microversion \u003d \u0027latest\u0027","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"2c49836a39290c7adbc54df785b83de7033164eb","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # stop host1 compute service"},{"line_number":64,"context_line":"        self.src.stop()"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"300cb48a_90cf9023","line":62,"in_reply_to":"4d7ce2b4_67514092","updated":"2022-07-25 09:09:44.000000000","message":"Done","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34601560d9e74bac06c0154bd8d276c3835ed153","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # stop host1 compute service"},{"line_number":64,"context_line":"        self.src.stop()"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4d7ce2b4_67514092","line":62,"in_reply_to":"bf5e0057_e4599165","updated":"2022-07-19 07:50:41.000000000","message":"+1","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34601560d9e74bac06c0154bd8d276c3835ed153","unresolved":true,"context_lines":[{"line_number":68,"context_line":"        server \u003d self._wait_for_server_parameter("},{"line_number":69,"context_line":"            server, {\u0027OS-EXT-STS:task_state\u0027: \u0027powering-off\u0027})"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        self.assertEqual(\u0027powering-off\u0027, server[\u0027OS-EXT-STS:task_state\u0027])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        # FIXME(auniyal): As compute service is down in source node"},{"line_number":74,"context_line":"        # instance is stuck at powering-off, evacuation fails with"}],"source_content_type":"text/x-python","patch_set":5,"id":"03ed36e3_56f47c4e","line":71,"updated":"2022-07-19 07:50:41.000000000","message":"nit: This is redundant. The waiter at L68 already ensures this.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4c8eaa145604326a55ef2b178fc33e44059bd811","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        server \u003d self._wait_for_server_parameter("},{"line_number":69,"context_line":"            server, {\u0027OS-EXT-STS:task_state\u0027: \u0027powering-off\u0027})"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        self.assertEqual(\u0027powering-off\u0027, server[\u0027OS-EXT-STS:task_state\u0027])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        # FIXME(auniyal): As compute service is down in source node"},{"line_number":74,"context_line":"        # instance is stuck at powering-off, evacuation fails with"}],"source_content_type":"text/x-python","patch_set":5,"id":"2a1d334f_f8bf1e41","line":71,"in_reply_to":"03ed36e3_56f47c4e","updated":"2022-07-21 20:06:09.000000000","message":"Ack","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"36b638fce19fa9d96ba9a651553ee64304bacab7","unresolved":true,"context_lines":[{"line_number":79,"context_line":"            client.OpenStackApiException,"},{"line_number":80,"context_line":"            self._evacuate_server,"},{"line_number":81,"context_line":"            server,"},{"line_number":82,"context_line":"            expected_host\u003dself.dest.host)"},{"line_number":83,"context_line":"        self.assertEqual(409, ex.response.status_code)"}],"source_content_type":"text/x-python","patch_set":5,"id":"69424d70_c644f4d6","line":82,"updated":"2022-07-15 15:05:42.000000000","message":"You can lose this expected_host as well.","commit_id":"199ae7c910a4711eab7f3faee238201d40a80f0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"35cbfa3b51f942cce82040798eb3089d42436a66","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        server \u003d self._create_server()"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":57,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":58,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"900669c2_78e58b29","line":56,"updated":"2022-07-25 08:42:35.000000000","message":"nit: you can move this top of _create_server and add networks\u003d[] to _create_server","commit_id":"6a6547129fe33f1654f274d40a46d28b850da7e9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"2c49836a39290c7adbc54df785b83de7033164eb","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        server \u003d self._create_server()"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":57,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":58,"context_line":"        self.assertEqual(\u0027host1\u0027, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"802a6cc8_b7cfa4e8","line":56,"in_reply_to":"900669c2_78e58b29","updated":"2022-07-25 09:09:44.000000000","message":"Fixed","commit_id":"6a6547129fe33f1654f274d40a46d28b850da7e9"}]}
