diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2010-11-14 14:50:55 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2010-11-14 14:50:55 -0200 |
commit | 2c1c916fc6b0a11ca572ede5a95e63b46fa1e61d (patch) | |
tree | e7b8ea9677150f7e234ff4e59a22a2a92f5a724e /share/hydra/nodes | |
parent | dbf0e0cb984c7be0f805f58d20e65b6780dc6f77 (diff) | |
download | hydra-2c1c916fc6b0a11ca572ede5a95e63b46fa1e61d.tar.gz hydra-2c1c916fc6b0a11ca572ede5a95e63b46fa1e61d.tar.bz2 |
Nodes and mass updates
Diffstat (limited to 'share/hydra/nodes')
-rwxr-xr-x | share/hydra/nodes | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/share/hydra/nodes b/share/hydra/nodes index 6b9d101..84eb7f0 100755 --- a/share/hydra/nodes +++ b/share/hydra/nodes @@ -3,26 +3,47 @@ # Node tool. # -# Default node retrieval method -function hydra_get_nodes { - # See http://www.mail-archive.com/puppet-users@googlegroups.com/msg01615.html +# Get a list of puppet node files +function hydra_node_files { if [ -d "$PUPPET/manifests/nodes/" ]; then - files="$PUPPET/manifests/nodes/*" + FILES="$PUPPET/manifests/nodes/*" else - files="`find $PUPPET -name 'nodes.pp'`" + FILES="`find $PUPPET -name 'nodes.pp'`" fi - grep ^node $files | sed -e 's/^node //' | awk -F, '{for(i=1;i<=NF;i++) {print $i}}' | cut -d "'" -f2 +} + +# Get all lines matching a node definition +function hydra_node_lines { + # See http://www.mail-archive.com/puppet-users@googlegroups.com/msg01615.html + grep ^node $FILES | sed -e 's/^node //' | awk -F, '{for(i=1;i<=NF;i++) {print $i}}' +} + +# Default node retrieval method +function hydra_nodes { + hydra_node_lines | cut -d "'" -f2 } # Load source $APP_BASE/lib/hydra/functions || exit 1 hydra_config_load +# Command line arguments +CLASS="$1" + # Validation if [ -z "$PUPPET" ]; then echo "No PUPPET parameter defined at $HYDRA preferences." exit 1 fi +# Get initial file list +hydra_node_files + # Get nodes -hydra_get_nodes +if [ ! -z "$CLASS" ]; then + FILES="`hydra_node_lines | cut -d ':' -f 1`" + FILES="`grep nodo::$CLASS $FILES | cut -d ':' -f 1`" + hydra_nodes +else + hydra_nodes +fi |