X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f1bacedbd36a8b564439231652bbda7106ebf3a2..HEAD:/lib/config/deprecated.go diff --git a/lib/config/deprecated.go b/lib/config/deprecated.go index d53e7ae340..445161d7ab 100644 --- a/lib/config/deprecated.go +++ b/lib/config/deprecated.go @@ -21,6 +21,18 @@ type deprRequestLimits struct { MultiClusterRequestConcurrency *int } +type deprCUDAFeatures struct { + DriverVersion string + HardwareCapability string + DeviceCount int +} + +type deprInstanceType struct { + CUDA *deprCUDAFeatures +} + +type deprInstanceTypeMap map[string]deprInstanceType + type deprCluster struct { RequestLimits deprRequestLimits NodeProfiles map[string]nodeProfile @@ -31,6 +43,16 @@ type deprCluster struct { ProviderAppID *string ProviderAppSecret *string } + Mail struct { + SendUserSetupNotificationEmail *bool + SupportEmailAddress *string + } + Containers struct { + LSF struct { + BsubCUDAArguments *[]string + } + } + InstanceTypes deprInstanceTypeMap } type deprecatedConfig struct { @@ -87,6 +109,18 @@ func (ldr *Loader) applyDeprecatedConfig(cfg *arvados.Config) error { if dst, n := &cluster.API.MaxRequestAmplification, dcluster.RequestLimits.MultiClusterRequestConcurrency; n != nil && *n != *dst { *dst = *n } + if dst, addr := &cluster.Users.SupportEmailAddress, dcluster.Mail.SupportEmailAddress; addr != nil { + *dst = *addr + ldr.Logger.Warnf("using your old config key Mail.SupportEmailAddress -- but you should rename it to Users.SupportEmailAddress") + } + if dst, b := &cluster.Users.SendUserSetupNotificationEmail, dcluster.Mail.SendUserSetupNotificationEmail; b != nil { + *dst = *b + ldr.Logger.Warnf("using your old config key Mail.SendUserSetupNotificationEmail -- but you should rename it to Users.SendUserSetupNotificationEmail") + } + if dst, n := &cluster.Containers.LSF.BsubGPUArguments, dcluster.Containers.LSF.BsubCUDAArguments; n != nil { + *dst = *n + ldr.Logger.Warnf("using your old config key Containers.LSF.BsubCUDAArguments -- but you should rename it to Containers.LSF.BsubGPUArguments") + } // Google* moved to Google.* if dst, n := &cluster.Login.Google.ClientID, dcluster.Login.GoogleClientID; n != nil && *n != *dst { @@ -103,6 +137,21 @@ func (ldr *Loader) applyDeprecatedConfig(cfg *arvados.Config) error { *dst = *n } + for name, instanceType := range dcluster.InstanceTypes { + if instanceType.CUDA != nil { + updInstanceType := cluster.InstanceTypes[name] + updInstanceType.GPU = arvados.GPUFeatures{ + Stack: "cuda", + DriverVersion: instanceType.CUDA.DriverVersion, + HardwareTarget: instanceType.CUDA.HardwareCapability, + DeviceCount: instanceType.CUDA.DeviceCount, + VRAM: 0, + } + cluster.InstanceTypes[name] = updInstanceType + ldr.Logger.Warnf("InstanceType %q has deprecated CUDA section, should be migrated to GPU section", name) + } + } + cfg.Clusters[id] = cluster } return nil @@ -494,17 +543,8 @@ func (ldr *Loader) loadOldKeepWebConfig(cfg *arvados.Config) error { if oc.Cache.TTL != nil { cluster.Collections.WebDAVCache.TTL = *oc.Cache.TTL } - if oc.Cache.UUIDTTL != nil { - cluster.Collections.WebDAVCache.UUIDTTL = *oc.Cache.UUIDTTL - } - if oc.Cache.MaxCollectionEntries != nil { - cluster.Collections.WebDAVCache.MaxCollectionEntries = *oc.Cache.MaxCollectionEntries - } if oc.Cache.MaxCollectionBytes != nil { - cluster.Collections.WebDAVCache.MaxCollectionBytes = *oc.Cache.MaxCollectionBytes - } - if oc.Cache.MaxUUIDEntries != nil { - cluster.Collections.WebDAVCache.MaxUUIDEntries = *oc.Cache.MaxUUIDEntries + cluster.Collections.WebDAVCache.MaxCollectionBytes = arvados.ByteSize(*oc.Cache.MaxCollectionBytes) } if oc.AnonymousTokens != nil { if len(*oc.AnonymousTokens) > 0 { @@ -519,56 +559,6 @@ func (ldr *Loader) loadOldKeepWebConfig(cfg *arvados.Config) error { return nil } -const defaultGitHttpdConfigPath = "/etc/arvados/git-httpd/git-httpd.yml" - -type oldGitHttpdConfig struct { - Client *arvados.Client - Listen *string - GitCommand *string - GitoliteHome *string - RepoRoot *string - ManagementToken *string -} - -func (ldr *Loader) loadOldGitHttpdConfig(cfg *arvados.Config) error { - if ldr.GitHttpdPath == "" { - return nil - } - var oc oldGitHttpdConfig - err := ldr.loadOldConfigHelper("arv-git-httpd", ldr.GitHttpdPath, &oc) - if os.IsNotExist(err) && ldr.GitHttpdPath == defaultGitHttpdConfigPath { - return nil - } else if err != nil { - return err - } - - cluster, err := cfg.GetCluster("") - if err != nil { - return err - } - - loadOldClientConfig(cluster, oc.Client) - - if oc.Listen != nil { - cluster.Services.GitHTTP.InternalURLs[arvados.URL{Host: *oc.Listen}] = arvados.ServiceInstance{} - } - if oc.ManagementToken != nil { - cluster.ManagementToken = *oc.ManagementToken - } - if oc.GitCommand != nil { - cluster.Git.GitCommand = *oc.GitCommand - } - if oc.GitoliteHome != nil { - cluster.Git.GitoliteHome = *oc.GitoliteHome - } - if oc.RepoRoot != nil { - cluster.Git.Repositories = *oc.RepoRoot - } - - cfg.Clusters[cluster.ClusterID] = *cluster - return nil -} - const defaultKeepBalanceConfigPath = "/etc/arvados/keep-balance/keep-balance.yml" type oldKeepBalanceConfig struct {