{"action":"created","issue":{"url":"https://api.github.com/repos/spinnaker/spinnaker/issues/2418","repository_url":"https://api.github.com/repos/spinnaker/spinnaker","labels_url":"https://api.github.com/repos/spinnaker/spinnaker/issues/2418/labels{/name}","comments_url":"https://api.github.com/repos/spinnaker/spinnaker/issues/2418/comments","events_url":"https://api.github.com/repos/spinnaker/spinnaker/issues/2418/events","html_url":"https://github.com/spinnaker/spinnaker/issues/2418","id":299446857,"node_id":"MDU6SXNzdWUyOTk0NDY4NTc=","number":2418,"title":"Halyard: Null pointer error when parsing kubernetes config","user":{"login":"spinnaker-release","id":27356485,"node_id":"MDQ6VXNlcjI3MzU2NDg1","avatar_url":"https://avatars1.githubusercontent.com/u/27356485?v=4","gravatar_id":"","url":"https://api.github.com/users/spinnaker-release","html_url":"https://github.com/spinnaker-release","followers_url":"https://api.github.com/users/spinnaker-release/followers","following_url":"https://api.github.com/users/spinnaker-release/following{/other_user}","gists_url":"https://api.github.com/users/spinnaker-release/gists{/gist_id}","starred_url":"https://api.github.com/users/spinnaker-release/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spinnaker-release/subscriptions","organizations_url":"https://api.github.com/users/spinnaker-release/orgs","repos_url":"https://api.github.com/users/spinnaker-release/repos","events_url":"https://api.github.com/users/spinnaker-release/events{/privacy}","received_events_url":"https://api.github.com/users/spinnaker-release/received_events","type":"User","site_admin":false},"labels":[{"id":675893188,"node_id":"MDU6TGFiZWw2NzU4OTMxODg=","url":"https://api.github.com/repos/spinnaker/spinnaker/labels/component/halyard","name":"component/halyard","color":"c7def8","default":false},{"id":936546350,"node_id":"MDU6TGFiZWw5MzY1NDYzNTA=","url":"https://api.github.com/repos/spinnaker/spinnaker/labels/stale","name":"stale","color":"000000","default":false},{"id":1025177299,"node_id":"MDU6TGFiZWwxMDI1MTc3Mjk5","url":"https://api.github.com/repos/spinnaker/spinnaker/labels/to-be-closed","name":"to-be-closed","color":"000000","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-22T17:46:53Z","updated_at":"2018-11-13T14:09:02Z","closed_at":null,"author_association":"NONE","body":"_Migrated from https://github.com/spinnaker/halyard/issues/748_\n\n__Opened by__: @rbwsam _(2017-11-07 18:28:35)_ ```\r\n$ hal -v\r\n0.35.0-20171002192634\r\n```\r\n\r\nWhen attempting to deploy to a Kubernetes environment I receive a null pointer exception that appears to be related to parsing my Kubernetes config file:\r\n\r\n```\r\n$ hal deploy apply\r\n+ Get current deployment\r\n  Success\r\n- Apply deployment\r\n  Failure\r\nProblems in Global:\r\n! ERROR Unexpected exception: java.lang.NullPointerException:\r\n  Cannot get property 'user' on null object\r\n\r\n- Failed to deploy Spinnaker.\r\n```\r\n\r\n```\r\njava.lang.NullPointerException: Cannot get property 'user' on null object\r\n\tat org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60) ~[groovy-all-2.4.11.jar:2.4.11]\r\n\tat org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:174) ~[groovy-all-2.4.11.jar:2.4.11]\r\n\tat org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:47) ~[groovy-all-2.4.11.jar:2.4.11]\r\n\tat org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296) ~[groovy-all-2.4.11.jar:2.4.11]\r\n\tat com.netflix.spinnaker.clouddriver.kubernetes.security.KubernetesConfigParser.withKubeConfig(KubernetesConfigParser.groovy:77) ~[clouddriver-kubernetes-1.669.0.jar:1.669.0]\r\n\tat com.netflix.spinnaker.clouddriver.kubernetes.security.KubernetesConfigParser$withKubeConfig.callStatic(Unknown Source) ~[na:na]\r\n\tat com.netflix.spinnaker.clouddriver.kubernetes.security.KubernetesConfigParser.parse(KubernetesConfigParser.groovy:33) ~[clouddriver-kubernetes-1.669.0.jar:1.669.0]\r\n\tat com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.KubernetesProviderUtils.getClient(KubernetesProviderUtils.java:127) ~[halyard-deploy-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.KubernetesDistributedService.getRunningServiceDetails(KubernetesDistributedService.java:554) ~[halyard-deploy-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.deploy.deployment.v1.DistributedDeployer.deploy(DistributedDeployer.java:172) ~[halyard-deploy-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.deploy.deployment.v1.DistributedDeployer.deploy(DistributedDeployer.java:55) ~[halyard-deploy-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.deploy.services.v1.DeployService.deploy(DeployService.java:205) ~[halyard-deploy-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.controllers.v1.DeploymentController.lambda$deploy$16(DeploymentController.java:205) ~[halyard-web-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.core.DaemonResponse$StaticRequestBuilder.build(DaemonResponse.java:125) ~[halyard-core-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat com.netflix.spinnaker.halyard.core.tasks.v1.TaskRepository.lambda$submitTask$1(TaskRepository.java:48) ~[halyard-core-0.35.0-20171002192634.jar:0.35.0-20171002192634]\r\n\tat java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_111]\r\n```\r\nMy Kubernetes config file:\r\n\r\n\r\n```yaml\r\napiVersion: v1\r\nkind: Config\r\nclusters:\r\n- name: local\r\n  cluster:\r\n    server: <redacted>\r\n    certificate-authority-data: <redacted>\r\nusers:\r\n- name: <redacted>\r\n  user:\r\n    auth-provider:\r\n      name: oidc\r\n      config:\r\n        client-id: <redacted>\r\n        client-secret: <redacted>\r\n        extra-scopes: groups\r\n        id-token: <redacted>\r\n        idp-issuer-url: <redacted>\r\n        refresh-token: <redacted>\r\ncontexts:\r\n- context:\r\n    cluster: local\r\n    user: <redacted>\r\n```\n\n__Comments__:\n\n\n---\n\n@lwander _(2017-11-06 13:12:19)_: The current kubeconfig you've provided likely won't work with the v1 kubernetes provider - the client library we're using (and migrating off-of) has some severe limitations, in particular, auth-provider isn't supported at all AFAIK. The next iteration of the provider uses the k8s built java provider in order to help us get around these problems. \r\n\r\nHalyard is \"correctly\" letting you know that the spinnaker will fail to load these credentials as-is. \n\n---\n\n@rbwsam _(2017-11-07 18:28:35)_: @lwander Thank you very much for that info!"},"comment":{"url":"https://api.github.com/repos/spinnaker/spinnaker/issues/comments/438278422","html_url":"https://github.com/spinnaker/spinnaker/issues/2418#issuecomment-438278422","issue_url":"https://api.github.com/repos/spinnaker/spinnaker/issues/2418","id":438278422,"node_id":"MDEyOklzc3VlQ29tbWVudDQzODI3ODQyMg==","user":{"login":"spinnakerbot","id":39309875,"node_id":"MDQ6VXNlcjM5MzA5ODc1","avatar_url":"https://avatars2.githubusercontent.com/u/39309875?v=4","gravatar_id":"","url":"https://api.github.com/users/spinnakerbot","html_url":"https://github.com/spinnakerbot","followers_url":"https://api.github.com/users/spinnakerbot/followers","following_url":"https://api.github.com/users/spinnakerbot/following{/other_user}","gists_url":"https://api.github.com/users/spinnakerbot/gists{/gist_id}","starred_url":"https://api.github.com/users/spinnakerbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spinnakerbot/subscriptions","organizations_url":"https://api.github.com/users/spinnakerbot/orgs","repos_url":"https://api.github.com/users/spinnakerbot/repos","events_url":"https://api.github.com/users/spinnakerbot/events{/privacy}","received_events_url":"https://api.github.com/users/spinnakerbot/received_events","type":"User","site_admin":false},"created_at":"2018-11-13T14:09:02Z","updated_at":"2018-11-13T14:09:02Z","author_association":"NONE","body":"This issue is tagged as 'to-be-closed' and hasn't been updated  in 45 days, so we are closing it. You can always reopen this issue if needed."}}
{"actor":{"display_login":"spinnakerbot"}}