You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When using Helm to deploy a Service object (of type LoadBalancer) into a cluster, the installation and subsequent updates succeed, but a rollback with --force fails.
This is because the webhook only activates for CREATE and not for UPDATE operations - meaning, when Helm attempts to roll back and update the Service to its previous state, this previous state does not include the spec.loadBalancerClass field set by the webhook. This results in
[helm rollback - release: echoserver] Error: failed to replace object:
Service "echoserver-nlb" is invalid:
spec.loadBalancerClass:
Invalid value: "null": may not change once set
because (afaik) Helm sends the entire Service object to the API server due to the --force flag.
Steps to reproduce
Deploy any Helm chart with an LB service. I'll use AWS LBC chart as a placeholder for this example.
Deploy the chart 2-3 times so there's a release history: helm upgrade --install --wait --wait-for-jobs --timeout 10m --atomic aws-lbc eks/aws-load-balancer-controller
Run a rollback with --force: helm rollback aws-lbc 1 --force --wait --no-hooks --timeout 600s
Expected outcome
Not an error; I expect the webhook to modify the service objects appropriately, and the rollback to complete.
Environment
AWS Load Balancer controller version
6.7.1
Kubernetes version
1.28.3
Using EKS (yes/no), if so version?
no
Additional Context:
Using Helm 3.10.3
The text was updated successfully, but these errors were encountered:
Describe the bug
When using Helm to deploy a Service object (of type LoadBalancer) into a cluster, the installation and subsequent updates succeed, but a rollback with
--force
fails.This is because the webhook only activates for
CREATE
and not forUPDATE
operations - meaning, when Helm attempts to roll back and update the Service to its previous state, this previous state does not include thespec.loadBalancerClass
field set by the webhook. This results inbecause (afaik) Helm sends the entire Service object to the API server due to the
--force
flag.Steps to reproduce
Deploy any Helm chart with an LB service. I'll use AWS LBC chart as a placeholder for this example.
helm upgrade --install --wait --wait-for-jobs --timeout 10m --atomic aws-lbc eks/aws-load-balancer-controller
--force
:helm rollback aws-lbc 1 --force --wait --no-hooks --timeout 600s
Expected outcome
Not an error; I expect the webhook to modify the service objects appropriately, and the rollback to complete.
Environment
6.7.1
1.28.3
no
Additional Context:
Using Helm 3.10.3
The text was updated successfully, but these errors were encountered: