Skip to content

Commit

Permalink
do not set controller ref on psmdb user secret
Browse files Browse the repository at this point in the history
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
  • Loading branch information
mayankshah1607 committed Feb 11, 2025
1 parent 40b6d1d commit e869eb6
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
11 changes: 8 additions & 3 deletions internal/controller/common/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ func CreateOrUpdateSecretData(
database *everestv1alpha1.DatabaseCluster,
secretName string,
data map[string][]byte,
setControllerRef bool,
) error {
err := UpdateSecretData(ctx, c, database, secretName, data)
if err == nil {
Expand All @@ -280,10 +281,14 @@ func CreateOrUpdateSecretData(
Type: corev1.SecretTypeOpaque,
Data: data,
}
err = controllerutil.SetControllerReference(database, secret, c.Scheme())
if err != nil {
return err

if setControllerRef {
err = controllerutil.SetControllerReference(database, secret, c.Scheme())
if err != nil {
return err
}
}

// If the secret does not exist, create it
return c.Create(ctx, secret)
}
Expand Down
6 changes: 6 additions & 0 deletions internal/controller/providers/pg/applier.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,10 +309,16 @@ func (p *applier) applyPMMCfg(monitoring *everestv1alpha1.MonitoringConfig) erro
return err
}

// We avoid setting the controller reference for the Secret here.
// The PSMDB operator handles Secret cleanup automatically as part of the `delete-psmdb-pvc` finalizer process.
// If we were to set the controller reference, the Secret would be deleted before the PSMDB cluster, leading to
// the PSMDB operator recreating the Secret and restarting the DB pods to sync updated user information,
// which would cause unnecessary restarts.
if err := common.CreateOrUpdateSecretData(ctx, c, database, pg.Spec.PMM.Secret,
map[string][]byte{
"PMM_SERVER_KEY": []byte(apiKey),
},
true,
); err != nil {
return err
}
Expand Down
1 change: 1 addition & 0 deletions internal/controller/providers/psmdb/applier.go
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,7 @@ func (p *applier) applyPMMCfg(monitoring *everestv1alpha1.MonitoringConfig) erro
map[string][]byte{
"PMM_SERVER_API_KEY": []byte(apiKey),
},
false,
); err != nil {
return err
}
Expand Down

0 comments on commit e869eb6

Please sign in to comment.