Charts: [stable/nginx-ingress] helm upgrade from 1.1.5 to 1.2.1 fails

Created on 30 Jan 2019  Â·  19Comments  Â·  Source: helm/charts

Is this a request for help?:


Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG

Version of Helm and Kubernetes:
→ helm version
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}

→ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.7", GitCommit:"0c38c362511b20a098d7cd855f1314dad92c2780", GitTreeState:"clean", BuildDate:"2018-08-20T10:09:03Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.6-gke.3", GitCommit:"04ad69a117f331df6272a343b5d8f9e2aee5ab0c", GitTreeState:"clean", BuildDate:"2019-01-10T00:39:15Z", GoVersion:"go1.10.3b4", Compiler:"gc", Platform:"linux/amd64"}

Which chart:

nginx-ingress

What happened:
upgrading nginx-ingress from 1.1.5 to 1.2.1 fails

→ helm upgrade nginx-ingress -f values.yaml stable/nginx-ingress
Error: UPGRADE FAILED: Service "nginx-ingress-controller-metrics" is invalid: spec.clusterIP: Invalid value: "": field is immutable && Service "nginx-ingress-controller-stats" is invalid: spec.clusterIP: Invalid value: "": field is immutable && Service "nginx-ingress-default-backend" is invalid: spec.clusterIP: Invalid value: "": field is immutable

in values.yaml clusterIP is set to "".
Example for metrics:

metrics:
    enabled: true

    service:
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "10254"

      clusterIP: ""

What you expected to happen:

helm chart should be upgraded

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know:

lifecyclstale

Most helpful comment

This is activity

All 19 comments

nginx-ingress 1.2.3 still an error

$ helm upgrade --install nginx-ingress stable/nginx-ingress --namespace kube-ingress --values ./nginx-ingress.yaml --version 1.2.3
Error: UPGRADE FAILED: Service "nginx-ingress-controller" is invalid: spec.clusterIP: Invalid value: "": field is immutable
$ helm history nginx-ingress
REVISION    UPDATED                     STATUS      CHART               DESCRIPTION
1           Wed Jan 23 21:22:39 2019    DEPLOYED    nginx-ingress-1.1.5 Install complete
2           Wed Jan 30 13:52:15 2019    FAILED      nginx-ingress-1.2.1 Upgrade "nginx-ingress" failed: Service "nginx-ingress-co...
3           Wed Jan 30 19:01:36 2019    FAILED      nginx-ingress-1.2.1 Upgrade "nginx-ingress" failed: Service "nginx-ingress-co...
4           Thu Jan 31 11:13:44 2019    FAILED      nginx-ingress-1.2.3 Upgrade "nginx-ingress" failed: Service "nginx-ingress-co...

Same error when I tried to upgrade from 1.1.5 to 1.2.3 today. Running on GKE 1.11.6 and helm 2.12.3

Well, to be very precise, the error message changed a little bit: When I try to upgrade to version 1.2.3 I get: Error: UPGRADE FAILED: Service "nginx-ingress-controller" is invalid: spec.clusterIP: Invalid value: "": field is immutable
the difference is "spec.clusterIP" ist only once mentioned as invalid - with version 1.2.1 "spec.clusterIP" occured 3 times....not a big difference but at least something changed from 1.2.1 to 1.2.3...

still happening with 1.3.0

the empty clusterIP field will collide with existing assigned IP

as a workaround i had to copy back current assigned IP into my values

hmmm....but now you have some kind of "hardcoded" clusterIP in your config - what if clusterIP in kubernetes changes for some reason? or am I missing something?
I will stick with 1.1.5 for now...

still happening with 1.3.0

/assign @mgoodness

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Any further update will cause the issue/pull request to no longer be considered stale. Thank you for your contributions.

Do not close this issue plz. The problem still exists, I think

It still exists.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Any further update will cause the issue/pull request to no longer be considered stale. Thank you for your contributions.

This is activity

As a work-around, you can set the value in your chart to whatever your cluster is running, for example:

CLUSTER_IP=$(kubectl get service nginx-ingress-controller -o=jsonpath={$.spec.clusterIP})

helm upgrade  --reuse-values  nginx-ingress stable/nginx-ingress \
    --set controller.service.clusterIP=$CLUSTER_IP

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Any further update will cause the issue/pull request to no longer be considered stale. Thank you for your contributions.

Activity

This should be resolved with https://github.com/helm/charts/pull/13646.
Follow the instructions on the Readme for doing the upgrade: https://github.com/helm/charts/tree/master/stable/nginx-ingress#helm-error-when-upgrading-specclusterip-invalid-value-

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Any further update will cause the issue/pull request to no longer be considered stale. Thank you for your contributions.

This issue is being automatically closed due to inactivity.

Was this page helpful?
0 / 5 - 0 ratings