Skip to content

Instantly share code, notes, and snippets.

@gschueler
Created April 23, 2013 23:48
Show Gist options
  • Save gschueler/5448432 to your computer and use it in GitHub Desktop.
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
#!/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