From 1152471db7e6c5175b59a1716c7dd9e78036c7b1 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Sun, 12 Oct 2014 14:24:01 -0700 Subject: [PATCH] Split reactor files There now are reactor files to run highstate on: * New nodes only * Master nodes * Minion nodes --- cluster/gce/templates/salt-master.sh | 2 +- cluster/saltbase/reactor/highstate-all.sls | 9 --------- cluster/saltbase/reactor/highstate-masters.sls | 10 ++++++++++ cluster/saltbase/reactor/highstate-minions.sls | 11 +++++++++++ cluster/saltbase/reactor/highstate-new.sls | 4 ++++ cluster/saltbase/reactor/start.sls | 5 ----- cluster/vagrant/provision-master.sh | 2 +- cluster/vsphere/templates/salt-master.sh | 4 +++- 8 files changed, 30 insertions(+), 17 deletions(-) delete mode 100644 cluster/saltbase/reactor/highstate-all.sls create mode 100644 cluster/saltbase/reactor/highstate-masters.sls create mode 100644 cluster/saltbase/reactor/highstate-minions.sls create mode 100644 cluster/saltbase/reactor/highstate-new.sls delete mode 100644 cluster/saltbase/reactor/start.sls diff --git a/cluster/gce/templates/salt-master.sh b/cluster/gce/templates/salt-master.sh index b3a38d72e44..94929554fad 100755 --- a/cluster/gce/templates/salt-master.sh +++ b/cluster/gce/templates/salt-master.sh @@ -38,7 +38,7 @@ cat </etc/salt/master.d/reactor.conf # React to new minions starting by running highstate on them. reactor: - 'salt/minion/*/start': - - /srv/reactor/start.sls + - /srv/reactor/highstate-new.sls EOF # Install Salt diff --git a/cluster/saltbase/reactor/highstate-all.sls b/cluster/saltbase/reactor/highstate-all.sls deleted file mode 100644 index d9b1263474d..00000000000 --- a/cluster/saltbase/reactor/highstate-all.sls +++ /dev/null @@ -1,9 +0,0 @@ -# This runs highstate on the ALL nodes. -# -# Used from the vSphere provider. The IP addresses of the minons are passed to -# the apiserver as arguments and every minion has static routes to every other -# minion. This means every node should be refreshed when a node is added. -# -highstate_run: - cmd.state.highstate: - - tgt: '*' diff --git a/cluster/saltbase/reactor/highstate-masters.sls b/cluster/saltbase/reactor/highstate-masters.sls new file mode 100644 index 00000000000..246f7ebce9f --- /dev/null +++ b/cluster/saltbase/reactor/highstate-masters.sls @@ -0,0 +1,10 @@ +# This runs highstate on the master node(s). +# +# Some of the cluster deployment scripts pass the list of minion addresses to +# the apiserver as a command line argument. This list needs to be updated if a +# new minion is started, so run highstate on the master(s) when this happens. +# +highstate_master: + cmd.state.highstate: + - tgt: 'roles:kubernetes-master' + - expr_form: grain diff --git a/cluster/saltbase/reactor/highstate-minions.sls b/cluster/saltbase/reactor/highstate-minions.sls new file mode 100644 index 00000000000..7bd00d02857 --- /dev/null +++ b/cluster/saltbase/reactor/highstate-minions.sls @@ -0,0 +1,11 @@ +# This runs highstate on the minion nodes. +# +# Some of the cluster deployment scripts use the list of minions on the minions +# themselves (for example: every minion is configured with static routes to +# every other minion on a vSphere deployment). To propagate changes throughout +# the pool, run highstate on all minions whenever a single minion starts. +# +highstate_minions: + cmd.state.highstate: + - tgt: 'roles:kubernetes-pool' + - expr_form: grain diff --git a/cluster/saltbase/reactor/highstate-new.sls b/cluster/saltbase/reactor/highstate-new.sls new file mode 100644 index 00000000000..825749dc275 --- /dev/null +++ b/cluster/saltbase/reactor/highstate-new.sls @@ -0,0 +1,4 @@ +# This runs highstate only on the NEW node, regardless of type. +highstate_new: + cmd.state.highstate: + - tgt: {{ data['id'] }} diff --git a/cluster/saltbase/reactor/start.sls b/cluster/saltbase/reactor/start.sls deleted file mode 100644 index ea1c906e977..00000000000 --- a/cluster/saltbase/reactor/start.sls +++ /dev/null @@ -1,5 +0,0 @@ - -# This runs highstate on the target node -highstate_run: - cmd.state.highstate: - - tgt: {{ data['id'] }} diff --git a/cluster/vagrant/provision-master.sh b/cluster/vagrant/provision-master.sh index f0946d0906d..fe75fbc5021 100755 --- a/cluster/vagrant/provision-master.sh +++ b/cluster/vagrant/provision-master.sh @@ -92,7 +92,7 @@ cat </etc/salt/master.d/reactor.conf # React to new minions starting by running highstate on them. reactor: - 'salt/minion/*/start': - - /srv/reactor/start.sls + - /srv/reactor/highstate-new.sls EOF cat </etc/salt/master.d/salt-output.conf diff --git a/cluster/vsphere/templates/salt-master.sh b/cluster/vsphere/templates/salt-master.sh index 19f1cab7f04..f694b2c6d63 100755 --- a/cluster/vsphere/templates/salt-master.sh +++ b/cluster/vsphere/templates/salt-master.sh @@ -42,7 +42,9 @@ cat </etc/salt/master.d/reactor.conf # React to new minions starting by running highstate on them. reactor: - 'salt/minion/*/start': - - /srv/reactor/highstate-all.sls + - /srv/reactor/highstate-new.sls + - /srv/reactor/highstate-masters.sls + - /srv/reactor/highstate-minions.sls EOF mkdir -p /srv/salt/nginx