diff --git a/salt/manager/tools/sbin/soup b/salt/manager/tools/sbin/soup index d7c86faef..5020f0ea6 100755 --- a/salt/manager/tools/sbin/soup +++ b/salt/manager/tools/sbin/soup @@ -350,10 +350,11 @@ highstate() { masterlock() { echo "Locking Salt Master" mv -v $TOPFILE $BACKUPTOPFILE - echo "base:" > $TOPFILE - echo " $MINIONID:" >> $TOPFILE - echo " - ca" >> $TOPFILE - echo " - elasticsearch" >> $TOPFILE + # Render the real top file only for the host running soup; every other + # minion gets an empty top (no states) while the master is upgrading. + echo "{% if grains['id'] == '$MINIONID' %}" > $TOPFILE + cat $BACKUPTOPFILE >> $TOPFILE + echo "{% endif %}" >> $TOPFILE } masterunlock() {