garethr / garethr-kubernetes

Puppet types and provider for managing Pods, ReplicationControllers, Services and more in Kubernetes
http://garethr.github.io/garethr-kubernetes
Apache License 2.0
28 stars 28 forks source link

Error in fetch_user_cert_data #31

Open mc0e opened 7 years ago

mc0e commented 7 years ago

Error message below. Can someone explain what's going on?

mc0e@xxx:~$ puppet resource kubernetes_pod
Error: Could not run: Puppet detected a problem with the information returned from the service when accessing kubernetes_pod. The specific error was:
  undefined method `key?' for nil:NilClass

/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/kubeclient/config.rb:107:in `fetch_user_cert_data'
/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/kubeclient/config.rb:38:in `context'
/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/puppet_x/puppetlabs/kubernetes/provider.rb:47:in `v1_client'
/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/puppet_x/puppetlabs/kubernetes/provider.rb:66:in `call'
/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/puppet_x/puppetlabs/kubernetes/provider.rb:74:in `list_instances_of'
/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/puppet/provider/kubernetes_pod/swagger.rb:57:in `list_instances'
/home/mc0e/.puppetlabs/etc/code/modules/kubernetes/lib/puppet_x/puppetlabs/swagger/provider.rb:17:in `instances'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1170:in `block in instances'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `collect'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `instances'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:24:in `search'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:269:in `search'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:221:in `find_or_save_resources'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:136:in `main'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:352:in `run_command'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:541:in `exit_on_fail'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `execute'
/opt/puppetlabs/bin/puppet:5:in `<main>'

fetch_user_cert_data(user) looks to have been called on an undefined user, sofetch_context` must have failed to return the user. In fact I haven't defined any users yet. Should that be a requirement?

kubectl get pods works fine at the command line, and my ~/.puppetlabs/etc/puppet/kubernetes.conf file is generated as sugested:

mc0e@xxx:~$ kubectl config view --raw=true
apiVersion: v1
clusters:
- cluster:
server: http://localhost:8080
  name: test-doc
contexts:
- context:
cluster: test-doc
user: ""
  name: test-doc
current-context: test-doc
kind: Config
preferences: {}
users: []