'Necessary setup to accumulate the relevant information.
The volume object has a host in which we can parse the
config group name. The config group name is the key to our EMC
configuration file. The emc configuration file contains srp name
and array name which are mandatory fields.
:param volume: the volume object
:param volume_type_id: optional override of volume.volume_type_id
:returns: dict -- extra spec dict
:raises: VolumeBackendAPIException:'

def _initial_setup(self, volume, volume_type_id=None):

    try:
        (extra_specs, config_file, qos_specs) = self._set_config_file_and_get_extra_specs(volume, volume_type_id)
        array_info = self.utils.parse_file_to_get_array_map(config_file)
        if (not array_info):
            exception_message = _('Unable    to    get    corresponding    record    for    srp.')
            raise exception.VolumeBackendAPIException(data=exception_message)
        self.rest.set_rest_credentials(array_info)
        extra_specs = self._set_vmax_extra_specs(extra_specs, array_info)
        if (qos_specs and (qos_specs.get('consumer') != 'front-end')):
            extra_specs['qos'] = qos_specs.get('specs')
    except Exception:
        exception_message = (_('Unable    to    get    configuration    information    necessary    to    create    a    volume:    %(errorMessage)s.') % {'errorMessage': sys.exc_info()[1]})
        raise exception.VolumeBackendAPIException(data=exception_message)
    return extra_specs
