From 703b17d47e121a3f443ba470981095dc273858d2 Mon Sep 17 00:00:00 2001 From: Megan Marsh Date: Tue, 26 Jan 2021 11:32:51 -0800 Subject: [PATCH] tinkering --- packer/provisioner.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packer/provisioner.go b/packer/provisioner.go index 41b79f5a0..d49dff656 100644 --- a/packer/provisioner.go +++ b/packer/provisioner.go @@ -3,7 +3,9 @@ package packer import ( "context" "fmt" + "io/ioutil" "log" + "math" "sync" "time" @@ -165,17 +167,19 @@ func (p *PausedProvisioner) Provision(ctx context.Context, ui packersdk.Ui, comm } func (p *PausedProvisioner) updatesWhilePausing(ctx context.Context, ui packersdk.Ui) error { - updateTime := 10 + updateTime := 1 timeTicker := time.NewTicker(time.Duration(updateTime) * time.Second) - TotalTime := p.PauseBefore.Seconds() + TotalTime := int64(math.Round(p.PauseBefore.Seconds())) + ElapsedTime := int64(0) tickerChannel := make(chan bool) var err error go func() { for { select { case <-timeTicker.C: - TotalTime -= float64(updateTime) - ui.Say(fmt.Sprintf("%v seconds left until the next provisioner", TotalTime)) + ElapsedTime += int64(updateTime) + ui.TrackProgress("Pausing...", ElapsedTime, TotalTime, ioutil.NopCloser(nil)) + // ui.Say(fmt.Sprintf("%v seconds left until the next provisioner", TotalTime)) case <-ctx.Done(): err = ctx.Err() return