ingress-nginx: BUG: --enable-dynamic-configuration=true doesn't work properly

NGINX Ingress controller version: 0.12.0

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:“1”, Minor:“9”, GitVersion:“v1.9.5”, GitCommit:“f01a2bf98249a4db383560443a59bed0c13575df”, GitTreeState:“clean”, BuildDate:“2018-03-19T15:59:24Z”, GoVersion:“go1.9.3”, Compiler:“gc”, Platform:“linux/amd64”} Server Version: version.Info{Major:“1”, Minor:“9+”, GitVersion:“v1.9.2-gke.1”, GitCommit:“4ce7af72d8d343ea2f7680348852db641ff573af”, GitTreeState:“clean”, BuildDate:“2018-01-31T22:30:55Z”, GoVersion:“go1.9.2b4”, Compiler:“gc”, Platform:“linux/amd64”}

Environment: GCP

  • Cloud provider or hardware configuration: GCP

  • OS (e.g. from /etc/os-release): container OS

  • Kernel (e.g. uname -a): Linux nginx-ingress-controller-85d657d99c-6z6p4 4.4.86+ #1 SMP Thu Dec 7 20:11:11 PST 2017 x86_64 GNU/Linux

  • Install tools: helm

  • Others: n/a

What happened: nginx lua backend.lua crashes

What you expected to happen: nginx controller to work

How to reproduce it (as minimally and precisely as possible): update image from 0.10.2 to 0.12.0 Run nginx with following options:

      containers:
      - args:
        - /nginx-ingress-controller
        - --default-backend-service=$(POD_NAMESPACE)/default-http-backend
        - --configmap=$(POD_NAMESPACE)/nginx-configuration
        - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
        - --udp-services-configmap=$(POD_NAMESPACE)/udp-services
        - --publish-service=$(POD_NAMESPACE)/ingress-nginx
        - --enable-dynamic-configuration=true

Anything else we need to know:

REDACTED - [REDACTED] - - [21/Mar/2018:02:11:20 +0000] "GET /REDACTED/REDACTED/healthz HTTP/1.1" 500 193 "-" "GoogleHC/1.0" 142 0.000 [REDACTED-service-80]  0 - -
2018/03/21 02:11:20 [error] 326#326: *92 failed to run balancer_by_lua*: /etc/nginx/lua/balancer.lua:31: attempt to index local 'backend' (a nil value)
stack traceback:
        /etc/nginx/lua/balancer.lua:31: in function 'balance'
        /etc/nginx/lua/balancer.lua:97: in function 'call'
        balancer_by_lua:2: in function <balancer_by_lua:1> while connecting to upstream, client: REDACTED, server: REDACTED, request: "GET /REDACTED-service/healthz HTTP/1.1", host: "REDACTED"

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 5
  • Comments: 37 (24 by maintainers)

Most upvoted comments

@ElvinEfendi Now that’s working 😃 Tested with 0.14.0

Thanks guys for the great job. Will also test the resty-waf 😄

@ElvinEfendi ok, will try next week 😃

@ElvinEfendi what if we start adding items here https://github.com/kubernetes/ingress-nginx/issues/2231 so we know what it’s missing?

I was hitting the same bug and I also confirm that it works with quay.io/aledbf/nginx-ingress-controller:0.346

@ElvinEfendi Latest master image works for me.

I0321 16:09:31.080649       9 controller.go:202] dynamic reconfiguration succeeded
::1 - [::1] - - [21/Mar/2018:16:09:31 +0000] "POST /configuration/backends HTTP/1.1" 201 5 "-" "Go-http-client/1.1" 37820 0.000 [-] - - - -
I0321 16:09:31.265580       9 controller.go:192] ingress backend successfully reloaded...