diff --git a/.github/renovate.json5 b/.github/renovate.json5 index c90b5d72..80fdaae7 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -85,14 +85,6 @@ 'registry.k8s.io/provider-os/openstack-cloud-controller-manager' ], }, - { - groupName: 'machine-controller-manager-provider-openstack', - matchPackageNames: [ - 'registry.ske.stackit.cloud/stackitcloud/machine-controller-manager-provider-openstack', - ], - // Enable updating fork releases/tags, e.g., v0.24.1-ske-1 - ignoreUnstable: false, - }, { groupName: 'Internal', matchFileNames: [ diff --git a/imagevector/images.yaml b/imagevector/images.yaml index 928d3fc3..70338bcb 100644 --- a/imagevector/images.yaml +++ b/imagevector/images.yaml @@ -44,8 +44,8 @@ images: - name: machine-controller-manager-provider-openstack sourceRepository: github.com/gardener/machine-controller-manager-provider-openstack - repository: registry.ske.stackit.cloud/stackitcloud/machine-controller-manager-provider-openstack - tag: "v0.25.0-ske-1" + repository: europe-docker.pkg.dev/gardener-project/releases/gardener/machine-controller-manager-provider-openstack + tag: "v0.27.0" - name: machine-controller-manager-provider-stackit sourceRepository: github.com/stackitcloud/machine-controller-manager-provider-stackit repository: ghcr.io/stackitcloud/machine-controller-manager-provider-stackit diff --git a/pkg/webhook/controlplane/ensurer.go b/pkg/webhook/controlplane/ensurer.go index 2a1a2adc..b1b69c9a 100644 --- a/pkg/webhook/controlplane/ensurer.go +++ b/pkg/webhook/controlplane/ensurer.go @@ -98,6 +98,13 @@ func (e *ensurer) EnsureMachineControllerManagerDeployment(ctx context.Context, } } + // avoid unnecessary reconciles if a recourse exhausted. Specially needed for machine-controller-manager-provider-openstack + // to avoid the creation of many volumes. But also on machine-controller-manager-provider-stackit this limits the amount of requests. + sidecarContainer.Args = extensionswebhook.EnsureStringWithPrefix( + sidecarContainer.Args, + "--resource-exhausted-retry=", "30m", + ) + newObj.Spec.Template.Spec.Containers = extensionswebhook.EnsureContainerWithName( newObj.Spec.Template.Spec.Containers, sidecarContainer, diff --git a/pkg/webhook/controlplane/ensurer_test.go b/pkg/webhook/controlplane/ensurer_test.go index fd55dbc9..5b94ffc4 100644 --- a/pkg/webhook/controlplane/ensurer_test.go +++ b/pkg/webhook/controlplane/ensurer_test.go @@ -532,6 +532,9 @@ WantedBy=multi-user.target Expect(deployment.Spec.Template.Spec.Containers).To(BeEmpty()) Expect(ensurer.EnsureMachineControllerManagerDeployment(context.TODO(), eContextK8s127, deployment, nil)).To(Succeed()) expectedContainer := machinecontrollermanager.ProviderSidecarContainer(shoot, deployment.Namespace, "provider-openstack", "foo:bar") + expectedContainer.Args = extensionswebhook.EnsureStringWithPrefix( + expectedContainer.Args, "--resource-exhausted-retry=", "30m", + ) Expect(deployment.Spec.Template.Spec.Containers).To(ConsistOf(expectedContainer)) }) }) @@ -574,6 +577,9 @@ WantedBy=multi-user.target Expect(ensurer.EnsureMachineControllerManagerDeployment(context.TODO(), eContextK8s127WithSTACKITMCM, deployment, nil)).To(Succeed()) expectedContainer := machinecontrollermanager.ProviderSidecarContainer(shoot, deployment.Namespace, "provider-stackit", "foo:bar") expectedContainer.Env = []corev1.EnvVar{} + expectedContainer.Args = extensionswebhook.EnsureStringWithPrefix( + expectedContainer.Args, "--resource-exhausted-retry=", "30m", + ) Expect(deployment.Spec.Template.Spec.Containers).To(ConsistOf(expectedContainer)) }) }) @@ -625,6 +631,9 @@ WantedBy=multi-user.target Value: "token.qa", }, } + expectedContainer.Args = extensionswebhook.EnsureStringWithPrefix( + expectedContainer.Args, "--resource-exhausted-retry=", "30m", + ) Expect(deployment.Spec.Template.Spec.Containers).To(ConsistOf(expectedContainer)) }) })