From 303305a3789d65e026db01f318647a036ddfa5ef Mon Sep 17 00:00:00 2001 From: Kenny Woodson Date: Fri, 29 Jan 2016 15:37:16 -0500 Subject: Adding ip address option --- bin/ohi | 6 ++++++ bin/openshift_ansible/awsutil.py | 12 ++++++++++- bin/opscp | 46 ++++++++++++++++++++++++++++------------ bin/opssh | 4 ++-- 4 files changed, 52 insertions(+), 16 deletions(-) (limited to 'bin') diff --git a/bin/ohi b/bin/ohi index d71a4c4b1..f9e76b783 100755 --- a/bin/ohi +++ b/bin/ohi @@ -65,6 +65,9 @@ class Ohi(object): # We weren't able to determine what they wanted to do raise ArgumentError("Invalid combination of arguments") + if self.args.ip: + hosts = self.aws.convert_to_ip(hosts) + for host in sorted(hosts, key=utils.normalize_dnsname): if self.args.user: print "%s@%s" % (self.args.user, host) @@ -112,6 +115,9 @@ class Ohi(object): parser.add_argument('--v3', action='store_true', default=False, help='Specify the openshift version.') + parser.add_argument('--ip', action='store_true', default=False, + help='Return ip address only.') + parser.add_argument('--all-versions', action='store_true', default=False, help='Specify the openshift version. Return all versions') diff --git a/bin/openshift_ansible/awsutil.py b/bin/openshift_ansible/awsutil.py index 3639ef733..945e6a20c 100644 --- a/bin/openshift_ansible/awsutil.py +++ b/bin/openshift_ansible/awsutil.py @@ -232,4 +232,14 @@ class AwsUtil(object): if version != 'all': retval.intersection_update(inv.get(AwsUtil.gen_version_tag(version), [])) - return retval + return list(retval) + + def convert_to_ip(self, hosts, cached=False): + """convert a list of host names to ip addresses""" + + inv = self.get_inventory(cached=cached) + ips = [] + for host in hosts: + ips.append(inv['_meta']['hostvars'][host]['oo_public_ip']) + + return ips diff --git a/bin/opscp b/bin/opscp index 391cb6696..4bfe166f6 100755 --- a/bin/opscp +++ b/bin/opscp @@ -13,7 +13,10 @@ Options: -p PAR, --par=PAR max number of parallel threads (OPTIONAL) --outdir=OUTDIR output directory for stdout files (OPTIONAL) --errdir=ERRDIR output directory for stderr files (OPTIONAL) + -c CLUSTER, --cluster CLUSTER + which cluster to use -e ENV, --env ENV which environment to use + --v3 When working with v3 environments. v2 by default -t HOST_TYPE, --host-type HOST_TYPE which host type to use --list-host-types list all of the host types @@ -61,12 +64,23 @@ while [ $# -gt 0 ] ; do shift # get past the value of the option ;; + -c) + shift # get past the option + CLUSTER=$1 + shift # get past the value of the option + ;; + -e) shift # get past the option ENV=$1 shift # get past the value of the option ;; + --v3) + OPENSHIFT_VERSION="--v3 --ip" + shift # get past the value of the option + ;; + --timeout) shift # get past the option TIMEOUT=$1 @@ -103,20 +117,26 @@ while [ $# -gt 0 ] ; do done # Get host list from ohi -if [ -n "$ENV" -a -n "$HOST_TYPE" ] ; then - HOSTS="$(ohi -t "$HOST_TYPE" -e "$ENV" 2>/dev/null)" - OHI_ECODE=$? -elif [ -n "$ENV" ] ; then - HOSTS="$(ohi -e "$ENV" 2>/dev/null)" - OHI_ECODE=$? -elif [ -n "$HOST_TYPE" ] ; then - HOSTS="$(ohi -t "$HOST_TYPE" 2>/dev/null)" +CMD="" +if [ -n "$CLUSTER" ] ; then + CMD="$CMD -c $CLUSTER" +fi + +if [ -n "$ENV" ] ; then + CMD="$CMD -e $ENV" +fi + +if [ -n "$HOST_TYPE" ] ; then + CMD="$CMD -t $HOST_TYPE" +fi + +if [ -n "$OPENSHIFT_VERSION" ] ; then + CMD="$CMD $OPENSHIFT_VERSION" +fi + +if [ -n "$CMD" ] ; then + HOSTS="$(ohi $CMD 2>/dev/null)" OHI_ECODE=$? -else - echo - echo "Error: either -e or -t must be specified" - echo - exit 10 fi if [ $OHI_ECODE -ne 0 ] ; then diff --git a/bin/opssh b/bin/opssh index 7a2ffdb1d..0113e7216 100755 --- a/bin/opssh +++ b/bin/opssh @@ -56,9 +56,9 @@ fi PAR=200 USER=root TIMEOUT=0 -ARGS=() ENV="" HOST_TYPE="" + while [ $# -gt 0 ] ; do case $1 in -t|--host-type) @@ -80,7 +80,7 @@ while [ $# -gt 0 ] ; do ;; --v3) - OPENSHIFT_VERSION="--v3" + OPENSHIFT_VERSION="--v3 --ip" shift # get past the value of the option ;; -- cgit v1.2.1