Ingress-nginx: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.9 appears to contain incorrect template, and refuses to boot.

Created on 30 Jun 2017  路  9Comments  路  Source: kubernetes/ingress-nginx

So, this can be most easily reproduced by noting that the function doesn't exist in the most recent template renderer, but does exist in the container:

docker run --rm=true -it gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.9 cat /etc/nginx/template/nginx.tmpl | grep buildUpstreamName
            set $proxy_upstream_name "{{ buildUpstreamName $server.Hostname $backends $location }}";

Additional notes include:

kubectl logs ${RELEASE_NAME}-ingress-nginx-ingress-controller-1776526762-rklxl
[dumb-init] Unable to detach from controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] Child spawned with PID 5.
[dumb-init] Unable to attach to controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] setsid complete.
F0630 07:49:10.612447       5 nginx.go:145] invalid NGINX template: template: nginx.tmpl:350: function "buildUpstreamName" not defined
goroutine 1 [running]:
k8s.io/ingress/vendor/github.com/golang/glog.stacks(0xc420126300, 0xc4200d2700, 0x87, 0xda)
    /var/build/go/src/k8s.io/ingress/vendor/github.com/golang/glog/glog.go:766 +0xa7
k8s.io/ingress/vendor/github.com/golang/glog.(*loggingT).output(0x1dd15e0, 0xc400000003, 0xc420066dc0, 0x1d3ec95, 0x8, 0x91, 0x0)
    /var/build/go/src/k8s.io/ingress/vendor/github.com/golang/glog/glog.go:717 +0x348
k8s.io/ingress/vendor/github.com/golang/glog.(*loggingT).printf(0x1dd15e0, 0xc400000003, 0x154f8f0, 0x1a, 0xc4204a9df8, 0x1, 0x1)
    /var/build/go/src/k8s.io/ingress/vendor/github.com/golang/glog/glog.go:655 +0x14f
k8s.io/ingress/vendor/github.com/golang/glog.Fatalf(0x154f8f0, 0x1a, 0xc4204a9df8, 0x1, 0x1)
    /var/build/go/src/k8s.io/ingress/vendor/github.com/golang/glog/glog.go:1145 +0x67
main.newNGINXController(0x0, 0xc4204a9e80)
    /var/build/go/src/k8s.io/ingress/controllers/nginx/pkg/cmd/controller/nginx.go:145 +0x542
main.main()
    /var/build/go/src/k8s.io/ingress/controllers/nginx/pkg/cmd/controller/main.go:31 +0x37
[dumb-init] Received signal 17.
[dumb-init] A child with PID 5 exited with exit status 255.
[dumb-init] Forwarded signal 15 to children.
[dumb-init] Child exited with status 255. Goodbye.

Edit: It seems to be in the tag but not the branch or something. Introduced here:

83d03a19

Edit: Contained in refs:

git for-each-ref --contains 83d03a19
e119059c96615f9fdb0e6e3b9bc26ff0be3f47ae commit refs/heads/master
e119059c96615f9fdb0e6e3b9bc26ff0be3f47ae commit refs/remotes/origin/HEAD
e119059c96615f9fdb0e6e3b9bc26ff0be3f47ae commit refs/remotes/origin/master
fde232bc1c0c581caa68f6738009d5dd6da16950 commit refs/tags/nginx-0.9.0-beta.9

Edited to remove stupid. I noted the wrong thing

Problem does not exists in temporal image quay.io/aledbf/nginx-ingress-controller:0.156

Edited to retract that problem seems to exist in temporal image

Most helpful comment

@TimothyKlim @acoshift @andrewhowdencom 0.9-beta-10 it is published and working.

All 9 comments

cc @aledbf as it looks like you did the release in #925

It's possible that I've made a fundamentally wrong assumption somewhere. I just took a current helm release and bumped it to that container; it exploded. Let me know if there's further stuff that you need.

So, I got it wrong initially - gcr container doesn't work, temporal image above does work. Weirdly, going between beta 8 and beta 9 also showed the breaking change that should have been in

https://github.com/kubernetes/ingress/blob/master/controllers/nginx/Changelog.md#09-beta1

Weirdly, going between beta 8 and beta 9 also showed the breaking change that should have been in

which one?

@andrewhowdencom I cannot publish images to gcr. That's the reason why I just open the PR to release a new version and nicksardo or ixdy publish the images

Is 0.9.0-beta.10 still broken ? or there are any breaking change ?
I got /nginx-ingress-controller: No such file or directory error.

0.9.0-beta.10 is broken again:

[dumb-init] Unable to detach from controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] Child spawned with PID 7.
[dumb-init] Unable to attach to controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] setsid complete.
[dumb-init] /nginx-ingress-controller: No such file or directory
[dumb-init] Received signal 17.
[dumb-init] A child with PID 7 exited with exit status 2.
[dumb-init] Forwarded signal 15 to children.
[dumb-init] Child exited with status 2. Goodbye.

Update: Talking with @aledbf on fixing this.

@TimothyKlim @acoshift @andrewhowdencom 0.9-beta-10 it is published and working.

Weirdly, going between beta 8 and beta 9 also showed the breaking change that should have been in

This one

Flag --nginx-configmap was replaced with --configmap

Was this page helpful?
0 / 5 - 0 ratings