kubernetes-retired / cluster-api-provider-nested

Cluster API Provider for Nested Clusters
Apache License 2.0
301 stars 67 forks source link

Only add new conditions to a VC's .status.conditions #349

Closed yuanchen8911 closed 1 year ago

yuanchen8911 commented 1 year ago

What this PR does / why we need it:

In the current implementation, there can be a large number of redundant conditions with the identical Reason, Message and Status in a VC's .Status.Conditions. A large number of duplicated conditions can cause potential performance issues. It's hard to read too.

This PR makes a change on how to add a VC's condition to .Status.Conditions. It checks whether a new condition exits by Reasonand Status and adds the condition only when it does not exist. if the condition already exists, it will only update the condition's lastTransitionTime. It sets .Conditions.Status value too.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged): Fixes #

yuanchen8911 commented 1 year ago

/assign @christopherhein

k8s-ci-robot commented 1 year ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: christopherhein, yuanchen8911

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[virtualcluster/OWNERS](https://github.com/kubernetes-sigs/cluster-api-provider-nested/blob/main/virtualcluster/OWNERS)~~ [christopherhein] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment