)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ce9b9603712460f964827cad602072bcc1b5a5f","unresolved":false,"context_lines":[{"line_number":6389,"context_line":"            LOG.debug(\u0027Migration %s aborted by another process, rollback.\u0027,"},{"line_number":6390,"context_line":"                      migration.uuid, instance\u003dinstance)"},{"line_number":6391,"context_line":"            migrate_data.migration \u003d migration"},{"line_number":6392,"context_line":"            self._rollback_live_migration(context, instance, dest,"},{"line_number":6393,"context_line":"                                          migrate_data, \u0027cancelled\u0027)"},{"line_number":6394,"context_line":"            self._notify_live_migrate_abort_end(context, instance)"},{"line_number":6395,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_17547cfe","line":6392,"range":{"start_line":6392,"start_character":17,"end_line":6392,"end_character":41},"updated":"2019-03-12 13:13:15.000000000","message":"Missing this one yeah?","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"35196870e84a8bb46ff824eb77f7ded734a5f65b","unresolved":false,"context_lines":[{"line_number":6389,"context_line":"            LOG.debug(\u0027Migration %s aborted by another process, rollback.\u0027,"},{"line_number":6390,"context_line":"                      migration.uuid, instance\u003dinstance)"},{"line_number":6391,"context_line":"            migrate_data.migration \u003d migration"},{"line_number":6392,"context_line":"            self._rollback_live_migration(context, instance, dest,"},{"line_number":6393,"context_line":"                                          migrate_data, \u0027cancelled\u0027)"},{"line_number":6394,"context_line":"            self._notify_live_migrate_abort_end(context, instance)"},{"line_number":6395,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fce034c_790889d8","line":6392,"range":{"start_line":6392,"start_character":17,"end_line":6392,"end_character":41},"in_reply_to":"5fc1f717_17547cfe","updated":"2019-04-15 22:08:40.000000000","message":"Yup, thanks.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ce9b9603712460f964827cad602072bcc1b5a5f","unresolved":false,"context_lines":[{"line_number":6931,"context_line":"        source_bdms_by_volid \u003d {bdm.volume_id: bdm for bdm in source_bdms"},{"line_number":6932,"context_line":"                                if bdm.is_volume}"},{"line_number":6933,"context_line":""},{"line_number":6934,"context_line":"        bdms \u003d objects.BlockDeviceMappingList.get_by_instance_uuid("},{"line_number":6935,"context_line":"                context, instance.uuid)"},{"line_number":6936,"context_line":"        for bdm in bdms:"},{"line_number":6937,"context_line":"            if bdm.is_volume:"},{"line_number":6938,"context_line":"                # remove the connection on the destination host"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_17a23cfe","line":6935,"range":{"start_line":6934,"start_character":8,"end_line":6935,"end_character":39},"updated":"2019-03-12 13:13:15.000000000","message":"This is the list of BDMs with connection_info set via the dest host connector correct? Why aren\u0027t we just using source_bdms? I guess it\u0027s because we have to update these so we can reset the attachment_id and connection_info based on the original values from the source hos - and we have to delete the attachment created on the dest host (since remove_volume_connection doesn\u0027t do that for v3 style attachments). Should have a comment along those lines because this method does a lot of stuff and it\u0027s easy to get lost without some good documentation.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"35196870e84a8bb46ff824eb77f7ded734a5f65b","unresolved":false,"context_lines":[{"line_number":6931,"context_line":"        source_bdms_by_volid \u003d {bdm.volume_id: bdm for bdm in source_bdms"},{"line_number":6932,"context_line":"                                if bdm.is_volume}"},{"line_number":6933,"context_line":""},{"line_number":6934,"context_line":"        bdms \u003d objects.BlockDeviceMappingList.get_by_instance_uuid("},{"line_number":6935,"context_line":"                context, instance.uuid)"},{"line_number":6936,"context_line":"        for bdm in bdms:"},{"line_number":6937,"context_line":"            if bdm.is_volume:"},{"line_number":6938,"context_line":"                # remove the connection on the destination host"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fce034c_f9f319e6","line":6935,"range":{"start_line":6934,"start_character":8,"end_line":6935,"end_character":39},"in_reply_to":"5fc1f717_17a23cfe","updated":"2019-04-15 22:08:40.000000000","message":"Correct and yes I\u0027ll add a comment now.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ce9b9603712460f964827cad602072bcc1b5a5f","unresolved":false,"context_lines":[{"line_number":6944,"context_line":"                    # attachment_id to the old attachment of the source"},{"line_number":6945,"context_line":"                    # host. If old_attachments is not there, then"},{"line_number":6946,"context_line":"                    # there was an error before the new attachment was made."},{"line_number":6947,"context_line":"                    old_attachments \u003d migrate_data.old_vol_attachment_ids \\"},{"line_number":6948,"context_line":"                        if \u0027old_vol_attachment_ids\u0027 in migrate_data else None"},{"line_number":6949,"context_line":"                    if old_attachments and bdm.volume_id in old_attachments:"},{"line_number":6950,"context_line":"                        self.volume_api.attachment_delete(context,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_77b06044","line":6947,"updated":"2019-03-12 13:13:15.000000000","message":"Technically we don\u0027t even need this anymore do we? We can just get the attachment_id from the matching bdm in source_bdms, right? But I guess it\u0027s fine to leave it to keep the diff smaller...\n\nI was just thinking about how the _post_live_migration change to use source_bdms stopped needing the migrate_data.old_vol_attachment_ids information at all.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"35196870e84a8bb46ff824eb77f7ded734a5f65b","unresolved":false,"context_lines":[{"line_number":6944,"context_line":"                    # attachment_id to the old attachment of the source"},{"line_number":6945,"context_line":"                    # host. If old_attachments is not there, then"},{"line_number":6946,"context_line":"                    # there was an error before the new attachment was made."},{"line_number":6947,"context_line":"                    old_attachments \u003d migrate_data.old_vol_attachment_ids \\"},{"line_number":6948,"context_line":"                        if \u0027old_vol_attachment_ids\u0027 in migrate_data else None"},{"line_number":6949,"context_line":"                    if old_attachments and bdm.volume_id in old_attachments:"},{"line_number":6950,"context_line":"                        self.volume_api.attachment_delete(context,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fce034c_793169a2","line":6947,"in_reply_to":"5fc1f717_77b06044","updated":"2019-04-15 22:08:40.000000000","message":"Yup correct, I\u0027ll remove this and look at removing old_vol_attachment_ids in a follow up.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ce9b9603712460f964827cad602072bcc1b5a5f","unresolved":false,"context_lines":[{"line_number":6951,"context_line":"                                                          bdm.attachment_id)"},{"line_number":6952,"context_line":"                        bdm.attachment_id \u003d old_attachments[bdm.volume_id]"},{"line_number":6953,"context_line":""},{"line_number":6954,"context_line":"                source_bdm \u003d source_bdms_by_volid[bdm.volume_id]"},{"line_number":6955,"context_line":"                bdm.connection_info \u003d source_bdm.connection_info"},{"line_number":6956,"context_line":"                bdm.save()"},{"line_number":6957,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_37b65840","line":6954,"updated":"2019-03-12 13:13:15.000000000","message":"Should have a comment here.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"35196870e84a8bb46ff824eb77f7ded734a5f65b","unresolved":false,"context_lines":[{"line_number":6951,"context_line":"                                                          bdm.attachment_id)"},{"line_number":6952,"context_line":"                        bdm.attachment_id \u003d old_attachments[bdm.volume_id]"},{"line_number":6953,"context_line":""},{"line_number":6954,"context_line":"                source_bdm \u003d source_bdms_by_volid[bdm.volume_id]"},{"line_number":6955,"context_line":"                bdm.connection_info \u003d source_bdm.connection_info"},{"line_number":6956,"context_line":"                bdm.save()"},{"line_number":6957,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fce034c_19286532","line":6954,"in_reply_to":"5fc1f717_37b65840","updated":"2019-04-15 22:08:40.000000000","message":"ACK, I\u0027ll add one now.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ab7753f6acc00849b414a5a0f6877b853db11fa","unresolved":false,"context_lines":[{"line_number":7096,"context_line":"        for bdm in bdms:"},{"line_number":7097,"context_line":"            if bdm.is_volume:"},{"line_number":7098,"context_line":"                # remove the connection on the destination host"},{"line_number":7099,"context_line":"                # NOTE(lyarwood): This actually calls the cinderv2"},{"line_number":7100,"context_line":"                # os-terminate_connection API if required."},{"line_number":7101,"context_line":"                self.compute_rpcapi.remove_volume_connection("},{"line_number":7102,"context_line":"                        context, instance, bdm.volume_id, dest)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_f64bd427","line":7099,"updated":"2019-04-29 21:38:14.000000000","message":"FYI https://review.opendev.org/#/c/642183/ but this is an OK comment for now since yeah it\u0027s not going to do anything with a new style v3 attachment even after that change (its backward compatible).","commit_id":"59ed64daa1de60b5ddea0574fc425279921fd44d"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3a0e3d94389005132604f5c6c30e3c7df7e07868","unresolved":false,"context_lines":[{"line_number":7096,"context_line":"        for bdm in bdms:"},{"line_number":7097,"context_line":"            if bdm.is_volume:"},{"line_number":7098,"context_line":"                # remove the connection on the destination host"},{"line_number":7099,"context_line":"                # NOTE(lyarwood): This actually calls the cinderv2"},{"line_number":7100,"context_line":"                # os-terminate_connection API if required."},{"line_number":7101,"context_line":"                self.compute_rpcapi.remove_volume_connection("},{"line_number":7102,"context_line":"                        context, instance, bdm.volume_id, dest)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_fdc3ac87","line":7099,"in_reply_to":"ffb9cba7_f64bd427","updated":"2019-04-30 11:37:18.000000000","message":"ACK thanks for the context.","commit_id":"59ed64daa1de60b5ddea0574fc425279921fd44d"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3a0e3d94389005132604f5c6c30e3c7df7e07868","unresolved":false,"context_lines":[{"line_number":7106,"context_line":"                    # attachment_id to the old attachment of the source"},{"line_number":7107,"context_line":"                    # host. If old_attachments is not there, then"},{"line_number":7108,"context_line":"                    # there was an error before the new attachment was made."},{"line_number":7109,"context_line":"                    # TODO(lyarwood): migrate_data.old_vol_attachment_ids can"},{"line_number":7110,"context_line":"                    # be removed now as we can lookup the original"},{"line_number":7111,"context_line":"                    # attachment_ids from the source_bdms list here."},{"line_number":7112,"context_line":"                    old_attachments \u003d migrate_data.old_vol_attachment_ids \\"},{"line_number":7113,"context_line":"                        if \u0027old_vol_attachment_ids\u0027 in migrate_data else None"},{"line_number":7114,"context_line":"                    if old_attachments and bdm.volume_id in old_attachments:"},{"line_number":7115,"context_line":"                        self.volume_api.attachment_delete(context,"},{"line_number":7116,"context_line":"                                                          bdm.attachment_id)"},{"line_number":7117,"context_line":"                        bdm.attachment_id \u003d old_attachments[bdm.volume_id]"},{"line_number":7118,"context_line":""},{"line_number":7119,"context_line":"                # NOTE(lyarwood): Rollback the connection_info stored within"},{"line_number":7120,"context_line":"                # the BDM to that used by the source and not the destination."}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_eb98c575","line":7117,"range":{"start_line":7109,"start_character":0,"end_line":7117,"end_character":74},"updated":"2019-04-30 11:37:18.000000000","message":"Ibe9215c07a1ee00e0e121c69bcf7ee1b1b80fae0 is doing this btw.","commit_id":"59ed64daa1de60b5ddea0574fc425279921fd44d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ab7753f6acc00849b414a5a0f6877b853db11fa","unresolved":false,"context_lines":[{"line_number":7116,"context_line":"                                                          bdm.attachment_id)"},{"line_number":7117,"context_line":"                        bdm.attachment_id \u003d old_attachments[bdm.volume_id]"},{"line_number":7118,"context_line":""},{"line_number":7119,"context_line":"                # NOTE(lyarwood): Rollback the connection_info stored within"},{"line_number":7120,"context_line":"                # the BDM to that used by the source and not the destination."},{"line_number":7121,"context_line":"                source_bdm \u003d source_bdms_by_volid[bdm.volume_id]"},{"line_number":7122,"context_line":"                bdm.connection_info \u003d source_bdm.connection_info"},{"line_number":7123,"context_line":"                bdm.save()"},{"line_number":7124,"context_line":""},{"line_number":7125,"context_line":"        self._notify_about_instance_usage(context, instance,"},{"line_number":7126,"context_line":"                                          \"live_migration._rollback.start\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_76bda4d6","line":7123,"range":{"start_line":7119,"start_character":16,"end_line":7123,"end_character":26},"updated":"2019-04-29 21:38:14.000000000","message":"This isn\u0027t really a problem for your change here, but I\u0027m just thinking about how we\u0027re looping and if anything fails here we are going to drop the rest of the stuff on the floor and not try to process it. In a follow up we could/should refactor some meat out of this method so we can have some easy try/except error handling so we continue trying to process the other bdms in the list of one of these is busted for some reason (or a DB update fails).","commit_id":"59ed64daa1de60b5ddea0574fc425279921fd44d"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3a0e3d94389005132604f5c6c30e3c7df7e07868","unresolved":false,"context_lines":[{"line_number":7116,"context_line":"                                                          bdm.attachment_id)"},{"line_number":7117,"context_line":"                        bdm.attachment_id \u003d old_attachments[bdm.volume_id]"},{"line_number":7118,"context_line":""},{"line_number":7119,"context_line":"                # NOTE(lyarwood): Rollback the connection_info stored within"},{"line_number":7120,"context_line":"                # the BDM to that used by the source and not the destination."},{"line_number":7121,"context_line":"                source_bdm \u003d source_bdms_by_volid[bdm.volume_id]"},{"line_number":7122,"context_line":"                bdm.connection_info \u003d source_bdm.connection_info"},{"line_number":7123,"context_line":"                bdm.save()"},{"line_number":7124,"context_line":""},{"line_number":7125,"context_line":"        self._notify_about_instance_usage(context, instance,"},{"line_number":7126,"context_line":"                                          \"live_migration._rollback.start\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_1d57a0cc","line":7123,"range":{"start_line":7119,"start_character":16,"end_line":7123,"end_character":26},"in_reply_to":"ffb9cba7_76bda4d6","updated":"2019-04-30 11:37:18.000000000","message":"I\u0027m not sure that we should be swallowing bdm.save() failures but we can ignore keyerrors, cinderclient exceptions etc.\n\nI\u0027ve posted I6bc73e8c8f98d9955f33f309beb8a7c56981b553 as a WIP, I\u0027ll sort the tests out while metal tubing to DEN tomorrow.","commit_id":"59ed64daa1de60b5ddea0574fc425279921fd44d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7ecc271f68693ecb019871ba0bd2813563f3adec","unresolved":false,"context_lines":[{"line_number":7068,"context_line":"        :param migration_status:"},{"line_number":7069,"context_line":"            Contains the status we want to set for the migration object"},{"line_number":7070,"context_line":"        :param source_bdms: BDMs prior to modification by the destination"},{"line_number":7071,"context_line":"                            compute host. Set by _do_live_migration and not"},{"line_number":7072,"context_line":"                            part of the callback interface, so this is never"},{"line_number":7073,"context_line":"                            None"},{"line_number":7074,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_d93d8d8f","line":7071,"range":{"start_line":7071,"start_character":1,"end_line":7071,"end_character":28},"updated":"2019-05-01 15:28:23.000000000","message":"nit: indentation is off","commit_id":"6d14a9a462a728589ead7b06dcc0b86fc74a2ce8"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ce9b9603712460f964827cad602072bcc1b5a5f","unresolved":false,"context_lines":[{"line_number":6727,"context_line":"        instance \u003d mock.MagicMock()"},{"line_number":6728,"context_line":"        migration \u003d objects.Migration(uuid\u003duuids.migration)"},{"line_number":6729,"context_line":"        migrate_data \u003d objects.LibvirtLiveMigrateData(migration\u003dmigration)"},{"line_number":6730,"context_line":"        source_bdms \u003d objects.BlockDeviceMappingList(objects\u003d[])"},{"line_number":6731,"context_line":""},{"line_number":6732,"context_line":"        dest_node \u003d objects.ComputeNode(host\u003d\u0027foo\u0027, uuid\u003duuids.dest_node)"},{"line_number":6733,"context_line":"        mock_get_node.return_value \u003d dest_node"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_17d9dc7d","line":6730,"range":{"start_line":6730,"start_character":53,"end_line":6730,"end_character":63},"updated":"2019-03-12 13:13:15.000000000","message":"nit: don\u0027t need this, it\u0027s redundant","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"35196870e84a8bb46ff824eb77f7ded734a5f65b","unresolved":false,"context_lines":[{"line_number":6727,"context_line":"        instance \u003d mock.MagicMock()"},{"line_number":6728,"context_line":"        migration \u003d objects.Migration(uuid\u003duuids.migration)"},{"line_number":6729,"context_line":"        migrate_data \u003d objects.LibvirtLiveMigrateData(migration\u003dmigration)"},{"line_number":6730,"context_line":"        source_bdms \u003d objects.BlockDeviceMappingList(objects\u003d[])"},{"line_number":6731,"context_line":""},{"line_number":6732,"context_line":"        dest_node \u003d objects.ComputeNode(host\u003d\u0027foo\u0027, uuid\u003duuids.dest_node)"},{"line_number":6733,"context_line":"        mock_get_node.return_value \u003d dest_node"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fce034c_f91c7914","line":6730,"range":{"start_line":6730,"start_character":53,"end_line":6730,"end_character":63},"in_reply_to":"5fc1f717_17d9dc7d","updated":"2019-04-15 22:08:40.000000000","message":"ACK thanks.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ce9b9603712460f964827cad602072bcc1b5a5f","unresolved":false,"context_lines":[{"line_number":6787,"context_line":"        instance \u003d fake_instance.fake_instance_obj(ctxt)"},{"line_number":6788,"context_line":"        migration \u003d objects.Migration(ctxt, uuid\u003duuids.migration)"},{"line_number":6789,"context_line":"        migrate_data \u003d objects.LibvirtLiveMigrateData(migration\u003dmigration)"},{"line_number":6790,"context_line":"        source_bdms \u003d objects.BlockDeviceMappingList(objects\u003d[])"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"        @mock.patch.object(self.compute, \u0027_notify_about_instance_usage\u0027)"},{"line_number":6793,"context_line":"        @mock.patch(\u0027nova.compute.utils.notify_about_instance_action\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_b7c9e8ac","line":6790,"range":{"start_line":6790,"start_character":53,"end_line":6790,"end_character":63},"updated":"2019-03-12 13:13:15.000000000","message":"same","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"35196870e84a8bb46ff824eb77f7ded734a5f65b","unresolved":false,"context_lines":[{"line_number":6787,"context_line":"        instance \u003d fake_instance.fake_instance_obj(ctxt)"},{"line_number":6788,"context_line":"        migration \u003d objects.Migration(ctxt, uuid\u003duuids.migration)"},{"line_number":6789,"context_line":"        migrate_data \u003d objects.LibvirtLiveMigrateData(migration\u003dmigration)"},{"line_number":6790,"context_line":"        source_bdms \u003d objects.BlockDeviceMappingList(objects\u003d[])"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"        @mock.patch.object(self.compute, \u0027_notify_about_instance_usage\u0027)"},{"line_number":6793,"context_line":"        @mock.patch(\u0027nova.compute.utils.notify_about_instance_action\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fce034c_991bf519","line":6790,"range":{"start_line":6790,"start_character":53,"end_line":6790,"end_character":63},"in_reply_to":"5fc1f717_b7c9e8ac","updated":"2019-04-15 22:08:40.000000000","message":"ACK thanks.","commit_id":"c6633a05c411e1a760d1648b5426aaa011f9872e"}]}
