Skip to content

Commit e746b28

Browse files
authored
Deflake TestReconcileReplicaCreateBackup (CrunchyData#3198)
TestReconcileReplicaCreateBackup was flaking in envtest-existing runs; experimentation revealed this was due to garbage collection. Following current practice, this PR skips the test in envtest-existing runs. Issue [sc-14382]
1 parent 6193560 commit e746b28

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

internal/controller/postgrescluster/pgbackrest.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2270,8 +2270,8 @@ func (r *Reconciler) reconcileReplicaCreateBackup(ctx context.Context,
22702270
replicaCreateRepo v1beta1.PGBackRestRepo) error {
22712271

22722272
var replicaCreateRepoStatus *v1beta1.RepoStatus
2273-
for i, r := range postgresCluster.Status.PGBackRest.Repos {
2274-
if r.Name == replicaCreateRepo.Name {
2273+
for i, repo := range postgresCluster.Status.PGBackRest.Repos {
2274+
if repo.Name == replicaCreateRepo.Name {
22752275
replicaCreateRepoStatus = &postgresCluster.Status.PGBackRest.Repos[i]
22762276
break
22772277
}
@@ -2494,8 +2494,8 @@ func (r *Reconciler) reconcileStanzaCreate(ctx context.Context,
24942494
return
24952495
}
24962496
replicaCreateRepoName := postgresCluster.Spec.Backups.PGBackRest.Repos[0].Name
2497-
for i, r := range postgresCluster.Status.PGBackRest.Repos {
2498-
if r.Name == replicaCreateRepoName {
2497+
for i, repo := range postgresCluster.Status.PGBackRest.Repos {
2498+
if repo.Name == replicaCreateRepoName {
24992499
replicaCreateRepoStatus = &postgresCluster.Status.PGBackRest.Repos[i]
25002500
break
25012501
}

internal/controller/postgrescluster/pgbackrest_test.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,11 @@ func TestGetPGBackRestExecSelector(t *testing.T) {
848848
}
849849

850850
func TestReconcileReplicaCreateBackup(t *testing.T) {
851+
// Garbage collector cleans up test resources before the test completes
852+
if strings.EqualFold(os.Getenv("USE_EXISTING_CLUSTER"), "true") {
853+
t.Skip("USE_EXISTING_CLUSTER: Test fails due to garbage collection")
854+
}
855+
851856
ctx := context.Background()
852857
_, tClient := setupKubernetes(t)
853858
require.ParallelCapacity(t, 1)
@@ -908,6 +913,7 @@ func TestReconcileReplicaCreateBackup(t *testing.T) {
908913
// now find the expected job
909914
jobs := &batchv1.JobList{}
910915
err = tClient.List(ctx, jobs, &client.ListOptions{
916+
Namespace: postgresCluster.Namespace,
911917
LabelSelector: naming.PGBackRestBackupJobSelector(clusterName, replicaCreateRepo.Name,
912918
naming.BackupReplicaCreate),
913919
})
@@ -994,8 +1000,8 @@ func TestReconcileReplicaCreateBackup(t *testing.T) {
9941000

9951001
// verify the status has been updated properly
9961002
var replicaCreateRepoStatus *v1beta1.RepoStatus
997-
for i, r := range postgresCluster.Status.PGBackRest.Repos {
998-
if r.Name == replicaCreateRepo.Name {
1003+
for i, repo := range postgresCluster.Status.PGBackRest.Repos {
1004+
if repo.Name == replicaCreateRepo.Name {
9991005
replicaCreateRepoStatus = &postgresCluster.Status.PGBackRest.Repos[i]
10001006
break
10011007
}

0 commit comments

Comments
 (0)