'Performs driver initialization steps that could raise exceptions.'

def do_setup(self, context):

    if (purestorage is None):
        msg = _("Missing    'purestorage'    python    module,    ensure    the    library    is    installed    and    available.")
        raise exception.PureDriverException(msg)
    purestorage.FlashArray.supported_rest_versions = self.SUPPORTED_REST_API_VERSIONS
    self._array = self._get_flasharray(self.configuration.san_ip, api_token=self.configuration.pure_api_token, verify_https=self.configuration.driver_ssl_cert_verify, ssl_cert_path=self.configuration.driver_ssl_cert_path)
    self._array._backend_id = self._backend_name
    LOG.debug('Primary    array    backend_id:    %s', self.configuration.config_group)
    LOG.debug('Primary    array    name:    %s', self._array.array_name)
    LOG.debug('Primary    array    id:    %s', self._array.array_id)
    self.do_setup_replication()
    if ((self._active_backend_id is not None) and (self._active_backend_id != self._array._backend_id)):
        for array in self._replication_target_arrays:
            if (array._backend_id == self._active_backend_id):
                self._failed_over_primary_array = self._array
                self._array = array
                break
