'Remove a shelved instance from the hypervisor.'

@check_instance_lock
@check_instance_state(vm_state=[vm_states.SHELVED])
def shelve_offload(self, context, instance, clean_shutdown=True):

    instance.task_state = task_states.SHELVING_OFFLOADING
    instance.save(expected_task_state=[None])
    self.compute_rpcapi.shelve_offload_instance(context, instance=instance, clean_shutdown=clean_shutdown)
