'Create new volume from other volume\'s snapshot on appliance.'

def create_volume_from_snapshot(self, volume, snapshot):

    try:
        out = self._eql_execute('volume', 'select', snapshot['volume_name'], 'snapshot', 'select', snapshot['name'], 'clone', volume['name'])
        if (out and (volume['size'] > snapshot['volume_size'])):
            self.extend_volume(volume, volume['size'])
            LOG.debug('Volume    from    snapshot    %(name)s    resized    from    %(current_size)sGB    to    %(new_size)sGB.', {'name': volume['name'], 'current_size': snapshot['volume_size'], 'new_size': volume['size']})
        self.add_multihost_access(volume)
        return self._get_volume_data(out)
    except Exception:
        with excutils.save_and_reraise_exception():
            LOG.error('Failed    to    create    volume    from    snapshot    "%s".', snapshot['name'])
