Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
andrewhowdencom opened this issue Jun 30, 2017 · 9 comments · Fixed by #928

Comments

@andrewhowdencom
Copy link

andrewhowdencom commented Jun 30, 2017

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:

83d03a1

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

@andrewhowdencom andrewhowdencom changed the title Most re gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.9 appears to contain incorrect template, and refuses to boot. Jun 30, 2017
@andrewhowdencom
Copy link
Author

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.

@andrewhowdencom
Copy link
Author

andrewhowdencom commented Jun 30, 2017

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

@aledbf
Copy link
Member

aledbf commented Jun 30, 2017

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

which one?

@aledbf
Copy link
Member

aledbf commented Jun 30, 2017

@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

@acoshift
Copy link
Contributor

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.

@timothyklim
Copy link

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.

@nicksardo
Copy link
Contributor

nicksardo commented Jun 30, 2017

Update: Talking with @aledbf on fixing this.

@aledbf
Copy link
Member

aledbf commented Jun 30, 2017

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

@andrewhowdencom
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants