Skip to content

Commit 4968ab6

Browse files
committed
Rename TLSSecretMissing condition to TLSSecretsReady with positive type and negative status
1 parent 0b573f5 commit 4968ab6

4 files changed

Lines changed: 27 additions & 24 deletions

File tree

e2e-tests/cert-management-policy/run

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ test_user_provided_only() {
4141
fi
4242
echo "PASS: operator did not recreate SSL secrets"
4343

44-
desc 'verify TLSSecretMissing status condition is set'
44+
desc 'verify TLSSecretsReady condition is false'
4545
local condition
46-
condition=$(kubectl_bin get psmdb ${cluster} -o jsonpath='{.status.conditions[?(@.type=="TLSSecretMissing")].status}')
47-
if [[ "$condition" != "True" ]]; then
48-
echo "FAIL: TLSSecretMissing condition is not set (got: '$condition')"
46+
condition=$(kubectl_bin get psmdb ${cluster} -o jsonpath='{.status.conditions[?(@.type=="TLSSecretsReady")].status}')
47+
if [[ "$condition" != "False" ]]; then
48+
echo "FAIL: TLSSecretsReady condition should be False (got: '$condition')"
4949
exit 1
5050
fi
51-
echo "PASS: TLSSecretMissing condition is set"
51+
echo "PASS: TLSSecretsReady condition is False"
5252

5353
desc 'verify pods are still running (no restart, skip cluster readiness check)'
5454
wait_for_running $cluster-rs0 3 false
@@ -61,14 +61,14 @@ test_user_provided_only() {
6161
sleep 10
6262
wait_for_running $cluster-rs0 3
6363

64-
desc 'verify TLSSecretMissing condition is removed after secret restore'
64+
desc 'verify TLSSecretsReady condition is true after secret restore'
6565
local condition_after
66-
condition_after=$(kubectl_bin get psmdb ${cluster} -o jsonpath='{.status.conditions[?(@.type=="TLSSecretMissing")].status}')
67-
if [[ -n "$condition_after" ]]; then
68-
echo "FAIL: TLSSecretMissing condition should be removed after secret restore (got: '$condition_after')"
66+
condition_after=$(kubectl_bin get psmdb ${cluster} -o jsonpath='{.status.conditions[?(@.type=="TLSSecretsReady")].status}')
67+
if [[ "$condition_after" != "True" ]]; then
68+
echo "FAIL: TLSSecretsReady condition should be True after secret restore (got: '$condition_after')"
6969
exit 1
7070
fi
71-
echo "PASS: TLSSecretMissing condition is removed after secret restore"
71+
echo "PASS: TLSSecretsReady condition is True after secret restore"
7272

7373
desc 'cleanup cluster'
7474
kubectl_bin delete psmdb $cluster

pkg/apis/psmdb/v1/psmdb_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ const (
385385

386386
ConditionTypePBMReady AppState = "PBMReady"
387387

388-
ConditionTypeTLSSecretMissing AppState = "TLSSecretMissing"
388+
ConditionTypeTLSSecretsReady AppState = "TLSSecretsReady"
389389
)
390390

391391
type ClusterCondition struct {

pkg/controller/perconaservermongodb/psmdb_controller.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1637,8 +1637,8 @@ func (r *ReconcilePerconaServerMongoDB) sslAnnotation(ctx context.Context, cr *a
16371637
if isUserProvidedOnly {
16381638
logf.FromContext(ctx).Error(nil, "TLS secret not found, skipping annotation update since certManagementPolicy is userProvidedOnly", "secret", api.SSLSecretName(cr))
16391639
cr.Status.AddCondition(api.ClusterCondition{
1640-
Status: api.ConditionTrue,
1641-
Type: api.ConditionTypeTLSSecretMissing,
1640+
Status: api.ConditionFalse,
1641+
Type: api.ConditionTypeTLSSecretsReady,
16421642
Reason: "TLSSecretNotFound",
16431643
Message: fmt.Sprintf("TLS secret %s is missing, certManagementPolicy is userProvidedOnly", api.SSLSecretName(cr)),
16441644
})
@@ -1663,8 +1663,8 @@ func (r *ReconcilePerconaServerMongoDB) sslAnnotation(ctx context.Context, cr *a
16631663
if isUserProvidedOnly {
16641664
logf.FromContext(ctx).Error(nil, "TLS secret not found, skipping annotation update since certManagementPolicy is userProvidedOnly", "secret", api.SSLInternalSecretName(cr))
16651665
cr.Status.AddCondition(api.ClusterCondition{
1666-
Status: api.ConditionTrue,
1667-
Type: api.ConditionTypeTLSSecretMissing,
1666+
Status: api.ConditionFalse,
1667+
Type: api.ConditionTypeTLSSecretsReady,
16681668
Reason: "TLSSecretNotFound",
16691669
Message: fmt.Sprintf("TLS secret %s is missing, certManagementPolicy is userProvidedOnly", api.SSLInternalSecretName(cr)),
16701670
})
@@ -1676,7 +1676,10 @@ func (r *ReconcilePerconaServerMongoDB) sslAnnotation(ctx context.Context, cr *a
16761676
}
16771677
annotation["percona.com/ssl-internal-hash"] = getHash(sslInternalSecret)
16781678

1679-
cr.Status.RemoveCondition(api.ConditionTypeTLSSecretMissing)
1679+
cr.Status.AddCondition(api.ClusterCondition{
1680+
Status: api.ConditionTrue,
1681+
Type: api.ConditionTypeTLSSecretsReady,
1682+
})
16801683

16811684
return annotation, nil
16821685
}

pkg/controller/perconaservermongodb/ssl_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ func TestSSLAnnotation_UserProvidedOnly_SecretMissing(t *testing.T) {
107107
assert.Equal(t, "existing-hash", annotation["percona.com/ssl-hash"])
108108
assert.Equal(t, "existing-internal-hash", annotation["percona.com/ssl-internal-hash"])
109109

110-
// Verify TLSSecretMissing condition is set
111-
assert.True(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretMissing))
110+
// Verify TLSSecretsReady condition is false
111+
assert.False(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretsReady))
112112
}
113113

114114
func TestSSLAnnotation_UserProvidedOnly_SecretPresent(t *testing.T) {
@@ -145,8 +145,8 @@ func TestSSLAnnotation_UserProvidedOnly_SecretPresent(t *testing.T) {
145145
assert.NotEmpty(t, annotation["percona.com/ssl-hash"])
146146
assert.NotEmpty(t, annotation["percona.com/ssl-internal-hash"])
147147

148-
// Verify TLSSecretMissing condition is NOT set
149-
assert.False(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretMissing))
148+
// Verify TLSSecretsReady condition is true
149+
assert.True(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretsReady))
150150
}
151151

152152
func TestSSLAnnotation_UserProvidedOnly_ConditionRemovedAfterRestore(t *testing.T) {
@@ -155,13 +155,13 @@ func TestSSLAnnotation_UserProvidedOnly_ConditionRemovedAfterRestore(t *testing.
155155
CertManagementPolicy: api.CertManagementUserProvidedOnly,
156156
}
157157

158-
// First call without secrets - condition should be set
158+
// First call without secrets - TLSSecretsReady should be false
159159
r := buildFakeClient(cr)
160160
_, err := r.sslAnnotation(context.Background(), cr)
161161
require.NoError(t, err)
162-
assert.True(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretMissing))
162+
assert.False(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretsReady))
163163

164-
// Now create secrets and call again - condition should be removed
164+
// Now create secrets and call again - TLSSecretsReady should be true
165165
sslSecret := &corev1.Secret{
166166
ObjectMeta: metav1.ObjectMeta{
167167
Name: "test-cluster-ssl",
@@ -186,7 +186,7 @@ func TestSSLAnnotation_UserProvidedOnly_ConditionRemovedAfterRestore(t *testing.
186186
r2 := buildFakeClient(cr, sslSecret, sslInternalSecret)
187187
_, err = r2.sslAnnotation(context.Background(), cr)
188188
require.NoError(t, err)
189-
assert.False(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretMissing))
189+
assert.True(t, cr.Status.IsStatusConditionTrue(api.ConditionTypeTLSSecretsReady))
190190
}
191191

192192
func TestReconcileSSL_UserProvidedOnly_SkipsCertCreation(t *testing.T) {

0 commit comments

Comments
 (0)