From fdd87a8872decbc721c1a33563523e18aaca9270 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Fri, 19 Oct 2018 14:52:53 -0400 Subject: [PATCH] Avoid dropping resourcequota metadata in controller --- .../resourcequota/resource_quota_controller.go | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/pkg/controller/resourcequota/resource_quota_controller.go b/pkg/controller/resourcequota/resource_quota_controller.go index 2212bfd4b16..abd435e5c87 100644 --- a/pkg/controller/resourcequota/resource_quota_controller.go +++ b/pkg/controller/resourcequota/resource_quota_controller.go @@ -347,24 +347,17 @@ func (rq *ResourceQuotaController) syncResourceQuota(resourceQuota *v1.ResourceQ // Create a usage object that is based on the quota resource version that will handle updates // by default, we preserve the past usage observation, and set hard to the current spec - usage := v1.ResourceQuota{ - ObjectMeta: metav1.ObjectMeta{ - Name: resourceQuota.Name, - Namespace: resourceQuota.Namespace, - ResourceVersion: resourceQuota.ResourceVersion, - Labels: resourceQuota.Labels, - Annotations: resourceQuota.Annotations}, - Status: v1.ResourceQuotaStatus{ - Hard: hardLimits, - Used: used, - }, + usage := resourceQuota.DeepCopy() + usage.Status = v1.ResourceQuotaStatus{ + Hard: hardLimits, + Used: used, } dirty = dirty || !quota.Equals(usage.Status.Used, resourceQuota.Status.Used) // there was a change observed by this controller that requires we update quota if dirty { - _, err = rq.rqClient.ResourceQuotas(usage.Namespace).UpdateStatus(&usage) + _, err = rq.rqClient.ResourceQuotas(usage.Namespace).UpdateStatus(usage) return err } return nil