]> gitweb.fluxo.info Git - hydra.git/commitdiff
Cleanup on hydra mass execution
authorSilvio Rhatto <rhatto@riseup.net>
Wed, 28 Sep 2011 03:07:00 +0000 (00:07 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Wed, 28 Sep 2011 03:07:00 +0000 (00:07 -0300)
share/hydra/mass
share/hydractl/puppet-reset-master

index 64ad8e0d1f1d210e53ac5f8e0558cdeb194b623d..3aebd2207c2d7b9183392c21d3dc14098d851f6f 100755 (executable)
@@ -5,17 +5,12 @@
 
 # Issue commands with pssh
 function mass_pssh {
-  echo "Issuing $COMMAND on multiple nodes..."
-  hydra_set_tmpfile nodes
-  echo $NODES > $TMPWORK
-  parallel-ssh -t 40 -P -h $TMPWORK sudo $COMMAND
-  hydra_unset_tmpfile $TMPWORK
+  parallel-ssh -t 120 -P -p 4 -h $TMPWORK sudo $COMMAND
 }
 
 # Issue commands with a for loop
 function mass_loop {
-  for node in $NODES; do
-    echo "Issuing $COMMAND on multiple nodes..."
+  for node in `cat $TMPWORK`; do
     echo "Connecting to $node..."
     $HYDRA_CONNECT $node sudo $COMMAND
   done
@@ -23,20 +18,18 @@ function mass_loop {
 
 # Issue commands with dish
 function mass_dish {
-  echo "Issuing $COMMAND on multiple nodes..."
-  hydra_set_tmpfile nodes
-  echo $NODES > $TMPWORK
   dish -f -p /dev/null -e "sudo $COMMAND" -g $TMPWORK
-  hydra_unset_tmpfile $TMPWORK
 }
 
 # Issue commands with mussh
 function mass_mussh {
-  echo "Issuing $COMMAND on multiple nodes..."
-  hydra_set_tmpfile nodes
-  echo $NODES > $TMPWORK
   mussh -H $TMPWORK -c "sudo $COMMAND"
-  hydra_unset_tmpfile $TMPWORK
+}
+
+# Set nodes
+function set_nodes {
+  hydra_set_tmpfile nodes
+  hydra $HYDRA nodes $1 > $TMPWORK
 }
 
 # Load
@@ -48,7 +41,8 @@ BASENAME="`basename $0`"
 COMMAND="$*"
 
 # Initial node list
-NODES="`hydra $HYDRA nodes`"
+BASEDIR="/tmp"
+set_nodes
 
 # Validation
 if [ "$BASENAME" == "mass-update" ]; then
@@ -56,9 +50,10 @@ if [ "$BASENAME" == "mass-update" ]; then
 elif [ "$BASENAME" == "mass-upgrade" ]; then
   COMMAND="aptitude safe-upgrade -y"
 elif [ "$BASENAME" == "mass-web" ]; then
-  NODES="`hydra $HYDRA nodes web`"
+  set_nodes web
 fi
 
 # Execute commands in hosts
-BASEDIR="/tmp"
+echo "Issuing $COMMAND on multiple nodes..."
 mass_pssh $COMMAND
+hydra_unset_tmpfile $TMPWORK
index ee1c888b6268514f449955d75f2a4ecf7e1972d6..5a4386e08be761f0b3fdd8a231673b896ce25eea 100755 (executable)
@@ -19,5 +19,5 @@ chown -R puppet.puppet /etc/puppet/
 
 # Start services
 /etc/init.d/puppetmaster start
-sleep 10
+sleep 5
 /etc/init.d/nginx start