From 7db6f7a89c1f1b4aeed8ae89b1c02e5921300383 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Thu, 6 Dec 2018 11:08:27 +0100 Subject: [PATCH] aggregator: fix available condition transition time --- .../src/k8s.io/kube-aggregator/pkg/controllers/status/BUILD | 1 + .../pkg/controllers/status/available_controller.go | 6 ++++-- .../pkg/controllers/status/available_controller_test.go | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/BUILD b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/BUILD index 5ec5d75b3b9..1026e9bd86a 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/BUILD +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/BUILD @@ -19,6 +19,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go index 6bcad90bd39..364e00ae9fb 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go @@ -29,6 +29,7 @@ import ( "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" @@ -151,8 +152,9 @@ func (c *AvailableConditionController) sync(key string) error { apiService := originalAPIService.DeepCopy() availableCondition := apiregistration.APIServiceCondition{ - Type: apiregistration.Available, - Status: apiregistration.ConditionTrue, + Type: apiregistration.Available, + Status: apiregistration.ConditionTrue, + LastTransitionTime: metav1.Now(), } // local API services are always considered available diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go index 895cc9a74b6..5feec0e183e 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go @@ -228,6 +228,9 @@ func TestSync(t *testing.T) { if e, a := tc.expectedAvailability.Message, condition.Message; e != a { t.Errorf("%v expected %v, got %#v", tc.name, e, condition) } + if condition.LastTransitionTime.IsZero() { + t.Error("expected lastTransitionTime to be non-zero") + } } }