'Creates a new volume on the Storage Center.
It will create it in a folder called self.vfname.  If self.vfname
does not exist it will create it.  If it cannot create it
the volume will be created in the root.
:param name: Name of the volume to be created on the Dell SC backend.
This is the cinder volume ID.
:param size: The size of the volume to be created in GB.
:param storage_profile: Optional storage profile to set for the volume.
:param replay_profile_string: Optional replay profile to set for
the volume.
:param volume_qos: Volume QOS profile name.
:param group_qos: Group QOS profile name.
:param datareductionprofile: Data reduction profile name
:returns: Dell Volume object or None.'

def create_volume(self, name, size, storage_profile=None, replay_profile_string=None, volume_qos=None, group_qos=None, datareductionprofile=None):

    LOG.debug('create_volume:    %(name)s    %(ssn)s    %(folder)s    %(profile)s    %(vqos)r    %(gqos)r    %(dup)r', {'name': name, 'ssn': self.ssn, 'folder': self.vfname, 'profile': storage_profile, 'replay': replay_profile_string, 'vqos': volume_qos, 'gqos': group_qos, 'dup': datareductionprofile})
    folder = self._find_volume_folder(True)
    if (folder is None):
        LOG.warning('Unable    to    create    folder    %s', self.vfname)
    (addids, removeids) = self._find_replay_profiles(replay_profile_string)
    scvolume = None
    payload = {}
    payload['Name'] = name
    payload['Notes'] = self.notes
    payload['Size'] = ('%d    GB' % size)
    payload['StorageCenter'] = self.ssn
    if (folder is not None):
        payload['VolumeFolder'] = self._get_id(folder)
    self._check_add_profile_payload(payload, self._find_storage_profile(storage_profile), storage_profile, 'StorageProfile')
    self._check_add_profile_payload(payload, self._find_qos_profile(volume_qos), volume_qos, 'VolumeQosProfile')
    self._check_add_profile_payload(payload, self._find_qos_profile(group_qos, True), group_qos, 'GroupQosProfile')
    self._check_add_profile_payload(payload, self._find_data_reduction_profile(datareductionprofile), datareductionprofile, 'DataReductionProfile')
    if addids:
        payload['ReplayProfileList'] = addids
    r = self.client.post('StorageCenter/ScVolume', payload, True)
    if self._check_result(r):
        scvolume = self._get_json(r)
        if scvolume:
            LOG.info('Created    volume    %(instanceId)s:    %(name)s', {'instanceId': scvolume['instanceId'], 'name': scvolume['name']})
        else:
            LOG.error('ScVolume    returned    success    with    empty    payload.    Attempting    to    locate    volume')
            scvolume = self._search_for_volume(name)
    else:
        LOG.error('Unable    to    create    volume    on    SC:    %s', name)
    return scvolume
