diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a56e1d270..4f7ce61c5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ### Improvements - Aggregate error messages from Pods on Job Read. (https://github.com/pulumi/pulumi-kubernetes/pull/831). +- Improve interactive status for Jobs. (https://github.com/pulumi/pulumi-kubernetes/pull/832). ## 1.2.0 (October 4, 2019) diff --git a/pkg/await/job.go b/pkg/await/job.go index b3a5a158e1..0c9cb9c70f 100644 --- a/pkg/await/job.go +++ b/pkg/await/job.go @@ -15,6 +15,7 @@ package await import ( + "strings" "time" "github.com/golang/glog" @@ -135,10 +136,7 @@ func (jia *jobInitAwaiter) Await() error { return err } case messages := <-podAggregator.ResultChan(): - for _, message := range messages { - jia.errors.Add(message) - jia.config.logMessage(message) - } + jia.processPodMessages(messages) } } } @@ -211,6 +209,19 @@ func (jia *jobInitAwaiter) processJobEvent(event watch.Event) error { return nil } +func (jia *jobInitAwaiter) processPodMessages(messages logging.Messages) { + for _, message := range messages { + jia.errors.Add(message) + + // The unready status condition always occurs as a normal part of a Job running, so don't print + // this as a warning. If the Job fails to complete, this warning will be included in the subErrors. + if strings.Contains(message.S, "containers with unready status") { + continue + } + jia.config.logMessage(message) + } +} + func (jia *jobInitAwaiter) errorMessages() []string { messages := make([]string, 0) for _, message := range jia.errors.Messages {