Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfad41ec

Browse files
committed
change terraform download warning to debug log
1 parent74c0ce6 commitfad41ec

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

‎provisioner/terraform/install.go‎

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,24 @@ func Install(ctx context.Context, log slog.Logger, dir string, wantVersion *vers
6464
Version:TerraformVersion,
6565
}
6666
installer.SetLogger(slog.Stdlib(ctx,log,slog.LevelDebug))
67-
log.Debug(
68-
ctx,
69-
"installing terraform",
70-
slog.F("prev_version",hasVersionStr),
71-
slog.F("dir",dir),
72-
slog.F("version",TerraformVersion),
73-
)
67+
68+
logInstallCtx,logInstallCancel:=context.WithCancel(ctx)
69+
gofunc() {
70+
// If the installation is taking too long, log a notice.
71+
select {
72+
case<-time.After(10*time.Second):
73+
log.Info(
74+
logInstallCtx,
75+
"installing terraform",
76+
slog.F("prev_version",hasVersionStr),
77+
slog.F("dir",dir),
78+
slog.F("version",TerraformVersion),
79+
)
80+
case<-logInstallCtx.Done():
81+
return
82+
}
83+
}()
84+
deferlogInstallCancel()
7485

7586
path,err:=installer.Install(ctx)
7687
iferr!=nil {

‎provisioner/terraform/serve.go‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"path/filepath"
66
"sync"
7+
"sync/atomic"
78
"time"
89

910
"github.com/cli/safeexec"
@@ -41,6 +42,8 @@ type ServeOptions struct {
4142
ExitTimeout time.Duration
4243
}
4344

45+
varloggedVersion atomic.Bool
46+
4447
funcabsoluteBinaryPath(ctx context.Context,logger slog.Logger) (string,error) {
4548
binaryPath,err:=safeexec.LookPath("terraform")
4649
iferr!=nil {
@@ -63,10 +66,14 @@ func absoluteBinaryPath(ctx context.Context, logger slog.Logger) (string, error)
6366
return"",xerrors.Errorf("Terraform binary get version failed: %w",err)
6467
}
6568

66-
logger.Info(ctx,"detected terraform version",
67-
slog.F("installed_version",installedVersion.String()),
68-
slog.F("min_version",minTerraformVersion.String()),
69-
slog.F("max_version",maxTerraformVersion.String()))
69+
// When running in-memory provisioners, each one reaches this point.
70+
// It's not useful to print this to the user multiple times, so we ensure to log it once.
71+
if!loggedVersion.Swap(true) {
72+
logger.Info(ctx,"detected terraform version",
73+
slog.F("installed_version",installedVersion.String()),
74+
slog.F("min_version",minTerraformVersion.String()),
75+
slog.F("max_version",maxTerraformVersion.String()))
76+
}
7077

7178
ifinstalledVersion.LessThan(minTerraformVersion) {
7279
logger.Warn(ctx,"installed terraform version too old, will download known good version to cache")
@@ -97,9 +104,6 @@ func Serve(ctx context.Context, options *ServeOptions) error {
97104
returnxerrors.Errorf("absolute binary context canceled: %w",err)
98105
}
99106

100-
options.Logger.Warn(ctx,"no usable terraform binary found, downloading to cache dir",
101-
slog.F("terraform_version",TerraformVersion.String()),
102-
slog.F("cache_dir",options.CachePath))
103107
binPath,err:=Install(ctx,options.Logger,options.CachePath,TerraformVersion)
104108
iferr!=nil {
105109
returnxerrors.Errorf("install terraform: %w",err)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp