+# Update compute node(s)
+title "Update compute node(s)"
+
+# Get list of nodes that are up
+COMPRESSED_NODE_LIST=`ssh -p2222 root@$IDENTIFIER -C "sinfo --long -p crypto -r -o "%N" -h"`
+
+if [[ "$COMPRESSED_NODE_LIST" != '' ]]; then
+ COMPUTE_NODES=`ssh -p2222 root@$IDENTIFIER -C "scontrol show hostname $COMPRESSED_NODE_LIST"`
+
+ SUM_ECODE=0
+ for node in $COMPUTE_NODES; do
+ echo "Updating $node.$IDENTIFIER"
+ run_puppet $node ECODE
+ SUM_ECODE=$(($SUM_ECODE + $ECODE))
+ done
+
+ if [[ "$SUM_ECODE" != "0" ]]; then
+ title "!!!!!! Update compute node(s) FAILED !!!!!!"
+ EXITCODE=$(($EXITCODE + $SUM_ECODE))
+ fi
+fi
+
+title "Update compute node(s) complete"
+
+title "Update shell"
+
+run_puppet shell ECODE
+
+if [[ "$ECODE" == "2" ]]; then
+ # Puppet exits '2' if there are changes. For real!
+ ECODE=0
+fi
+
+if [[ "$ECODE" != "0" ]]; then
+ title "!!!!!! Update shell FAILED !!!!!!"
+ EXITCODE=$(($EXITCODE + $ECODE))
+fi
+
+title "Update shell complete"
+
+title "Update keep0"
+
+run_puppet keep0 ECODE
+
+if [[ "$ECODE" == "2" ]]; then
+ # Puppet exits '2' if there are changes. For real!
+ ECODE=0
+fi
+
+if [[ "$ECODE" != "0" ]]; then
+ title "!!!!!! Update keep0 FAILED !!!!!!"
+ EXITCODE=$(($EXITCODE + $ECODE))
+fi
+
+title "Update keep0 complete"
+