diff --git a/cluster/saltbase/salt/apiserver/default b/cluster/saltbase/salt/apiserver/default index 858dc43052..e006a9d5a7 100644 --- a/cluster/saltbase/salt/apiserver/default +++ b/cluster/saltbase/salt/apiserver/default @@ -18,16 +18,18 @@ {% set ips = salt['mine.get']('roles:kubernetes-master', 'network.ip_addrs', 'grain').values() %} {% set etcd_servers = "-etcd_servers=http://" + ips[0][0] + ":4001" %} {% endif %} -{% if grains.minion_ips is defined %} - {% set machines = "-machines " + grains.minion_ips %} -{% elif grains.cloud is defined and grains.cloud == 'gce' %} + +{% if grains.cloud is defined %} +{% if grains.cloud == 'gce' %} {% set cloud_provider = "-cloud_provider=gce" %} {% set machines = "-machines " + ','.join(salt['mine.get']('roles:kubernetes-pool', 'network.ip_addrs', expr_form='grain').keys()) %} -{% elif grains.cloud is defined and grains.cloud == 'azure' %} - MACHINES="{{ salt['mine.get']('roles:kubernetes-pool', 'grains.items', expr_form='grain').values()|join(',', attribute='hostnamef') }}" +{% endif %} +{% if grains.cloud == 'azure' %} + MACHINES="{{ salt['mine.get']('roles:kubernetes-pool', 'grains.items', expr_form='grain').values()|join(',', attribute='hostnamef') }}" {% set machines = "-machines $MACHINES" %} -{% else %} - # No cloud defined, collect IPs of minions as machines list. +{% endif %} +{% if grains.cloud == 'vsphere' %} + # Collect IPs of minions as machines list. # Use a bash array to build the value we need. It doesn't appear to be # possible call functions map or zip, or use lambda's from Jinja. MACHINE_IPS=() @@ -36,5 +38,6 @@ {% endfor %} {% set machines = "-machines=$(echo ${MACHINE_IPS[@]} | xargs -n1 echo | paste -sd,)" %} {% endif %} +{% endif %} DAEMON_ARGS="{{daemon_args}} {{address}} {{machines}} {{etcd_servers}} {{ minion_regexp }} {{ cloud_provider }}" diff --git a/cluster/vsphere/templates/salt-master.sh b/cluster/vsphere/templates/salt-master.sh index f2a16a52a6..92b526fc3f 100755 --- a/cluster/vsphere/templates/salt-master.sh +++ b/cluster/vsphere/templates/salt-master.sh @@ -25,6 +25,7 @@ cat </etc/salt/minion.d/grains.conf grains: roles: - kubernetes-master + cloud: vsphere EOF # Auto accept all keys from minions that try to join