diff --git a/local/clients.go b/local/clients.go index d19af697..64cfd1b5 100644 --- a/local/clients.go +++ b/local/clients.go @@ -26,12 +26,15 @@ import ( func GetLocalClients(logger *log.Logger, config resources.UbiquityServerConfig) (map[string]resources.StorageClient, error) { // TODO need to refactor and load all the existing clients automatically (instead of hardcore each one here) clients := make(map[string]resources.StorageClient) - ScbeClient, err := scbe.NewScbeLocalClient(config.ScbeConfig) - if err != nil { - logger.Printf("Not enough params to initialize '%s' client", resources.SCBE) - } else { - clients[resources.SCBE] = ScbeClient - } + + if (config.ScbeConfig.ConnectionInfo.ManagementIP != "") { + ScbeClient, err := scbe.NewScbeLocalClient(config.ScbeConfig) + if err != nil { + logger.Printf("Not enough params to initialize '%s' client", resources.SCBE) + } else { + clients[resources.SCBE] = ScbeClient + } + } if len(clients) == 0 { log.Fatal("No client can be initialized....please check config file") diff --git a/local/spectrumscale/connectors/connectors.go b/local/spectrumscale/connectors/connectors.go index 7f5be218..49caa912 100644 --- a/local/spectrumscale/connectors/connectors.go +++ b/local/spectrumscale/connectors/connectors.go @@ -54,7 +54,7 @@ const ( ) func GetSpectrumScaleConnector(logger *log.Logger, config resources.SpectrumScaleConfig) (SpectrumScaleConnector, error) { - if config.RestConfig.Endpoint != "" { + if config.RestConfig.ManagementIP != "" { logger.Printf("Initializing SpectrumScale REST connector\n") return NewSpectrumRestV2(logger, config.RestConfig) } diff --git a/local/spectrumscale/connectors/rest.go b/local/spectrumscale/connectors/rest.go index 85ffcb34..171d9406 100644 --- a/local/spectrumscale/connectors/rest.go +++ b/local/spectrumscale/connectors/rest.go @@ -36,7 +36,7 @@ type spectrum_rest struct { } func NewSpectrumRest(logger *log.Logger, restConfig resources.RestConfig) (SpectrumScaleConnector, error) { - endpoint := restConfig.Endpoint + endpoint := fmt.Sprintf("https://%s:%d/", restConfig.ManagementIP, restConfig.Port) user := restConfig.User password := restConfig.Password @@ -48,7 +48,7 @@ func NewSpectrumRest(logger *log.Logger, restConfig resources.RestConfig) (Spect } func NewSpectrumRestWithClient(logger *log.Logger, restConfig resources.RestConfig, client *http.Client) (SpectrumScaleConnector, error) { - endpoint := restConfig.Endpoint + endpoint := fmt.Sprintf("https://%s:%d/", restConfig.ManagementIP, restConfig.Port) return &spectrum_rest{logger: logger, httpClient: client, endpoint: endpoint}, nil } diff --git a/local/spectrumscale/connectors/rest_v2.go b/local/spectrumscale/connectors/rest_v2.go index 63795815..20496950 100644 --- a/local/spectrumscale/connectors/rest_v2.go +++ b/local/spectrumscale/connectors/rest_v2.go @@ -123,7 +123,7 @@ func (s *spectrumRestV2) AsyncJobCompletion(jobURL string) error { func NewSpectrumRestV2(logger *log.Logger, restConfig resources.RestConfig) (SpectrumScaleConnector, error) { - endpoint := restConfig.Endpoint + endpoint := fmt.Sprintf("https://%s:%d/", restConfig.ManagementIP, restConfig.Port) user := restConfig.User password := restConfig.Password hostname := restConfig.Hostname @@ -135,7 +135,7 @@ func NewSpectrumRestV2(logger *log.Logger, restConfig resources.RestConfig) (Spe } func NewspectrumRestV2WithClient(logger *log.Logger, restConfig resources.RestConfig) (SpectrumScaleConnector, *http.Client, error) { - endpoint := restConfig.Endpoint + endpoint := fmt.Sprintf("https://%s:%d/", restConfig.ManagementIP, restConfig.Port) user := restConfig.User password := restConfig.Password hostname := restConfig.Hostname diff --git a/local/spectrumscale/connectors/rest_v2_test.go b/local/spectrumscale/connectors/rest_v2_test.go index b79c55c6..60c45f2c 100644 --- a/local/spectrumscale/connectors/rest_v2_test.go +++ b/local/spectrumscale/connectors/rest_v2_test.go @@ -46,7 +46,8 @@ var _ = Describe("spectrumRestV2", func() { logger = log.New(os.Stdout, "spectrum: ", log.Lshortfile|log.LstdFlags) httpmock.Activate() fakeurl = "http://1.1.1.1:443" - restConfig.Endpoint = fakeurl + restConfig.ManagementIP = "1.1.1.1" + restConfig.Port = 443 restConfig.User = "fakeuser" restConfig.Password = "fakepassword" restConfig.Hostname = "fakehostname" diff --git a/local/spectrumscale/spectrumscale.go b/local/spectrumscale/spectrumscale.go index e72b4c1b..909d90ee 100644 --- a/local/spectrumscale/spectrumscale.go +++ b/local/spectrumscale/spectrumscale.go @@ -630,7 +630,7 @@ func (s *spectrumLocalClient) updateDBWithExistingFilesetQuota(filesystem, name, return err } - if s.config.RestConfig.Endpoint != "" { + if s.config.RestConfig.ManagementIP != "" { s.logger.Printf("For REST connector converting quotas to bytes\n") filesetQuotaBytes, err := utils.ConvertToBytes(s.logger, filesetQuota) if err != nil { diff --git a/resources/resources.go b/resources/resources.go index d4fbbea0..13fa6a48 100644 --- a/resources/resources.go +++ b/resources/resources.go @@ -85,6 +85,8 @@ const KeyScbeSslMode = "SCBE_SSL_MODE" const DefaultDbSslMode = SslModeVerifyFull const DefaultScbeSslMode = SslModeVerifyFull const DefaultPluginsSslMode = SslModeVerifyFull +const SpectrumscaleDefaultPort = 443 // the default port for SPECTRUM SCALE management +const SpectrumScaleParamPrefix = "SPECTRUMSCALE_" type SshConfig struct { User string @@ -93,10 +95,11 @@ type SshConfig struct { } type RestConfig struct { - Endpoint string - User string - Password string - Hostname string + Port int + ManagementIP string + User string + Password string + Hostname string } type SpectrumNfsRemoteConfig struct { diff --git a/utils/utils.go b/utils/utils.go index 3d74d96a..efd9c753 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -233,16 +233,20 @@ func LoadConfig() (resources.UbiquityServerConfig, error) { sscConfig.SshConfig = sshConfig } restConfig := resources.RestConfig{} - restConfig.Endpoint = os.Getenv("SSC_REST_ENDPOINT") - restConfig.User = os.Getenv("SSC_REST_USER") - restConfig.Password = os.Getenv("SSC_REST_PASSWORD") - restConfig.Hostname = os.Getenv("SSC_REST_HOSTNAME") - if restConfig.User != "" && restConfig.Hostname != "" && restConfig.Password != "" { - sscConfig.RestConfig = restConfig + restConfig.User = os.Getenv(resources.SpectrumScaleParamPrefix + "REST_USER") + restConfig.Password = os.Getenv(resources.SpectrumScaleParamPrefix + "REST_PASSWORD") + restConfig.Hostname = os.Getenv(resources.SpectrumScaleParamPrefix + "REST_HOSTNAME") + restConfig.ManagementIP = os.Getenv(resources.SpectrumScaleParamPrefix + "MANAGEMENT_IP") + spectrumscalePort, err := strconv.ParseInt(os.Getenv(resources.SpectrumScaleParamPrefix + "MANAGEMENT_PORT"), 0, 32) + if err != nil { + restConfig.Port = resources.SpectrumscaleDefaultPort + } else { + restConfig.Port = int(spectrumscalePort) } - sscConfig.DefaultFilesystemName = os.Getenv("DEFAULT_FILESYSTEM_NAME") + sscConfig.RestConfig = restConfig + sscConfig.DefaultFilesystemName = os.Getenv(resources.SpectrumScaleParamPrefix + "DEFAULT_FILESYSTEM_NAME") sscConfig.NfsServerAddr = os.Getenv("SSC_NFS_SERVER_ADDRESS") - forceDelete, err := strconv.ParseBool(os.Getenv("FORCE_DELETE")) + forceDelete, err := strconv.ParseBool(os.Getenv(resources.SpectrumScaleParamPrefix + "FORCE_DELETE")) if err != nil { sscConfig.ForceDelete = false } else {