Skip to content

Allow disabling the duros-controller deployment for migration to new ext - #466

Draft
Gerrit91 wants to merge 6 commits into
masterfrom
allow-disable-duros-controller
Draft

Gerrit91 wants to merge 6 commits into
masterfrom
allow-disable-duros-controller

Conversation

@Gerrit91

Copy link
Copy Markdown
Contributor

Description

This will be required for the migration to the gardener-extension-duros.

@Gerrit91 Gerrit91 added the triage This should be talked about in the next planning. label Jul 28, 2025
@simcod simcod moved this to In Progress in Development Jul 28, 2025
@metal-robot metal-robot Bot removed the triage This should be talked about in the next planning. label Jul 28, 2025
durosValues := map[string]interface{}{
"enabled": vp.controllerConfig.Storage.Duros.Enabled,
}
durosEnabled := vp.controllerConfig.Storage.Duros.Enabled && (cpConfig.FeatureGates.DisableDuros == nil || !*cpConfig.FeatureGates.DisableDuros)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, this only works for initial deployments due to the behavior of the chart applier, which was addressed in this PR: gardener/gardener#12251. When toggling the flag, the resources in the shoot namespace continue to exist.

Before writing complex logic to cleanup resources in the seed, maybe it's sufficient to let the seed components just continue to run. When enabling the duros-extension for the shoot, the extension can inherit the resources that are already running. However, we must be sure that all resources have equal names in this case.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But then also we need to be aware of things like these:

 during apply of object "apps/v1/Deployment/shoot--pb4b7w--gerrit2/duros-controller": Deployment.apps "duros-controller" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"duros-controller", "app.kubernetes.io/instance":"gardener-extension-duros"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how to proceed with this for now. Probably it's better not to add this to the upcoming metal-stack release and postpone again.

/cc @ostempel Is this ok for you?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how to proceed with this for now. Probably it's better not to add this to the upcoming metal-stack release and postpone again.

/cc @ostempel Is this ok for you?

Yeah totally fine. We can revisite this when the time is right.

@iljarotar iljarotar moved this from In Progress to Upcoming in Development Aug 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Upcoming

Development

Successfully merging this pull request may close these issues.

4 participants