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
Say we have 2 resources in helm chart.
one Ingress (state A)
one CustomResource KeycloakClient (state A)
If I change Ingress declaration from correct to incorrect, for example bad hostname. And also make change to CustomResource, for example some value rootUrl.
Say Ingress goes state B. CustomResource goes state B.
Helm upgrade failed: cannot patch "my-frontend" with kind Ingress: Ingress.extensions "my-frontend" is invalid: spec.rules[0].host: Invalid value: "service.": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*') Last Helm logs: preparing upgrade for my-frontend resetting values to the chart's original version performing update for my-frontend creating upgraded release for my-frontend warning: Upgrade "my-frontend" failed: cannot patch "my-frontend" with kind Ingress: Ingress.extensions "my-frontend" is invalid: spec.rules[0].host: Invalid value: "my.": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
If I rollback changes to the HR, then the HR becomes Ready.
Ingress comes back to state A.
CR KeycloakClient stay unchanged and keeps in state B.
Helm release becomes Deployed. Ingress goes back to state A, CR KeycloakClient goes back to state A.
It seems that helm-controller doesn't change the CR after upgrading release from failed state. If target declaration of CR is equal to last working state of helm release.
Current workaround is to use remediateLastFailure: true
Helm-controller v0.35.0 (also checked on v0.31.2)
Example CR HR
Say we have 2 resources in helm chart.
one Ingress (state A)
one CustomResource KeycloakClient (state A)
If I change Ingress declaration from correct to incorrect, for example bad hostname. And also make change to CustomResource, for example some value rootUrl.
Say Ingress goes state B. CustomResource goes state B.
Then HR becomes Failed and I get error
If I rollback changes to the HR, then the HR becomes Ready.
Ingress comes back to state A.
CR KeycloakClient stay unchanged and keeps in state B.
If I reproduce steps on just helm (v3.12.1) only:
Helm release becomes Failed. Ingress goes state B, CR KeycloakClient goes state B.
After applying previous correct values:
Helm release becomes Deployed. Ingress goes back to state A, CR KeycloakClient goes back to state A.
It seems that helm-controller doesn't change the CR after upgrading release from failed state. If target declaration of CR is equal to last working state of helm release.
Current workaround is to use remediateLastFailure: true
to just not to break CustomResource while breaking the release.
The text was updated successfully, but these errors were encountered: