Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If backupentry reconciles before Shoot namespace gets created cluster creation will fail #9749

Open
Kostov6 opened this issue May 14, 2024 · 0 comments · May be fixed by #9800
Open

If backupentry reconciles before Shoot namespace gets created cluster creation will fail #9749

Kostov6 opened this issue May 14, 2024 · 0 comments · May be fixed by #9800
Assignees
Labels
area/quality Output qualification (tests, checks, scans, automation in general, etc.) related kind/bug Bug

Comments

@Kostov6
Copy link
Contributor

Kostov6 commented May 14, 2024

How to categorize this issue?

/area quality
/kind bug

What happened:

namespace := &corev1.Namespace{}
if err := a.client.Get(ctx, kubernetesutils.Key(shootTechnicalID), namespace); err != nil {
if apierrors.IsNotFound(err) {
log.Info("SeedNamespace for shoot not found. Avoiding etcd backup secret deployment")
return nil
}
log.Error(err, "Failed to get seed namespace")
return err
}

There is no dependency in the shoot reconciliation flow between the steps for deploying shoot namespace and deploying backup entry. So if the extension Backupentry gets created when shoot namespace is missing it can succeed without deploying backup secret. After that a second BE reconciliation won't happen. Therefore etcd-backup won't get created and shoot won't get created.

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):
Add time.Sleep(20*time.Seconds) in the beginning of pkg/gardenlet/operation/botanist/namespaces.go@DeploySeedNamespace and create local shoot

$ k -n garden-local get shoot local -o yaml | yq '.status.lastErrors'
- description: 'task "Deploying main and events etcd" failed: retry failed with context deadline exceeded, last error: Secret "etcd-backup" not found'
  lastUpdateTime: "2024-05-14T14:36:16Z"
  taskID: Deploying main and events etcd

Anything else we need to know?:

Environment:

  • Gardener version:
  • Kubernetes version (use kubectl version):
  • Cloud provider or hardware configuration:
  • Others:
@gardener-prow gardener-prow bot added the kind/bug Bug label May 14, 2024
@Kostov6 Kostov6 changed the title If backupentry reconciles before Shoot namespace gets created cluster won't get created If backupentry reconciles before Shoot namespace gets created cluster creation will fail May 14, 2024
@ialidzhikov ialidzhikov added the area/quality Output qualification (tests, checks, scans, automation in general, etc.) related label May 20, 2024
@Kostov6 Kostov6 linked a pull request May 21, 2024 that will close this issue
@gardener gardener deleted a comment from gardener-prow bot May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/quality Output qualification (tests, checks, scans, automation in general, etc.) related kind/bug Bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants