summaryrefslogtreecommitdiffstats
path: root/bin/ossh
diff options
context:
space:
mode:
authorThomas Wiest <twiest@redhat.com>2015-03-30 11:25:03 -0400
committerThomas Wiest <twiest@redhat.com>2015-03-30 14:40:44 -0400
commitb1b462f4db3ce1a26cfc251895d5f8fe2e15c484 (patch)
tree4e1dd8346126e37bd79e69e37fcf1f5683a5d002 /bin/ossh
parent78a45fc50509eca27164452325529cc46a99cc8c (diff)
downloadopenshift-b1b462f4db3ce1a26cfc251895d5f8fe2e15c484.tar.gz
openshift-b1b462f4db3ce1a26cfc251895d5f8fe2e15c484.tar.bz2
openshift-b1b462f4db3ce1a26cfc251895d5f8fe2e15c484.tar.xz
openshift-b1b462f4db3ce1a26cfc251895d5f8fe2e15c484.zip
added config file support to opssh, ossh, and oscp
Diffstat (limited to 'bin/ossh')
-rwxr-xr-xbin/ossh23
1 files changed, 22 insertions, 1 deletions
diff --git a/bin/ossh b/bin/ossh
index 66a4cfb5c..134f4c46a 100755
--- a/bin/ossh
+++ b/bin/ossh
@@ -7,13 +7,25 @@ import traceback
import sys
import os
import re
+import ConfigParser
+
+CONFIG_MAIN_SECTION = 'main'
+CONFIG_INVENTORY_OPTION = 'inventory'
class Ossh(object):
def __init__(self):
+ self.inventory = None
self.file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)))
+
+ # Default the config path to /etc
+ self.config_path = os.path.join(os.path.sep, 'etc', \
+ 'openshift_ansible', \
+ 'openshift_ansible.conf')
+
self.parse_cli_args()
+ self.parse_config_file()
- self.aws = awsutil.AwsUtil()
+ self.aws = awsutil.AwsUtil(self.inventory)
# get a dict of host inventory
if self.args.list:
@@ -37,6 +49,15 @@ class Ossh(object):
else:
self.ssh()
+ def parse_config_file(self):
+ if os.path.isfile(self.config_path):
+ config = ConfigParser.ConfigParser()
+ config.read(self.config_path)
+
+ if config.has_section(CONFIG_MAIN_SECTION) and \
+ config.has_option(CONFIG_MAIN_SECTION, CONFIG_INVENTORY_OPTION):
+ self.inventory = config.get(CONFIG_MAIN_SECTION, CONFIG_INVENTORY_OPTION)
+
def parse_cli_args(self):
parser = argparse.ArgumentParser(description='Openshift Online SSH Tool.')
parser.add_argument('-e', '--env', action="store",