'Create new volume from other\'s snapshot on appliance.
:param volume: reference of volume to be created
:param snapshot: reference of source snapshot'

def create_volume_from_snapshot(self, volume, snapshot):

    LOG.info('Creating    volume    from    snapshot:    %s', snapshot['name'])
    snapshot_vol = self._get_snapshot_volume(snapshot)
    volume_path = self._get_volume_path(snapshot_vol)
    (pool, group, snapshot_vol) = volume_path.split('/')
    url = ('storage/pools/%(pool)s/volumeGroups/%(group)s/volumes/%(volume)s/snapshots/%(snapshot)s/clone' % {'pool': pool, 'group': group, 'volume': snapshot_vol, 'snapshot': snapshot['name']})
    self.nef.post(url, {'targetPath': self._get_volume_path(volume)})
    if (('size' in volume) and (volume['size'] > snapshot['volume_size'])):
        self.extend_volume(volume, volume['size'])
