Created
April 23, 2013 23:48
-
-
Save gschueler/5448432 to your computer and use it in GitHub Desktop.
Script to add a new node definition for Rundeck by SSHing to the node to determine details
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
PROJ=$1 | |
shift | |
USERNODE=$1 | |
shift | |
TAGS="$*" | |
( echo $USERNODE | grep -q '@' ) && { | |
RDNODE=$(echo ${USERNODE} | cut -d@ -f2 ) | |
RDUSER=$(echo "@${USERNODE}" | cut -d@ -f2 ) | |
} || { | |
RDNODE=$USERNODE | |
RDUSER=$USER | |
} | |
OSNAME=$( ssh $RDUSER@$RDNODE uname -s ) || { | |
echo "Unable to ssh to $RDUSER@$RDNODE: $!" | |
exit 2 | |
} | |
OSVERS=$( ssh $RDUSER@$RDNODE uname -r ) || { | |
echo "Unable to ssh to $RDUSER@$RDNODE: $!" | |
exit 2 | |
} | |
OSARCH=$( ssh $RDUSER@$RDNODE uname -m ) || { | |
echo "Unable to ssh to $RDUSER@$RDNODE: $!" | |
exit 2 | |
} | |
NODE_HOSTNAME=$( ssh $RDUSER@$RDNODE hostname ) || { | |
echo "Unable to ssh to $RDUSER@$RDNODE: $!" | |
exit 2 | |
} | |
cat <<END > projects/$PROJ/etc/node-$RDNODE.yaml | |
$RDNODE: | |
nodename: $RDNODE | |
username: $RDUSER | |
hostname: $NODE_HOSTNAME | |
osName: $OSNAME | |
osArch: $OSARCH | |
osVersion: $OSVERS | |
osFamily: unix | |
tags: $TAGS |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment