)]}'
{"nova/tests/functional/regressions/test_bug_1889108.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"23b501cfbf176e2e367500738c88ff1c9ecafc20","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super("},{"line_number":33,"context_line":"            VolAttachmentsDeletedDuringPreLiveMigrationRollback, self).setUp()"},{"line_number":34,"context_line":"        self._start_compute(host\u003d\"host1\")"},{"line_number":35,"context_line":"        self._start_compute(host\u003d\"host2\")"},{"line_number":36,"context_line":"        self.flavor \u003d self.api.get_flavors()[0]"},{"line_number":37,"context_line":"        self.cinder \u003d self.useFixture(nova_fixtures.CinderFixture(self))"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_ff082e29","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":41},"updated":"2020-07-28 09:26:46.000000000","message":"Ops I forgot to change this to only starting one additional compute, _IntegratedTestBase already provides one.","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"c3eb492a3cb45aadb1cb1d53fafad3c39c43b450","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.cinder \u003d self.useFixture(nova_fixtures.CinderFixture(self))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @mock.patch(\u0027nova.virt.fake.FakeDriver.pre_live_migration\u0027,"},{"line_number":40,"context_line":"                side_effect\u003dtest.TestingException)"},{"line_number":41,"context_line":"    def test_attachments_deleted_during_driver_pre_live_mig_failure("},{"line_number":42,"context_line":"            self, mock_plm):"},{"line_number":43,"context_line":"        volume_id \u003d nova_fixtures.CinderFixture.IMAGE_BACKED_VOL"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_81d6074f","line":40,"updated":"2020-07-27 18:12:32.000000000","message":"I guess my one nitty beef would be an exception that\u0027s closer to reality, so something like ConnectionError (if that\u0027s what\u0027s causing the problem).","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"70012f00a1549defed6c478bd06f427e16d724b8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.cinder \u003d self.useFixture(nova_fixtures.CinderFixture(self))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @mock.patch(\u0027nova.virt.fake.FakeDriver.pre_live_migration\u0027,"},{"line_number":40,"context_line":"                side_effect\u003dtest.TestingException)"},{"line_number":41,"context_line":"    def test_attachments_deleted_during_driver_pre_live_mig_failure("},{"line_number":42,"context_line":"            self, mock_plm):"},{"line_number":43,"context_line":"        volume_id \u003d nova_fixtures.CinderFixture.IMAGE_BACKED_VOL"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_3cc2be34","line":40,"in_reply_to":"9f560f44_1c21ba4e","updated":"2020-07-27 19:35:44.000000000","message":"I think I was really asking to help me understand the cause/fix better - by knowing the exact exception, it\u0027s easier to see where in the code the exception is raised.","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"bef4aa7c1ae4edeff0543b144fdf409595bc5453","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.cinder \u003d self.useFixture(nova_fixtures.CinderFixture(self))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @mock.patch(\u0027nova.virt.fake.FakeDriver.pre_live_migration\u0027,"},{"line_number":40,"context_line":"                side_effect\u003dtest.TestingException)"},{"line_number":41,"context_line":"    def test_attachments_deleted_during_driver_pre_live_mig_failure("},{"line_number":42,"context_line":"            self, mock_plm):"},{"line_number":43,"context_line":"        volume_id \u003d nova_fixtures.CinderFixture.IMAGE_BACKED_VOL"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_1c21ba4e","line":40,"in_reply_to":"9f560f44_81d6074f","updated":"2020-07-27 19:20:44.000000000","message":"The code triggering this bug is catching Exception so this seemed like a reasonable thing to do here. The actual exception I saw raised for this was something for BarbicanClient and not something that I think would add any value here tbh.","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"c3eb492a3cb45aadb1cb1d53fafad3c39c43b450","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # been removed. Only the dest attachment should be removed during the"},{"line_number":92,"context_line":"        # rollback of a pre_live_migration failure."},{"line_number":93,"context_line":"        attachments \u003d self.cinder.volume_to_attachment.get(volume_id)"},{"line_number":94,"context_line":"        self.assertNotIn(src_attachment_id, attachments.keys())"},{"line_number":95,"context_line":"        self.assertEqual(0, len(attachments))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c12c7f49","line":94,"updated":"2020-07-27 18:12:32.000000000","message":"Isn\u0027t this redundant, given the next line?","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"70012f00a1549defed6c478bd06f427e16d724b8","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # been removed. Only the dest attachment should be removed during the"},{"line_number":92,"context_line":"        # rollback of a pre_live_migration failure."},{"line_number":93,"context_line":"        attachments \u003d self.cinder.volume_to_attachment.get(volume_id)"},{"line_number":94,"context_line":"        self.assertNotIn(src_attachment_id, attachments.keys())"},{"line_number":95,"context_line":"        self.assertEqual(0, len(attachments))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_1ccb7a53","line":94,"in_reply_to":"9f560f44_3c6abe7f","updated":"2020-07-27 19:35:44.000000000","message":"Ah I see, yeah, that makes sense.","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"bef4aa7c1ae4edeff0543b144fdf409595bc5453","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # been removed. Only the dest attachment should be removed during the"},{"line_number":92,"context_line":"        # rollback of a pre_live_migration failure."},{"line_number":93,"context_line":"        attachments \u003d self.cinder.volume_to_attachment.get(volume_id)"},{"line_number":94,"context_line":"        self.assertNotIn(src_attachment_id, attachments.keys())"},{"line_number":95,"context_line":"        self.assertEqual(0, len(attachments))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_3c6abe7f","line":94,"in_reply_to":"9f560f44_c12c7f49","updated":"2020-07-27 19:20:44.000000000","message":"Yeah I\u0027m just leaving it here to update in the fix to \n\n    self.assertIn(src_attachment_id, attachments.keys())","commit_id":"2e6b39a79a5df0e9bd61d7c2a831c39a3a6828b0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import mock"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from nova import test"},{"line_number":15,"context_line":"from nova.tests import fixtures as nova_fixtures"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3fa2a69b","line":12,"updated":"2020-07-28 10:05:19.000000000","message":"nit: newline before this?","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from nova.tests.functional import integrated_helpers"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class VolAttachmentsDeletedDuringPreLiveMigrationRollback("},{"line_number":20,"context_line":"        integrated_helpers._IntegratedTestBase):"},{"line_number":21,"context_line":"    \"\"\"Regression test for bug 1889108."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    This regression test asserts that the original source volume attachments"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_7f489ecb","line":20,"range":{"start_line":19,"start_character":57,"end_line":20,"end_character":48},"updated":"2020-07-28 10:05:19.000000000","message":"style nit:\n\n  class VolAttachmentsDeletedDuringPreLiveMigrationRollback(\n      integrated_helpers._IntegratedTestBase\n  ):\n\n?","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    ADMIN_API \u003d True"},{"line_number":29,"context_line":"    microversion \u003d \u0027latest\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3fcbc653","line":29,"updated":"2020-07-28 10:05:19.000000000","message":"Comments on why we need would be helpful, particularly if you\u0027re backporting (are we reliant on microversions?). I guess you need something \u003e 2.31 or whatever for the BDM v2 stuff?","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"221e749a8f7eba642d16cf43e61caeb294297850","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    ADMIN_API \u003d True"},{"line_number":29,"context_line":"    microversion \u003d \u0027latest\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_94c58c91","line":29,"in_reply_to":"9f560f44_3fcbc653","updated":"2020-07-28 19:06:54.000000000","message":"I think unless you need a specific microversion, \u0027latest\u0027 is the way to go here, and it\u0027s perfectly backportable. For example, [1] backports to U just fine [2].\n\n[1] https://opendev.org/openstack/nova/src/branch/master/nova/tests/functional/libvirt/test_numa_live_migration.py#L41\n[2] https://review.opendev.org/#/c/725736/c","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super("},{"line_number":33,"context_line":"            VolAttachmentsDeletedDuringPreLiveMigrationRollback, self).setUp()"},{"line_number":34,"context_line":"        self._start_compute(host\u003d\"compute2\")"},{"line_number":35,"context_line":"        self.flavor \u003d self.api.get_flavors()[0]"},{"line_number":36,"context_line":"        self.cinder \u003d self.useFixture(nova_fixtures.CinderFixture(self))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_bfb7d6d8","line":33,"range":{"start_line":33,"start_character":12,"end_line":33,"end_character":69},"updated":"2020-07-28 10:05:19.000000000","message":"nit: I assume you\u0027re planning on backporting this, because you don\u0027t need this now? (whoooo, Python 3 yo!)\n\nThen again, you\u0027re already going to have to rework this because \u0027_IntegratedTestBase\u0027 is significantly less useful back in stein, so...","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super("},{"line_number":33,"context_line":"            VolAttachmentsDeletedDuringPreLiveMigrationRollback, self).setUp()"},{"line_number":34,"context_line":"        self._start_compute(host\u003d\"compute2\")"},{"line_number":35,"context_line":"        self.flavor \u003d self.api.get_flavors()[0]"},{"line_number":36,"context_line":"        self.cinder \u003d self.useFixture(nova_fixtures.CinderFixture(self))"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_5f1e7aba","line":34,"updated":"2020-07-28 10:05:19.000000000","message":"it\u0027d be nice(r) if you did this by overriding \u0027_setup_compute_service\u0027 with a comment that you need two compute nodes","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    @mock.patch(\u0027nova.virt.fake.FakeDriver.pre_live_migration\u0027,"},{"line_number":39,"context_line":"                side_effect\u003dtest.TestingException)"},{"line_number":40,"context_line":"    def test_attachments_deleted_during_driver_pre_live_mig_failure("},{"line_number":41,"context_line":"            self, mock_plm):"},{"line_number":42,"context_line":"        volume_id \u003d nova_fixtures.CinderFixture.IMAGE_BACKED_VOL"},{"line_number":43,"context_line":"        server \u003d {"},{"line_number":44,"context_line":"            \u0027name\u0027: \u0027test_bfv_pre_live_migration_failure\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_bfdcf618","line":41,"updated":"2020-07-28 10:05:19.000000000","message":"A summary docstring would be helpful. I can infer most of it from reading the inline comments (thanks!) but the high level summary is helpful","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        server \u003d {"},{"line_number":44,"context_line":"            \u0027name\u0027: \u0027test_bfv_pre_live_migration_failure\u0027,"},{"line_number":45,"context_line":"            \u0027imageRef\u0027: \u0027\u0027,"},{"line_number":46,"context_line":"            \u0027flavorRef\u0027: self.flavor[\u0027id\u0027],"},{"line_number":47,"context_line":"            \u0027block_device_mapping_v2\u0027: [{"},{"line_number":48,"context_line":"                \u0027source_type\u0027: \u0027volume\u0027,"},{"line_number":49,"context_line":"                \u0027destination_type\u0027: \u0027volume\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_7ff37e9f","line":46,"updated":"2020-07-28 10:05:19.000000000","message":"Can use \u0027_build_server\u0027 to get most of this prepopulated for us, then just tack on the bdm stuff","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                \u0027boot_index\u0027: 0,"},{"line_number":51,"context_line":"                \u0027uuid\u0027: volume_id"},{"line_number":52,"context_line":"            }],"},{"line_number":53,"context_line":"            \u0027networks\u0027: [],"},{"line_number":54,"context_line":"        }"},{"line_number":55,"context_line":"        server \u003d self.api.post_server({\u0027server\u0027: server})"},{"line_number":56,"context_line":"        self._wait_for_state_change(server, \u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ff5b0e84","line":53,"range":{"start_line":53,"start_character":24,"end_line":53,"end_character":27},"updated":"2020-07-28 10:05:19.000000000","message":"Is this a valid value? I thought it had to be a dict of networks to attach else none/auto?","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            server[\u0027id\u0027],"},{"line_number":76,"context_line":"            {\u0027os-migrateLive\u0027: {\u0027host\u0027: None, \u0027block_migration\u0027: \u0027auto\u0027}})"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # Wait until the migration errors out"},{"line_number":79,"context_line":"        self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Assert that we called the fake pre_live_migration method"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_df39ea41","line":78,"range":{"start_line":78,"start_character":42,"end_line":78,"end_character":45},"updated":"2020-07-28 10:05:19.000000000","message":"...due to our mocked out pre_live_migration call?","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"71f56d57f80f3c7a73b7b7411c16fdca1dfd4eb7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        # Fetch the attachment_id for use later once we have migrated"},{"line_number":71,"context_line":"        src_attachment_id \u003d list(attachments.keys())[0]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        # Migrate the instance"},{"line_number":74,"context_line":"        self.api.post_server_action("},{"line_number":75,"context_line":"            server[\u0027id\u0027],"},{"line_number":76,"context_line":"            {\u0027os-migrateLive\u0027: {\u0027host\u0027: None, \u0027block_migration\u0027: \u0027auto\u0027}})"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # Wait until the migration errors out"},{"line_number":79,"context_line":"        self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Assert that we called the fake pre_live_migration method"},{"line_number":82,"context_line":"        mock_plm.assert_called_once()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_dfee0a87","line":79,"range":{"start_line":73,"start_character":0,"end_line":79,"end_character":58},"updated":"2020-07-28 10:05:19.000000000","message":"self._live_migrate(server, \u0027error\u0027)","commit_id":"9f764951d22e14c730d4a8a95c7d6d5d3d1c2a09"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"958374815f20d3939d75d07294b20470546f41af","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    # Default self.api to the self.admin_api as live migration is admin only"},{"line_number":31,"context_line":"    ADMIN_API \u003d True"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    # As this is being backported to stable/queens lets just handle the max"},{"line_number":34,"context_line":"    # version available there from the start."},{"line_number":35,"context_line":"    microversion \u003d \u00272.60\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_740f182e","line":34,"range":{"start_line":33,"start_character":4,"end_line":34,"end_character":45},"updated":"2020-07-28 18:55:04.000000000","message":"I don\u0027t find this in good taste. If there\u0027s a functional reason to set a min microversion, use that microversion and that reason. Any explanation about \"we\u0027re doing things a certain way because backports\" belong in the commit message, IMO.","commit_id":"21c84c7b589b4ad130d54308c675f98ad67de251"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"385d845226956bcd5cdbafb50f7422f9f026c583","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestVolAttachmentsDuringPreLiveMigration("},{"line_number":21,"context_line":"        integrated_helpers._IntegratedTestBase"},{"line_number":22,"context_line":"    ):"},{"line_number":23,"context_line":"    \"\"\"Regression test for bug 1889108."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_735f2541","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":8},"updated":"2020-07-29 09:29:21.000000000","message":"nit","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"cc9dedf0f45e5b862cb1ceb654d224594c6cc6b7","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestVolAttachmentsDuringPreLiveMigration("},{"line_number":21,"context_line":"        integrated_helpers._IntegratedTestBase"},{"line_number":22,"context_line":"    ):"},{"line_number":23,"context_line":"    \"\"\"Regression test for bug 1889108."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_1f8d0b7b","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":8},"in_reply_to":"9f560f44_735f2541","updated":"2020-07-29 09:45:12.000000000","message":"Done","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"385d845226956bcd5cdbafb50f7422f9f026c583","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestVolAttachmentsDuringPreLiveMigration("},{"line_number":21,"context_line":"        integrated_helpers._IntegratedTestBase"},{"line_number":22,"context_line":"    ):"},{"line_number":23,"context_line":"    \"\"\"Regression test for bug 1889108."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    This regression test asserts that the original source volume attachments"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_535ca14a","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":4},"updated":"2020-07-29 09:29:21.000000000","message":"nit","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"cc9dedf0f45e5b862cb1ceb654d224594c6cc6b7","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestVolAttachmentsDuringPreLiveMigration("},{"line_number":21,"context_line":"        integrated_helpers._IntegratedTestBase"},{"line_number":22,"context_line":"    ):"},{"line_number":23,"context_line":"    \"\"\"Regression test for bug 1889108."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    This regression test asserts that the original source volume attachments"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_7fe9a718","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":4},"in_reply_to":"9f560f44_535ca14a","updated":"2020-07-29 09:45:12.000000000","message":"Done","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"385d845226956bcd5cdbafb50f7422f9f026c583","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        volume_id \u003d nova_fixtures.CinderFixture.IMAGE_BACKED_VOL"},{"line_number":59,"context_line":"        server \u003d self._build_server("},{"line_number":60,"context_line":"            name\u003d\u0027test_bfv_pre_live_migration_failure\u0027, image_uuid\u003d\u0027\u0027,"},{"line_number":61,"context_line":"            flavor_id\u003dself.flavor_id, networks\u003d\u0027none\u0027"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":"        server[\u0027block_device_mapping_v2\u0027] \u003d [{"},{"line_number":64,"context_line":"            \u0027source_type\u0027: \u0027volume\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f330550a","line":61,"range":{"start_line":61,"start_character":12,"end_line":61,"end_character":37},"updated":"2020-07-29 09:29:21.000000000","message":"as in the previous PS, this is unnecessary","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"cc9dedf0f45e5b862cb1ceb654d224594c6cc6b7","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        volume_id \u003d nova_fixtures.CinderFixture.IMAGE_BACKED_VOL"},{"line_number":59,"context_line":"        server \u003d self._build_server("},{"line_number":60,"context_line":"            name\u003d\u0027test_bfv_pre_live_migration_failure\u0027, image_uuid\u003d\u0027\u0027,"},{"line_number":61,"context_line":"            flavor_id\u003dself.flavor_id, networks\u003d\u0027none\u0027"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":"        server[\u0027block_device_mapping_v2\u0027] \u003d [{"},{"line_number":64,"context_line":"            \u0027source_type\u0027: \u0027volume\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_5feca328","line":61,"range":{"start_line":61,"start_character":12,"end_line":61,"end_character":37},"in_reply_to":"9f560f44_f330550a","updated":"2020-07-29 09:45:12.000000000","message":"Done","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"385d845226956bcd5cdbafb50f7422f9f026c583","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        mock_plm.assert_called_once()"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Assert that the instance is listed as ACTIVE on the source"},{"line_number":96,"context_line":"        self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":97,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(src_host, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d33551f9","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":53},"updated":"2020-07-29 09:29:21.000000000","message":"you don\u0027t need this since it\u0027s validated in \u0027_live_migrate\u0027 for us","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"cc9dedf0f45e5b862cb1ceb654d224594c6cc6b7","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        mock_plm.assert_called_once()"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Assert that the instance is listed as ACTIVE on the source"},{"line_number":96,"context_line":"        self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":97,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(src_host, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_bff33f0a","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":53},"in_reply_to":"9f560f44_d33551f9","updated":"2020-07-29 09:45:12.000000000","message":"Done","commit_id":"6e9bc664bd8644b6d79cb3b22d2004f987861750"}]}
