{"action":"closed","issue":{"url":"https://api.github.com/repos/argoproj/argo-cd/issues/753","repository_url":"https://api.github.com/repos/argoproj/argo-cd","labels_url":"https://api.github.com/repos/argoproj/argo-cd/issues/753/labels{/name}","comments_url":"https://api.github.com/repos/argoproj/argo-cd/issues/753/comments","events_url":"https://api.github.com/repos/argoproj/argo-cd/issues/753/events","html_url":"https://github.com/argoproj/argo-cd/issues/753","id":378537723,"node_id":"MDU6SXNzdWUzNzg1Mzc3MjM=","number":753,"title":"Health check is not discerning apiVersion for CRDs","user":{"login":"jessesuen","id":12677113,"node_id":"MDQ6VXNlcjEyNjc3MTEz","avatar_url":"https://avatars0.githubusercontent.com/u/12677113?v=4","gravatar_id":"","url":"https://api.github.com/users/jessesuen","html_url":"https://github.com/jessesuen","followers_url":"https://api.github.com/users/jessesuen/followers","following_url":"https://api.github.com/users/jessesuen/following{/other_user}","gists_url":"https://api.github.com/users/jessesuen/gists{/gist_id}","starred_url":"https://api.github.com/users/jessesuen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessesuen/subscriptions","organizations_url":"https://api.github.com/users/jessesuen/orgs","repos_url":"https://api.github.com/users/jessesuen/repos","events_url":"https://api.github.com/users/jessesuen/events{/privacy}","received_events_url":"https://api.github.com/users/jessesuen/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-08T01:16:10Z","updated_at":"2018-11-08T01:21:23Z","closed_at":"2018-11-08T01:21:23Z","author_association":"CONTRIBUTOR","body":"We hit an issue where a serving.knative.dev/v1alpha1.Service was being assessed for health as a core/v1.Service:\r\n\r\n```\r\ntime=\"2018-11-07T19:48:18Z\" level=info msg=\"[kubectl --kubeconfig /dev/shm/749756276 -n dev-containers-sample-functions-java-usw2-dev-qal apply -f - --dry-run]\"\r\ntime=\"2018-11-07T19:48:18Z\" level=info msg=\"[kubectl --kubeconfig /dev/shm/266515011 -n dev-containers-sample-functions-java-usw2-dev-qal apply -f - --dry-run]\"\r\ntime=\"2018-11-07T19:48:19Z\" level=info msg=\"Comparing app dev-containers-sample-functions-java-usw2-dev-qal state in cluster https://<REDACTED> (namespace: dev-containers-sample-functions-java-usw2-dev-qal)\"\r\ntime=\"2018-11-07T19:48:19Z\" level=warning msg=\"three-way diff calculation failed: no kind \\\"Service\\\" is registered for version \\\"serving.knative.dev/v1alpha1\\\". Falling back to two-way diff\"\r\ntime=\"2018-11-07T19:48:19Z\" level=warning msg=\"three-way diff calculation failed: no kind \\\"Service\\\" is registered for version \\\"serving.knative.dev/v1alpha1\\\". Falling back to two-way diff\"\r\ntime=\"2018-11-07T19:48:19Z\" level=error msg=\"Recovered from panic: runtime error: invalid memory address or nil pointer dereference\r\ngoroutine 63 [running]:\r\nruntime/debug.Stack(0xc42232f9f8, 0x14acd60, 0x209b2a0)\r\n    /usr/local/go/src/runtime/debug/stack.go:24 +0xa7\r\ngithub.com/argoproj/argo-cd/controller.(*ApplicationController).processAppRefreshQueueItem.func1(0xc4200e9bc0, 0x142d780, 0xc421e231b0)\r\n    /go/src/github.com/argoproj/argo-cd/controller/appcontroller.go:508 +0x8e\r\npanic(0x14acd60, 0x209b2a0)\r\n    /usr/local/go/src/runtime/panic.go:502 +0x229\r\ngithub.com/argoproj/argo-cd/util/health.GetAppHealth(0x1801380, 0x20d5248, 0xc4207f09f8, 0x1693a40, 0xc4207f09f8, 0x0)\r\n    /go/src/github.com/argoproj/argo-cd/util/health/health.go:44 +0x11d\r\ngithub.com/argoproj/argo-cd/controller.setApplicationHealth(0x1801380, 0x20d5248, 0xc42130e780, 0x0, 0x20d5248, 0x0)\r\n    /go/src/github.com/argoproj/argo-cd/controller/appcontroller.go:660 +0x3a1\r\ngithub.com/argoproj/argo-cd/controller.(*ApplicationController).processAppRefreshQueueItem(0xc4200e9bc0, 0x1)\r\n    /go/src/github.com/argoproj/argo-cd/controller/appcontroller.go:554 +0x5cd\r\ngithub.com/argoproj/argo-cd/controller.(*ApplicationController).Run.func1()\r\n    /go/src/github.com/argoproj/argo-cd/controller/appcontroller.go:112 +0x36\r\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc42034c4c0)\r\n    /go/src/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x54\r\nk8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc42034c4c0, 0x3b9aca00, 0x0, 0x1, 0xc4200b05a0)\r\n    /go/src/k8s.io/apimachinery/pkg/util/wait/wait.go:134 +0xbd\r\nk8s.io/apimachinery/pkg/util/wait.Until(0xc42034c4c0, 0x3b9aca00, 0xc4200b05a0)\r\n    /go/src/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d\r\ncreated by github.com/argoproj/argo-cd/controller.(*ApplicationController).Run\r\n    /go/src/github.com/argoproj/argo-cd/controller/appcontroller.go:111 +0x1c4\r\n\"\r\ntime=\"2018-11-07T19:48:19Z\" level=info msg=\"Refreshing app status (spec.source differs)\" application=dev-containers-sample-functions-java-usw2-dev-qal\r\ntime=\"2018-11-07T19:48:22Z\" level=info msg=\"added resource Service/simple status: Synced, message: service.serving.knative.dev/simple configured (dry run)\" application=dev-containers-sample-functions-java-usw2-dev-qal\r\n```\r\n\r\nThe panic was addressed by: https://github.com/argoproj/argo-cd/pull/723, but the underlying root cause is that we should discern the core types from CRD objects."}}
{"actor":{"display_login":"jessesuen"}}