)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d431727608a5cc73e87f896209fe29eb92901dd0","unresolved":false,"context_lines":[{"line_number":4231,"context_line":"        with utils.temporary_mutation(migration, dest_compute\u003dself.host):"},{"line_number":4232,"context_line":"            LOG.debug(\u0027Updating port bindings for source host %s.\u0027,"},{"line_number":4233,"context_line":"                      self.host, instance\u003dinstance)"},{"line_number":4234,"context_line":"            self.network_api.migrate_instance_finish("},{"line_number":4235,"context_line":"                ctxt, instance, migration)"},{"line_number":4236,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(ctxt, instance)"},{"line_number":4237,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_956ae918","line":4234,"updated":"2019-02-20 22:55:18.000000000","message":"We\u0027re going to have the same issue as bug 1813789 here because this will update the port bindings and send the network-vif-plugged event before driver.finish_revert_migration has registered a callback for it.","commit_id":"25f72a707a9ce653241735cba3acec294cdaf986"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7a83f1577760f4a7b5e8ff8d929fe2f18343920a","unresolved":false,"context_lines":[{"line_number":4231,"context_line":"        with utils.temporary_mutation(migration, dest_compute\u003dself.host):"},{"line_number":4232,"context_line":"            LOG.debug(\u0027Updating port bindings for source host %s.\u0027,"},{"line_number":4233,"context_line":"                      self.host, instance\u003dinstance)"},{"line_number":4234,"context_line":"            self.network_api.migrate_instance_finish("},{"line_number":4235,"context_line":"                ctxt, instance, migration)"},{"line_number":4236,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(ctxt, instance)"},{"line_number":4237,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_0f7d211b","line":4234,"in_reply_to":"9fdfeff1_956ae918","updated":"2019-02-26 16:15:21.000000000","message":"Added a FIXME.","commit_id":"25f72a707a9ce653241735cba3acec294cdaf986"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b1e2779fccad752a33ed1c4428d44d2a579df0cb","unresolved":false,"context_lines":[{"line_number":4244,"context_line":"        # Remember that prep_snapshot_based_resize_at_source destroyed the"},{"line_number":4245,"context_line":"        # guest but left the disks intact so we cannot call spawn() here but"},{"line_number":4246,"context_line":"        # finish_revert_migration should do the job."},{"line_number":4247,"context_line":"        self.driver.finish_revert_migration("},{"line_number":4248,"context_line":"            ctxt, instance, network_info, block_device_info\u003dblock_device_info,"},{"line_number":4249,"context_line":"            power_on\u003dpower_on)"},{"line_number":4250,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_bac54390","line":4247,"range":{"start_line":4247,"start_character":20,"end_line":4247,"end_character":43},"updated":"2019-02-25 23:50:01.000000000","message":"Before calling this, we need to call _update_volume_attachments to get the updated connection_info for the attachments and then after calling this, we need to call _complete_volume_attachments so the volumes are in-use.","commit_id":"25f72a707a9ce653241735cba3acec294cdaf986"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7a83f1577760f4a7b5e8ff8d929fe2f18343920a","unresolved":false,"context_lines":[{"line_number":4244,"context_line":"        # Remember that prep_snapshot_based_resize_at_source destroyed the"},{"line_number":4245,"context_line":"        # guest but left the disks intact so we cannot call spawn() here but"},{"line_number":4246,"context_line":"        # finish_revert_migration should do the job."},{"line_number":4247,"context_line":"        self.driver.finish_revert_migration("},{"line_number":4248,"context_line":"            ctxt, instance, network_info, block_device_info\u003dblock_device_info,"},{"line_number":4249,"context_line":"            power_on\u003dpower_on)"},{"line_number":4250,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_2f7a6523","line":4247,"range":{"start_line":4247,"start_character":20,"end_line":4247,"end_character":43},"in_reply_to":"9fdfeff1_bac54390","updated":"2019-02-26 16:15:21.000000000","message":"Done","commit_id":"25f72a707a9ce653241735cba3acec294cdaf986"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e8413d7a7d8f913fb2143ead0770c88d56a2c1b","unresolved":false,"context_lines":[{"line_number":4402,"context_line":"            instance.launched_at \u003d timeutils.utcnow()"},{"line_number":4403,"context_line":"            instance.save(expected_task_state\u003dtask_states.RESIZE_REVERTING)"},{"line_number":4404,"context_line":""},{"line_number":4405,"context_line":"            # Complete any volume attachments so the volumes are in-use."},{"line_number":4406,"context_line":"            self._complete_volume_attachments(context, bdms)"},{"line_number":4407,"context_line":""},{"line_number":4408,"context_line":"            # if the original vm state was STOPPED, set it back to STOPPED"},{"line_number":4409,"context_line":"            LOG.info(\"Updating instance to original state: \u0027%s\u0027\","}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_f5a1f547","line":4406,"range":{"start_line":4405,"start_character":12,"end_line":4406,"end_character":60},"updated":"2019-02-20 23:06:17.000000000","message":"We need to do this in finish_revert_snapshot_based_resize_at_source to put the volume(s) back to in-use state.","commit_id":"25f72a707a9ce653241735cba3acec294cdaf986"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7a83f1577760f4a7b5e8ff8d929fe2f18343920a","unresolved":false,"context_lines":[{"line_number":4402,"context_line":"            instance.launched_at \u003d timeutils.utcnow()"},{"line_number":4403,"context_line":"            instance.save(expected_task_state\u003dtask_states.RESIZE_REVERTING)"},{"line_number":4404,"context_line":""},{"line_number":4405,"context_line":"            # Complete any volume attachments so the volumes are in-use."},{"line_number":4406,"context_line":"            self._complete_volume_attachments(context, bdms)"},{"line_number":4407,"context_line":""},{"line_number":4408,"context_line":"            # if the original vm state was STOPPED, set it back to STOPPED"},{"line_number":4409,"context_line":"            LOG.info(\"Updating instance to original state: \u0027%s\u0027\","}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_8f8ef124","line":4406,"range":{"start_line":4405,"start_character":12,"end_line":4406,"end_character":60},"in_reply_to":"9fdfeff1_f5a1f547","updated":"2019-02-26 16:15:21.000000000","message":"Done","commit_id":"25f72a707a9ce653241735cba3acec294cdaf986"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8fbd6643ac979c6df73150230ea783935e8de17b","unresolved":false,"context_lines":[{"line_number":4352,"context_line":"                ctxt, instance, migration)"},{"line_number":4353,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(ctxt, instance)"},{"line_number":4354,"context_line":""},{"line_number":4355,"context_line":"        # If the original vm_state was STOPPED, we do not automatically"},{"line_number":4356,"context_line":"        # power on the instance after it is migrated."},{"line_number":4357,"context_line":"        power_on \u003d old_vm_state \u003d\u003d vm_states.ACTIVE"},{"line_number":4358,"context_line":"        # Remember that prep_snapshot_based_resize_at_source destroyed the"},{"line_number":4359,"context_line":"        # guest but left the disks intact so we cannot call spawn() here but"},{"line_number":4360,"context_line":"        # finish_revert_migration should do the job."}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_2c77f904","line":4357,"range":{"start_line":4355,"start_character":8,"end_line":4357,"end_character":51},"updated":"2019-03-11 21:04:07.000000000","message":"Should probably just match what finish_revert_resize does:\n\npower_on \u003d old_vm_state !\u003d vm_states.STOPPED\n\nAlso remove that comment since it\u0027s for the finish_resize flow, not the revert flow.","commit_id":"b569a4b49c2b13ad1a6c7f4d9b86a4f529eb882a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1144d32a3b37def691d30ed7fe1a27107763e428","unresolved":false,"context_lines":[{"line_number":4352,"context_line":"                ctxt, instance, migration)"},{"line_number":4353,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(ctxt, instance)"},{"line_number":4354,"context_line":""},{"line_number":4355,"context_line":"        # If the original vm_state was STOPPED, we do not automatically"},{"line_number":4356,"context_line":"        # power on the instance after it is migrated."},{"line_number":4357,"context_line":"        power_on \u003d old_vm_state \u003d\u003d vm_states.ACTIVE"},{"line_number":4358,"context_line":"        # Remember that prep_snapshot_based_resize_at_source destroyed the"},{"line_number":4359,"context_line":"        # guest but left the disks intact so we cannot call spawn() here but"},{"line_number":4360,"context_line":"        # finish_revert_migration should do the job."}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_4c036510","line":4357,"range":{"start_line":4355,"start_character":8,"end_line":4357,"end_character":51},"in_reply_to":"5fc1f717_2c77f904","updated":"2019-03-11 21:11:19.000000000","message":"Done","commit_id":"b569a4b49c2b13ad1a6c7f4d9b86a4f529eb882a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9859688aa38bf745d1cc91a2d2602066ee709aab","unresolved":false,"context_lines":[{"line_number":4363,"context_line":"        # that we need to update here to get the connection_info before calling"},{"line_number":4364,"context_line":"        # driver.finish_revert_migration which will connect the volumes to this"},{"line_number":4365,"context_line":"        # host."},{"line_number":4366,"context_line":"        self._update_volume_attachments(ctxt, instance, bdms)"},{"line_number":4367,"context_line":"        block_device_info \u003d self._get_instance_block_device_info("},{"line_number":4368,"context_line":"            ctxt, instance, bdms\u003dbdms)"},{"line_number":4369,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"bfb3d3c7_7a095e2a","line":4366,"updated":"2019-05-21 19:49:46.000000000","message":"Should log something here.","commit_id":"1de301907d1fb8539891474cfcb397435ac13b28"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7a23f45c291e5bd12ed375e6c02213567e2bd0f8","unresolved":false,"context_lines":[{"line_number":4363,"context_line":"        # that we need to update here to get the connection_info before calling"},{"line_number":4364,"context_line":"        # driver.finish_revert_migration which will connect the volumes to this"},{"line_number":4365,"context_line":"        # host."},{"line_number":4366,"context_line":"        self._update_volume_attachments(ctxt, instance, bdms)"},{"line_number":4367,"context_line":"        block_device_info \u003d self._get_instance_block_device_info("},{"line_number":4368,"context_line":"            ctxt, instance, bdms\u003dbdms)"},{"line_number":4369,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"bfb3d3c7_cd2e96f9","line":4366,"in_reply_to":"bfb3d3c7_7a095e2a","updated":"2019-05-21 21:22:59.000000000","message":"Done","commit_id":"1de301907d1fb8539891474cfcb397435ac13b28"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"66b840173382cced6d0700e4ee2042f51e157e62","unresolved":false,"context_lines":[{"line_number":4477,"context_line":"            # here because this will update the port bindings and send the"},{"line_number":4478,"context_line":"            # network-vif-plugged event before driver.finish_revert_migration"},{"line_number":4479,"context_line":"            # has registered a callback for it."},{"line_number":4480,"context_line":"            self.network_api.migrate_instance_finish("},{"line_number":4481,"context_line":"                ctxt, instance, migration)"},{"line_number":4482,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(ctxt, instance)"},{"line_number":4483,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7faddb67_5f683386","line":4480,"updated":"2019-08-08 19:54:51.000000000","message":"Need to use _finish_revert_resize_network_migrate_finish here.","commit_id":"f37f637b23ec78f1ad459e672417337d06bdd36a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f27ff1262eb6090320ac7c765380586f51b15f64","unresolved":false,"context_lines":[{"line_number":4623,"context_line":"            task_state is \"resize_reverting\"."},{"line_number":4624,"context_line":"        :param migration: Migration object whose status is \"reverting\"."},{"line_number":4625,"context_line":"        \"\"\""},{"line_number":4626,"context_line":"        # Delete stashed old_vm_state information. We will use this to"},{"line_number":4627,"context_line":"        # determine if the guest should be powered on when we spawn it."},{"line_number":4628,"context_line":"        old_vm_state \u003d instance.system_metadata.pop("},{"line_number":4629,"context_line":"            \u0027old_vm_state\u0027, vm_states.ACTIVE)"},{"line_number":4630,"context_line":""},{"line_number":4631,"context_line":"        # Set the instance flavor-related fields back to the old_flavor."},{"line_number":4632,"context_line":"        self._set_instance_info(instance, instance.old_flavor)"},{"line_number":4633,"context_line":"        instance.old_flavor \u003d None"},{"line_number":4634,"context_line":"        instance.new_flavor \u003d None"},{"line_number":4635,"context_line":"        instance.host \u003d migration.source_compute"},{"line_number":4636,"context_line":"        instance.node \u003d migration.source_node"},{"line_number":4637,"context_line":"        instance.save(expected_task_state\u003dtask_states.RESIZE_REVERTING)"},{"line_number":4638,"context_line":""},{"line_number":4639,"context_line":"        # Move the allocations against the source compute node resource"},{"line_number":4640,"context_line":"        # provider, held by the migration, to the instance which will drop"}],"source_content_type":"text/x-python","patch_set":47,"id":"3fa7e38b_a7e06ecd","line":4637,"range":{"start_line":4626,"start_character":8,"end_line":4637,"end_character":71},"updated":"2019-11-04 21:36:31.000000000","message":"This could be DRY\u0027ed up with finish_revert_resize.","commit_id":"8c6eadc4a6bfbea3ecdf4ab5e688d6b6d045e2cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b2fdf8bcc32b97d0b614c9c4710f418488184fe5","unresolved":false,"context_lines":[{"line_number":4623,"context_line":"            task_state is \"resize_reverting\"."},{"line_number":4624,"context_line":"        :param migration: Migration object whose status is \"reverting\"."},{"line_number":4625,"context_line":"        \"\"\""},{"line_number":4626,"context_line":"        # Delete stashed old_vm_state information. We will use this to"},{"line_number":4627,"context_line":"        # determine if the guest should be powered on when we spawn it."},{"line_number":4628,"context_line":"        old_vm_state \u003d instance.system_metadata.pop("},{"line_number":4629,"context_line":"            \u0027old_vm_state\u0027, vm_states.ACTIVE)"},{"line_number":4630,"context_line":""},{"line_number":4631,"context_line":"        # Set the instance flavor-related fields back to the old_flavor."},{"line_number":4632,"context_line":"        self._set_instance_info(instance, instance.old_flavor)"},{"line_number":4633,"context_line":"        instance.old_flavor \u003d None"},{"line_number":4634,"context_line":"        instance.new_flavor \u003d None"},{"line_number":4635,"context_line":"        instance.host \u003d migration.source_compute"},{"line_number":4636,"context_line":"        instance.node \u003d migration.source_node"},{"line_number":4637,"context_line":"        instance.save(expected_task_state\u003dtask_states.RESIZE_REVERTING)"},{"line_number":4638,"context_line":""},{"line_number":4639,"context_line":"        # Move the allocations against the source compute node resource"},{"line_number":4640,"context_line":"        # provider, held by the migration, to the instance which will drop"}],"source_content_type":"text/x-python","patch_set":47,"id":"3fa7e38b_7a708809","line":4637,"range":{"start_line":4626,"start_character":8,"end_line":4637,"end_character":71},"in_reply_to":"3fa7e38b_a7e06ecd","updated":"2019-11-11 14:33:08.000000000","message":"Done.\n\nAlso, technically this stuff could be done in conductor, and the host/node fields on the source cell DB instance likely aren\u0027t even changing.","commit_id":"8c6eadc4a6bfbea3ecdf4ab5e688d6b6d045e2cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b2fdf8bcc32b97d0b614c9c4710f418488184fe5","unresolved":false,"context_lines":[{"line_number":4669,"context_line":"        with utils.temporary_mutation(migration, dest_compute\u003dself.host):"},{"line_number":4670,"context_line":"            LOG.debug(\u0027Updating port bindings for source host %s.\u0027,"},{"line_number":4671,"context_line":"                      self.host, instance\u003dinstance)"},{"line_number":4672,"context_line":"            # FIXME(mriedem): We\u0027re going to have the same issue as bug 1813789"},{"line_number":4673,"context_line":"            # here because this will update the port bindings and send the"},{"line_number":4674,"context_line":"            # network-vif-plugged event before driver.finish_revert_migration"},{"line_number":4675,"context_line":"            # has registered a callback for it."}],"source_content_type":"text/x-python","patch_set":47,"id":"3fa7e38b_fab9d878","line":4672,"updated":"2019-11-11 14:33:08.000000000","message":"Done. Using _finish_revert_resize_network_migrate_finish.","commit_id":"8c6eadc4a6bfbea3ecdf4ab5e688d6b6d045e2cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f27ff1262eb6090320ac7c765380586f51b15f64","unresolved":false,"context_lines":[{"line_number":4700,"context_line":"        migration.save()"},{"line_number":4701,"context_line":""},{"line_number":4702,"context_line":"        # Broadcast to all schedulers that the instance is on this host."},{"line_number":4703,"context_line":"        self._update_scheduler_instance_info(ctxt, instance)"},{"line_number":4704,"context_line":""},{"line_number":4705,"context_line":"    @wrap_exception()"},{"line_number":4706,"context_line":"    @reverts_task_state"}],"source_content_type":"text/x-python","patch_set":47,"id":"3fa7e38b_a7bb8ec1","line":4703,"updated":"2019-11-04 21:36:31.000000000","message":"Could move this into finish_revert_snapshot_based_resize_at_source and wrap in a try/except log block so if it fails it\u0027s not within _error_out_instance_on_exception.","commit_id":"8c6eadc4a6bfbea3ecdf4ab5e688d6b6d045e2cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b2fdf8bcc32b97d0b614c9c4710f418488184fe5","unresolved":false,"context_lines":[{"line_number":4700,"context_line":"        migration.save()"},{"line_number":4701,"context_line":""},{"line_number":4702,"context_line":"        # Broadcast to all schedulers that the instance is on this host."},{"line_number":4703,"context_line":"        self._update_scheduler_instance_info(ctxt, instance)"},{"line_number":4704,"context_line":""},{"line_number":4705,"context_line":"    @wrap_exception()"},{"line_number":4706,"context_line":"    @reverts_task_state"}],"source_content_type":"text/x-python","patch_set":47,"id":"3fa7e38b_5a734c17","line":4703,"in_reply_to":"3fa7e38b_a7bb8ec1","updated":"2019-11-11 14:33:08.000000000","message":"Done","commit_id":"8c6eadc4a6bfbea3ecdf4ab5e688d6b6d045e2cc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"16ad0b3fcde5f913f48af628a5df4cacc6fd3d93","unresolved":false,"context_lines":[{"line_number":4690,"context_line":"        # Delete stashed old_vm_state information. We will use this to"},{"line_number":4691,"context_line":"        # determine if the guest should be powered on when we spawn it."},{"line_number":4692,"context_line":"        old_vm_state \u003d instance.system_metadata.pop("},{"line_number":4693,"context_line":"            \u0027old_vm_state\u0027, vm_states.ACTIVE)"},{"line_number":4694,"context_line":""},{"line_number":4695,"context_line":"        # Update instance host/node and flavor-related fields. After this"},{"line_number":4696,"context_line":"        # if anything fails the instance will get rebuilt/rebooted on this"}],"source_content_type":"text/x-python","patch_set":53,"id":"3fa7e38b_ead43549","line":4693,"range":{"start_line":4693,"start_character":27,"end_line":4693,"end_character":44},"updated":"2019-12-09 16:05:47.000000000","message":"Why would this ever be unset? We can\u0027t race because of the lock, surely?","commit_id":"fac0cde4fcc7ae6516997d21523396d8c6d8131a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"16ad0b3fcde5f913f48af628a5df4cacc6fd3d93","unresolved":false,"context_lines":[{"line_number":4754,"context_line":"                ctxt, instance, network_info, migration,"},{"line_number":4755,"context_line":"                block_device_info\u003dblock_device_info, power_on\u003dpower_on)"},{"line_number":4756,"context_line":"        except Exception as e:"},{"line_number":4757,"context_line":"            driver_error \u003d e"},{"line_number":4758,"context_line":"            # Leave a hint about hard rebooting the guest and reraise so the"},{"line_number":4759,"context_line":"            # instance is put into ERROR state."},{"line_number":4760,"context_line":"            with excutils.save_and_reraise_exception(logger\u003dLOG):"}],"source_content_type":"text/x-python","patch_set":53,"id":"3fa7e38b_0a4e7138","line":4757,"updated":"2019-12-09 16:05:47.000000000","message":"Huh?\n\nLater: Ah, only raise an exception that occurs in the \u0027finally\u0027 block if we haven\u0027t already had an exception. Gotcha","commit_id":"fac0cde4fcc7ae6516997d21523396d8c6d8131a"}],"nova/virt/fake.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cea84edfbdf57ace02bf34f66f2bd0edce81af80","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def finish_revert_migration(self, context, instance, network_info,"},{"line_number":250,"context_line":"                                block_device_info\u003dNone, power_on\u003dTrue):"},{"line_number":251,"context_line":"        state \u003d power_state.RUNNING if power_on else power_state.SHUTDOWN"},{"line_number":252,"context_line":"        self.instances[instance.uuid] \u003d FakeInstance("},{"line_number":253,"context_line":"            instance.name, state, instance.uuid)"},{"line_number":254,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_316b2c86","line":251,"updated":"2019-02-19 20:30:20.000000000","message":"This should probably live in whatever change adds resize revert testing, especially based on power state changes.","commit_id":"2cd477d9e81b0228d51453f3edec2ade3a49e14c"}]}
