Skip to content

Commit

Permalink
Ensure salt-minion never starts by setting invoke-rc.d policy using
Browse files Browse the repository at this point in the history
the /usr/sbin/policy-rc.d script and returning 101, per
https://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt,
but only for the window while we're installing Salt.

This is a much more fool-proof method than what I was attempting
before. I hunted for how to do this before and clearly failed at my
Google-fu.

Fixes kubernetes#5621
  • Loading branch information
zmerlynn committed Mar 18, 2015
1 parent 9a3afb7 commit 57cd816
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions cluster/gce/configure-vm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,26 +128,39 @@ install-salt() {
)
URL_BASE="https://storage.googleapis.com/kubernetes-release/salt"

# Based on
# https://major.io/2014/06/26/install-debian-packages-without-starting-daemons/
# We do this to prevent Salt from starting the salt-minion
# daemon. The other packages don't have relevant daemons. (If you
# add a package that needs a daemon started, add it to a different
# list.)
cat > /usr/sbin/policy-rc.d <<EOF
#!/bin/sh
echo "Salt shall not start." >&2
exit 101
EOF
chmod 0755 /usr/sbin/policy-rc.d

for tar in "${TARS[@]}"; do
download-or-bust "${URL_BASE}/${tar}"
dpkg -i "${tar}" || true
done

# This will install any of the unmet dependencies from above.
apt-get install -f -y

rm /usr/sbin/policy-rc.d
}

# Ensure salt-minion *isn't* running
# Ensure salt-minion never runs
stop-salt-minion() {
# This ensures it on next reboot
echo manual > /etc/init/salt-minion.override

service salt-minion stop
while service salt-minion status >/dev/null; do
service salt-minion stop # No, really.
echo "Waiting for salt-minion to shut down"
sleep 1
done
if service salt-minion status >/dev/null; then
echo "salt-minion started in defiance of runlevel policy, aborting startup." >&2
return 1
fi
}

# Mounts a persistent disk (formatting if needed) to store the persistent data
Expand Down

0 comments on commit 57cd816

Please sign in to comment.