'Suspend the given instance.'

@check_instance_lock
@check_instance_cell
@check_instance_state(vm_state=[vm_states.ACTIVE])
def suspend(self, context, instance):

    instance.task_state = task_states.SUSPENDING
    instance.save(expected_task_state=[None])
    self._record_action_start(context, instance, instance_actions.SUSPEND)
    self.compute_rpcapi.suspend_instance(context, instance)
