'Create a snapshot from an existing Cinder volume.
We use Reduxio manual bookmark to represent a snapshot.
:param snapshot: The snapshot object.
If the snapshot \'metadata\' field contains a \'backdate\' key
(If using Cinder CLI, should be provided by --meta flag),
then we create a snapshot from the specified time.
The \'backdate\' metadata value should be in the format of
Reduxio CLI date: mm/dd/yyyy-hh:mm:ss.
for example: \'02/17/2015-11:39:00\'.
Note: Different timezones might be configured
for Reduxio and OpenStack.
The specified date must be related to Reduxio time settings.
If meta key \'backdate\' was not specified, then we create a snapshot
from the volume\'s current state.
:return: None'

@cinder_utils.trace
def create_snapshot(self, snapshot):

    LOG.info('Creating    snapshot(%(snap)s)    from    volume(%(vol)s)', {'snap': snapshot['name'], 'vol': snapshot['volume_name']})
    cli_vol_name = self._cinder_id_to_rdx(snapshot['volume_id'])
    cli_bookmark_name = self._cinder_id_to_rdx(snapshot['id'])
    bookmark_type = 'manual'
    if (BACKDATE_META_FIELD in snapshot[METADATA_KEY]):
        self.rdxApi.add_vol_bookmark(vol=cli_vol_name, bm_name=cli_bookmark_name, bm_type=bookmark_type, str_date=snapshot[METADATA_KEY][BACKDATE_META_FIELD])
    else:
        self.rdxApi.add_vol_bookmark(vol=cli_vol_name, bm_name=cli_bookmark_name, bm_type=bookmark_type)
