X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a93774da6449567a2759672cf329be6ec96f91e3..7abf74e3ad723ed8aed4d13e794a8f6ad6f44059:/lib/config/load.go diff --git a/lib/config/load.go b/lib/config/load.go index 2dacd5c26c..3413e3bec3 100644 --- a/lib/config/load.go +++ b/lib/config/load.go @@ -26,10 +26,12 @@ var ErrNoClustersDefined = errors.New("config does not define any clusters") type Loader struct { Stdin io.Reader Logger logrus.FieldLogger - SkipDeprecated bool // Don't load legacy/deprecated config keys/files + SkipDeprecated bool // Don't load deprecated config keys + SkipLegacy bool // Don't load legacy config files Path string KeepstorePath string + KeepWebPath string CrunchDispatchSlurmPath string WebsocketPath string @@ -59,8 +61,10 @@ func NewLoader(stdin io.Reader, logger logrus.FieldLogger) *Loader { func (ldr *Loader) SetupFlags(flagset *flag.FlagSet) { flagset.StringVar(&ldr.Path, "config", arvados.DefaultConfigFile, "Site configuration `file` (default may be overridden by setting an ARVADOS_CONFIG environment variable)") flagset.StringVar(&ldr.KeepstorePath, "legacy-keepstore-config", defaultKeepstoreConfigPath, "Legacy keepstore configuration `file`") + flagset.StringVar(&ldr.KeepWebPath, "legacy-keepweb-config", defaultKeepWebConfigPath, "Legacy keep-web configuration `file`") flagset.StringVar(&ldr.CrunchDispatchSlurmPath, "legacy-crunch-dispatch-slurm-config", defaultCrunchDispatchSlurmConfigPath, "Legacy crunch-dispatch-slurm configuration `file`") flagset.StringVar(&ldr.WebsocketPath, "legacy-ws-config", defaultWebsocketConfigPath, "Legacy arvados-ws configuration `file`") + flagset.BoolVar(&ldr.SkipLegacy, "skip-legacy", false, "Don't load legacy config files") } // MungeLegacyConfigArgs checks args for a -config flag whose argument @@ -119,6 +123,22 @@ func (ldr *Loader) MungeLegacyConfigArgs(lgr logrus.FieldLogger, args []string, } } } + + // Disable legacy config loading for components other than the + // one that was specified + if legacyConfigArg != "-legacy-keepstore-config" { + ldr.KeepstorePath = "" + } + if legacyConfigArg != "-legacy-crunch-dispatch-slurm-config" { + ldr.CrunchDispatchSlurmPath = "" + } + if legacyConfigArg != "-legacy-ws-config" { + ldr.WebsocketPath = "" + } + if legacyConfigArg != "-legacy-keepweb-config" { + ldr.KeepWebPath = "" + } + return munged } @@ -207,12 +227,15 @@ func (ldr *Loader) Load() (*arvados.Config, error) { if err != nil { return nil, err } + } + if !ldr.SkipLegacy { // legacy file is required when either: // * a non-default location was specified // * no primary config was loaded, and this is the // legacy config file for the current component for _, err := range []error{ ldr.loadOldKeepstoreConfig(&cfg), + ldr.loadOldKeepWebConfig(&cfg), ldr.loadOldCrunchDispatchSlurmConfig(&cfg), ldr.loadOldWebsocketConfig(&cfg), } {