diff --git a/Gopkg.lock b/Gopkg.lock index f61700bf..a323ea68 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -966,7 +966,7 @@ [[projects]] branch = "master" - digest = "1:7fce3b5a8d117763efbf4b6b9862940a5472d276022b0b324b39b70ef4fa77bd" + digest = "1:94d7cfde4eee652c089b47f0200b86bc28e618de18a2e5368b0bbc8e2b601026" name = "knative.dev/pkg" packages = [ "apis", @@ -986,7 +986,7 @@ "reconciler", ] pruneopts = "T" - revision = "42d1b005c814b8f9ea786ff89c90c91448c1417a" + revision = "c13e86e2d4f484f1dd3b8ca6474994c16da74f20" [[projects]] branch = "master" @@ -997,7 +997,7 @@ "tools/dep-collector", ] pruneopts = "UT" - revision = "e7f947d615d5eb623e80824f71d139a958c4019f" + revision = "64929018c86389e47a88782619565b6d099c0a5a" [[projects]] digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c" diff --git a/vendor/knative.dev/pkg/Gopkg.lock b/vendor/knative.dev/pkg/Gopkg.lock index d05b4025..36862520 100644 --- a/vendor/knative.dev/pkg/Gopkg.lock +++ b/vendor/knative.dev/pkg/Gopkg.lock @@ -1350,14 +1350,14 @@ [[projects]] branch = "master" - digest = "1:115d2f6e72ee06327259bdba21d26f28c359c62464afd73538fbab66ae2b7698" + digest = "1:3f2366ce9a05503ac8da902b58e898c285cc9a972e0e89fda0b2a2fedcd4fb46" name = "knative.dev/test-infra" packages = [ "scripts", "tools/dep-collector", ] pruneopts = "UT" - revision = "01c075fbeae4b089793fcca6fc855d31e1628cad" + revision = "e7f947d615d5eb623e80824f71d139a958c4019f" [[projects]] digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c" diff --git a/vendor/knative.dev/pkg/apis/condition_set.go b/vendor/knative.dev/pkg/apis/condition_set.go index 2691dcf0..3e1ac5c9 100644 --- a/vendor/knative.dev/pkg/apis/condition_set.go +++ b/vendor/knative.dev/pkg/apis/condition_set.go @@ -75,6 +75,10 @@ type ConditionManager interface { // true if all dependents are true. MarkTrue(t ConditionType) + // MarkTrueWithReason sets the status of t to true with the reason, and then marks the happy + // condition to true if all dependents are true. + MarkTrueWithReason(t ConditionType, reason, messageFormat string, messageA ...interface{}) + // MarkUnknown sets the status of t to Unknown and also sets the happy condition // to Unknown if no other dependent condition is in an error state. MarkUnknown(t ConditionType, reason, messageFormat string, messageA ...interface{}) @@ -253,7 +257,25 @@ func (r conditionsImpl) MarkTrue(t ConditionType) { Status: corev1.ConditionTrue, Severity: r.severity(t), }) + r.recomputeHappiness(t) +} +// MarkTrueWithReason sets the status of t to true with the reason, and then marks the happy condition to +// true if all other dependents are also true. +func (r conditionsImpl) MarkTrueWithReason(t ConditionType, reason, messageFormat string, messageA ...interface{}) { + // set the specified condition + r.SetCondition(Condition{ + Type: t, + Status: corev1.ConditionTrue, + Reason: reason, + Message: fmt.Sprintf(messageFormat, messageA...), + Severity: r.severity(t), + }) + r.recomputeHappiness(t) +} + +// recomputeHappiness marks the happy condition to true if all other dependents are also true. +func (r conditionsImpl) recomputeHappiness(t ConditionType) { if c := r.findUnhappyDependent(); c != nil { // Propagate unhappy dependent to happy condition. r.SetCondition(Condition{