Skip to content

Commit fd11062

Browse files
committed
K8SPSMDB-1552: Fix operator panic if getting secret fails
1 parent ac99eeb commit fd11062

File tree

1 file changed

+5
-18
lines changed

1 file changed

+5
-18
lines changed

pkg/controller/perconaservermongodb/psmdb_controller.go

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1541,6 +1541,9 @@ func (r *ReconcilePerconaServerMongoDB) sslAnnotation(ctx context.Context, cr *a
15411541
annotation["percona.com/ssl-internal-hash"] = ""
15421542

15431543
getHash := func(secret *corev1.Secret) string {
1544+
if secret == nil {
1545+
return ""
1546+
}
15441547
secretString := fmt.Sprintln(secret.Data)
15451548
return fmt.Sprintf("%x", md5.Sum([]byte(secretString)))
15461549
}
@@ -1568,6 +1571,7 @@ func (r *ReconcilePerconaServerMongoDB) sslAnnotation(ctx context.Context, cr *a
15681571
}
15691572
return nil, errTLSNotReady
15701573
}
1574+
return nil, errors.Wrapf(err, "get secret/%s", api.SSLSecretName(cr))
15711575
}
15721576
annotation["percona.com/ssl-hash"] = getHash(sslSecret)
15731577

@@ -1583,30 +1587,13 @@ func (r *ReconcilePerconaServerMongoDB) sslAnnotation(ctx context.Context, cr *a
15831587
}
15841588
return nil, errTLSNotReady
15851589
}
1590+
return nil, errors.Wrapf(err, "get secret/%s", api.SSLInternalSecretName(cr))
15861591
}
15871592
annotation["percona.com/ssl-internal-hash"] = getHash(sslInternalSecret)
15881593

15891594
return annotation, nil
15901595
}
15911596

1592-
func (r *ReconcilePerconaServerMongoDB) getTLSHash(ctx context.Context, cr *api.PerconaServerMongoDB, secretName string) (string, error) {
1593-
secretObj := corev1.Secret{}
1594-
err := r.client.Get(ctx,
1595-
types.NamespacedName{
1596-
Namespace: cr.Namespace,
1597-
Name: secretName,
1598-
},
1599-
&secretObj,
1600-
)
1601-
if err != nil {
1602-
return "", err
1603-
}
1604-
secretString := fmt.Sprintln(secretObj.Data)
1605-
hash := fmt.Sprintf("%x", md5.Sum([]byte(secretString)))
1606-
1607-
return hash, nil
1608-
}
1609-
16101597
func (r *ReconcilePerconaServerMongoDB) reconcilePDB(ctx context.Context, cr *api.PerconaServerMongoDB, spec *api.PodDisruptionBudgetSpec, labels map[string]string, namespace string, owner client.Object) error {
16111598
if spec == nil {
16121599
return nil

0 commit comments

Comments
 (0)