'Reboot the VM which is being rescued back into primary images.'

def unrescue(self, instance, network_info):

    instance_dir = libvirt_utils.get_instance_path(instance)
    unrescue_xml_path = os.path.join(instance_dir, 'unrescue.xml')
    xml = libvirt_utils.load_file(unrescue_xml_path)
    guest = self._host.get_guest(instance)
    virt_dom = guest._domain
    self._destroy(instance)
    self._create_domain(xml, virt_dom)
    libvirt_utils.file_delete(unrescue_xml_path)
    rescue_files = os.path.join(instance_dir, '*.rescue')
    for rescue_file in glob.iglob(rescue_files):
        if os.path.isdir(rescue_file):
            shutil.rmtree(rescue_file)
        else:
            libvirt_utils.file_delete(rescue_file)
    lvm.remove_volumes([lvmdisk for lvmdisk in self._lvm_disks(instance) if lvmdisk.endswith('.rescue')])
    if (CONF.libvirt.images_type == 'rbd'):
        filter_fn = (lambda disk: (disk.startswith(instance.uuid) and disk.endswith('.rescue')))
        LibvirtDriver._get_rbd_driver().cleanup_volumes(filter_fn)
