Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-1786

Quay config editor reconfigure quay hit panic runtime error code

XMLWordPrintable

      Description:

      This is an issue found when using quay configure editor to reconfigure quay, here quay was deployed on OCP with FIPS enabled, after input valid SMTP configurations, click validate configurations, and 'Reconfigure quay', hit 500 error code. Checked Quay config editor POD, get error "panic: runtime error: invalid memory address or nil pointer dereference" for details see the logs of Quay Config App Pod attached.

      config-editor stdout | 2021/03/25 06:02:44 [quayaws3-quay-config-editor-856d84f985-mhvzl/5jzIPLOkqD-000030] "POST http://quayaws3-quay-config-editor-quay350.apps.quay-fips-604.qe.devcluster.openshift.com/api/v1/config/operator HTTP/1.1" from 124.64.63.198 - 500 0B in 4.415079ms
      config-editor stderr |  panic: runtime error: invalid memory address or nil pointer dereference
      config-editor stderr |
      config-editor stderr |  -> github.com/quay/config-tool/pkg/lib/editor.commitToOperator.func1
      config-editor stderr |  ->   /remote-source/app/source/config-tool/pkg/lib/editor/controllers.go:241
      config-editor stderr |     github.com/abbot/go-http-auth.JustCheck.func1
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/abbot/go-http-auth/auth.go:107
      config-editor stderr |     github.com/abbot/go-http-auth.(*BasicAuth).Wrap.func1
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/abbot/go-http-auth/basic.go:146
      config-editor stderr |     net/http.HandlerFunc.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2054
      config-editor stderr |     github.com/go-chi/chi.(*Mux).routeHTTP
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/go-chi/chi/mux.go:431
      config-editor stderr |     net/http.HandlerFunc.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2054
      config-editor stderr |     github.com/go-chi/chi/middleware.Recoverer.func1
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/go-chi/chi/middleware/recoverer.go:37
      config-editor stderr |     net/http.HandlerFunc.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2054
      config-editor stderr |     github.com/go-chi/chi/middleware.RequestLogger.func1.1
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/go-chi/chi/middleware/logger.go:46
      config-editor stderr |     net/http.HandlerFunc.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2054
      config-editor stderr |     github.com/go-chi/chi/middleware.RealIP.func1
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/go-chi/chi/middleware/realip.go:34
      config-editor stderr |     net/http.HandlerFunc.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2054
      config-editor stderr |     github.com/go-chi/chi/middleware.RequestID.func1
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/go-chi/chi/middleware/request_id.go:76
      config-editor stderr |     net/http.HandlerFunc.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2054
      config-editor stderr |     github.com/go-chi/chi.(*Mux).ServeHTTP
      config-editor stderr |       /remote-source/app/source/config-tool/vendor/github.com/go-chi/chi/mux.go:86
      config-editor stderr |     net/http.serverHandler.ServeHTTP
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2855
      config-editor stderr |     net/http.(*conn).serve
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:1937
      config-editor stderr |     created by net/http.(*Server).Serve
      config-editor stderr |       /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/net/http/server.go:2981
      config-editor stderr |
      config-editor stdout | 2021/03/25 06:03:10 [quayaws3-quay-config-editor-856d84f985-mhvzl/5jzIPLOkqD-000031] "POST http://quayaws3-quay-config-editor-quay350.apps.quay-fips-604.qe.devcluster.openshift.com/api/v1/config/operator HTTP/1.1" from 124.64.63.198 - 500 0B in 4.325693ms

       

      Reconfigure quay hit 500 error code

      Quay Version:

      oc get pod
      NAME                                           READY   STATUS      RESTARTS   AGE
      quayaws3-clair-app-75dfd798b6-gkrsw            1/1     Running     0          17m
      quayaws3-clair-postgres-cbf99899-z7wq5         1/1     Running     1          26m
      quayaws3-quay-app-7db845fc7c-zhstn             1/1     Running     2          17m
      quayaws3-quay-config-editor-856d84f985-mhvzl   1/1     Running     0          17m
      quayaws3-quay-database-55f6f6f7cc-9vwnt        1/1     Running     0          17m
      quayaws3-quay-mirror-5cbd488847-cc645          1/1     Running     0          16m
      quayaws3-quay-postgres-init-gnl6q              0/1     Completed   0          17m
      quayaws3-quay-redis-6c68db5f4f-snnf9           1/1     Running     0          26m
      
      oc get pod quayaws3-quay-app-7db845fc7c-zhstn -o json | jq '.spec.containers[0].image'
      "registry.redhat.io/quay/quay-rhel8@sha256:6f979d2983f16a08908b6090b6d6f7724dc280c80cf7aff9a9c829da104cf46c"
      

      Index image:

      Index image v4.7: registry-proxy.engineering.redhat.com/rh-osbs/iib:59430
      

      Steps:

      1. Deploy Quay 3.5 with Quay Operator on OCP with FIPS enabled
      2. Login Quay config editor
      3. Enable SMTP configurations and input valid configurations as reuired
      4. Click "Validate configurations"
      5. After validation is passed, Click "Reconfigure Quay"

      Expected Results:

      Quay redeployment was triggered successfully.

      Actual Results:

      Quay redeployment was failed to triggered, hit 500 error code.

              jonathankingfc Jonathan King
              lzha1981 luffy zhang
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: