15954: Pass config instead of loader.
authorTom Clegg <tom@tomclegg.ca>
Wed, 19 Feb 2020 02:10:09 +0000 (21:10 -0500)
committerTom Clegg <tom@tomclegg.ca>
Wed, 19 Feb 2020 02:10:09 +0000 (21:10 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

lib/boot/cmd.go

index 6cf44837cafb291227efa9b7c6954a749b0ddffd..cd2582d03f2c508a317bdf818da169f215786a33 100644 (file)
@@ -95,7 +95,13 @@ func (bootCommand) RunCommand(prog string, args []string, stdin io.Reader, stdou
                return 2
        }
 
-       boot.Start(ctx, loader)
+       loader.SkipAPICalls = true
+       cfg, err := loader.Load()
+       if err != nil {
+               return 1
+       }
+
+       boot.Start(ctx, cfg)
        defer boot.Stop()
        if boot.WaitReady() {
                fmt.Fprintln(stdout, boot.cluster.Services.Controller.ExternalURL)
@@ -133,11 +139,11 @@ type Booter struct {
        goMutex       sync.Mutex
 }
 
-func (boot *Booter) Start(ctx context.Context, loader *config.Loader) {
+func (boot *Booter) Start(ctx context.Context, cfg *arvados.Config) {
        boot.ctx, boot.cancel = context.WithCancel(ctx)
        boot.done = make(chan struct{})
        go func() {
-               err := boot.run(loader)
+               err := boot.run(cfg)
                if err != nil {
                        fmt.Fprintln(boot.Stderr, err)
                }
@@ -145,7 +151,7 @@ func (boot *Booter) Start(ctx context.Context, loader *config.Loader) {
        }()
 }
 
-func (boot *Booter) run(loader *config.Loader) error {
+func (boot *Booter) run(cfg *arvados.Config) error {
        cwd, err := os.Getwd()
        if err != nil {
                return err
@@ -164,12 +170,6 @@ func (boot *Booter) run(loader *config.Loader) error {
        }
        defer os.RemoveAll(boot.tempdir)
 
-       loader.SkipAPICalls = true
-       cfg, err := loader.Load()
-       if err != nil {
-               return err
-       }
-
        // Fill in any missing config keys, and write the resulting
        // config in the temp dir for child services to use.
        err = boot.autofillConfig(cfg, boot.logger)