Skip to content

Commit 03309ce

Browse files
authored
Check ObservedGeneration and generation before to check (#1360)
Signed-off-by: Alvaro Neira Ayuso <alvaron@vmware.com>
1 parent 46dca8f commit 03309ce

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

integration/controller_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ func getStatus(ss *ssv1alpha1.SealedSecret) *ssv1alpha1.SealedSecretStatus {
5656
return ss.Status
5757
}
5858

59+
func getObservedGeneration(ss *ssv1alpha1.SealedSecret) int64 {
60+
return ss.Status.ObservedGeneration
61+
}
62+
5963
// get the first owner name assuming there is only one owner which is the sealed-secret object
6064
func getFirstOwnerName(s *v1.Secret) string {
6165
return s.OwnerReferences[0].Name
@@ -230,6 +234,9 @@ var _ = Describe("create", func() {
230234
Eventually(func() (*ssv1alpha1.SealedSecret, error) {
231235
return ssc.BitnamiV1alpha1().SealedSecrets(ns).Get(context.Background(), secretName, metav1.GetOptions{})
232236
}, Timeout, PollingInterval).ShouldNot(WithTransform(getStatus, BeNil()))
237+
Eventually(func() (*ssv1alpha1.SealedSecret, error) {
238+
return ssc.BitnamiV1alpha1().SealedSecrets(ns).Get(context.Background(), secretName, metav1.GetOptions{})
239+
}, Timeout, PollingInterval).Should(WithTransform(getObservedGeneration, Equal(int64(2))))
233240
})
234241
})
235242

pkg/controller/controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,9 @@ func (c *Controller) updateSealedSecretStatus(ssecret *ssv1alpha1.SealedSecret,
412412
ssecret.Status = &ssv1alpha1.SealedSecretStatus{}
413413
}
414414

415-
ssecret.Status.ObservedGeneration = ssecret.ObjectMeta.Generation
416415
updatedRequired := updateSealedSecretsStatusConditions(ssecret.Status, unsealError)
417-
if updatedRequired {
416+
if updatedRequired || (ssecret.Status.ObservedGeneration != ssecret.ObjectMeta.Generation) {
417+
ssecret.Status.ObservedGeneration = ssecret.ObjectMeta.Generation
418418
_, err := c.ssclient.SealedSecrets(ssecret.GetObjectMeta().GetNamespace()).UpdateStatus(context.Background(), ssecret, metav1.UpdateOptions{})
419419
return err
420420
}

0 commit comments

Comments
 (0)