Skip to content

Commit 1d39cf9

Browse files
egegunesjvpasinatto
authored andcommitted
K8SPSMDB-1257: Fix secret change detection after upgrade
1 parent e2f81af commit 1d39cf9

File tree

1 file changed

+10
-8
lines changed
  • pkg/controller/perconaservermongodb

1 file changed

+10
-8
lines changed

pkg/controller/perconaservermongodb/users.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ import (
2323
"github.com/percona/percona-server-mongodb-operator/pkg/psmdb/mongo"
2424
)
2525

26-
func getInternalSecretData(secret *corev1.Secret) map[string][]byte {
26+
func getInternalSecretData(cr *api.PerconaServerMongoDB, secret *corev1.Secret) map[string][]byte {
2727
m := secret.DeepCopy().Data
28-
for k, v := range secret.Data {
29-
m[k+"_ESCAPED"] = []byte(url.QueryEscape(string(v)))
28+
if cr.CompareVersion("1.19.0") >= 0 {
29+
for k, v := range secret.Data {
30+
m[k+"_ESCAPED"] = []byte(url.QueryEscape(string(v)))
31+
}
3032
}
3133
return m
3234
}
@@ -78,7 +80,7 @@ func (r *ReconcilePerconaServerMongoDB) reconcileUsers(ctx context.Context, cr *
7880
internalSysUsersSecret.Labels = nil
7981
}
8082
if cr.CompareVersion("1.19.0") >= 0 {
81-
internalSysUsersSecret.Data = getInternalSecretData(&sysUsersSecretObj)
83+
internalSysUsersSecret.Data = getInternalSecretData(cr, &sysUsersSecretObj)
8284
}
8385
err = r.client.Create(ctx, internalSysUsersSecret)
8486
if err != nil {
@@ -92,7 +94,7 @@ func (r *ReconcilePerconaServerMongoDB) reconcileUsers(ctx context.Context, cr *
9294
return nil
9395
}
9496

95-
dataChanged, err := sysUsersSecretDataChanged(&sysUsersSecretObj, &internalSysSecretObj)
97+
dataChanged, err := sysUsersSecretDataChanged(cr, &sysUsersSecretObj, &internalSysSecretObj)
9698
if err != nil {
9799
return errors.Wrap(err, "check sys users data changes")
98100
}
@@ -142,7 +144,7 @@ func (r *ReconcilePerconaServerMongoDB) reconcileUsers(ctx context.Context, cr *
142144

143145
internalSysSecretObj.Data = sysUsersSecretObj.Data
144146
if cr.CompareVersion("1.19.0") >= 0 {
145-
internalSysSecretObj.Data = getInternalSecretData(&sysUsersSecretObj)
147+
internalSysSecretObj.Data = getInternalSecretData(cr, &sysUsersSecretObj)
146148
}
147149
err = r.client.Update(ctx, &internalSysSecretObj)
148150
if err != nil {
@@ -350,8 +352,8 @@ func (u *systemUser) updateMongo(ctx context.Context, c mongo.Client) error {
350352
return errors.Wrapf(err, "update user %s -> %s", u.currName, u.name)
351353
}
352354

353-
func sysUsersSecretDataChanged(usersSecret *corev1.Secret, internalSecret *corev1.Secret) (bool, error) {
354-
newData := getInternalSecretData(usersSecret)
355+
func sysUsersSecretDataChanged(cr *api.PerconaServerMongoDB, usersSecret *corev1.Secret, internalSecret *corev1.Secret) (bool, error) {
356+
newData := getInternalSecretData(cr, usersSecret)
355357
newDataJSON, err := json.Marshal(newData)
356358
if err != nil {
357359
return false, err

0 commit comments

Comments
 (0)