fix: Panic if Terraform fails installation (#1056)

This commit is contained in:
Kyle Carberry 2022-04-18 15:11:59 -05:00 committed by GitHub
parent 866205c145
commit 6d948ffba2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -202,9 +202,10 @@ func start() *cobra.Command {
}
}
errCh := make(chan error, 1)
provisionerDaemons := make([]*provisionerd.Server, 0)
for i := 0; uint8(i) < provisionerDaemonCount; i++ {
daemonClose, err := newProvisionerDaemon(cmd.Context(), client, logger, cacheDir)
daemonClose, err := newProvisionerDaemon(cmd.Context(), client, logger, cacheDir, errCh)
if err != nil {
return xerrors.Errorf("create provisioner daemon: %w", err)
}
@ -216,7 +217,6 @@ func start() *cobra.Command {
}
}()
errCh := make(chan error, 1)
shutdownConnsCtx, shutdownConns := context.WithCancel(cmd.Context())
defer shutdownConns()
go func() {
@ -413,7 +413,7 @@ func createFirstUser(cmd *cobra.Command, client *codersdk.Client, cfg config.Roo
return nil
}
func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger slog.Logger, cacheDir string) (*provisionerd.Server, error) {
func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger slog.Logger, cacheDir string, errChan chan error) (*provisionerd.Server, error) {
err := os.MkdirAll(cacheDir, 0700)
if err != nil {
return nil, xerrors.Errorf("mkdir %q: %w", cacheDir, err)
@ -429,7 +429,7 @@ func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger s
Logger: logger,
})
if err != nil {
panic(err)
errChan <- err
}
}()