fix deployment replicas syncer in case deployment status changed before label added

Signed-off-by: chaosi-zju <chaosi@zju.edu.cn>
This commit is contained in:
chaosi-zju 2024-03-18 11:23:17 +08:00
parent aa89947194
commit 3012c808f8
1 changed files with 7 additions and 0 deletions

View File

@ -57,6 +57,13 @@ var predicateFunc = predicate.Funcs{
return false
}
// if old deployment is not labeled `retain-replicas`, but new is labeled, reconcile is needed.
// in case of deployment status changed before `retain-replicas` labeled.
oldRetainReplicasLabel := util.GetLabelValue(oldObj.GetLabels(), util.RetainReplicasLabel)
if oldRetainReplicasLabel != util.RetainReplicasValue {
return true
}
if oldObj.Spec.Replicas == nil || newObj.Spec.Replicas == nil {
klog.Errorf("spec.replicas field unexpectedly become nil: %+v, %+v", oldObj.Spec.Replicas, newObj.Spec.Replicas)
return false