puppet-kubernetes icon indicating copy to clipboard operation
puppet-kubernetes copied to clipboard

Unable to set manage_package = false on kubernetes::node and client

Open davideagle opened this issue 8 years ago • 3 comments

::kubernetes::node::kubelet includes ::kubernetes::node and it then includes ::kubernetes::client and I have no way of passing manage_package = false to those classes do I ?

davideagle avatar Feb 02 '17 13:02 davideagle

If you declare the class kubernetes::client before kubernetes::node::kubelet, it should work:

class {'kubernetes::client': manage_package => false}

cristifalcas avatar Feb 02 '17 13:02 cristifalcas

class { 'kubernetes::node': manage_package => false, before => Class['Kubernetes::Client'] } class { 'kubernetes::client': manage_package => false, before => Class['Kubernetes::Node::Kubelet'] }

class { 'kubernetes::node::kubelet': address => '0.0.0.0', allow_privileged => true, api_servers => "http://kube-master-01.openstacklocal:8080", container_runtime => 'docker', }

Error: Duplicate declaration: Class[Kubernetes::Client] is already declared; cannot redeclare at /etc/puppet/modules/kubestack/manifests/kubernetes/minion.pp:58 on node kube-minion-01.openstacklocal

davideagle avatar Feb 02 '17 14:02 davideagle

Since kubernetes::client is used in kubernetes::node, you need to declare it before kubernetes::node:

class { 'kubernetes::client': manage_package => false, }
class { 'kubernetes::node': manage_package => false, }
class { 'kubernetes::master': manage_package => false, }

I will make this clearer in the documentation also.

cristifalcas avatar Feb 02 '17 15:02 cristifalcas