diff options
| -rw-r--r-- | bin/ansibleutil.py | 20 | ||||
| -rwxr-xr-x | bin/ossh.py | 45 | 
2 files changed, 64 insertions, 1 deletions
diff --git a/bin/ansibleutil.py b/bin/ansibleutil.py index 7ba2c461e..a16a4dca9 100644 --- a/bin/ansibleutil.py +++ b/bin/ansibleutil.py @@ -22,7 +22,9 @@ class AnsibleUtil(object):          if p.returncode != 0:              raise RuntimeError(err) -        return json.loads(out) +        with open('/tmp/ans.out','w') as fd: +            fd.writelines(out) +        return json.loads(out.strip())      def get_environments(self):          pattern = re.compile(r'^tag_environment_(.*)') @@ -47,3 +49,19 @@ class AnsibleUtil(object):                  groups.append(m.group(1))          return groups + +    def get_host_address(self): +        pattern = re.compile(r'^tag_Name_(.*)') +        inv = self.get_inventory() + +        inst_names = {} +        for key in inv.keys(): +            m = pattern.match(key) +            if m: inst_names[m.group(1)] = inv[key] + + +        return inst_names + + + + diff --git a/bin/ossh.py b/bin/ossh.py new file mode 100755 index 000000000..2a24e807d --- /dev/null +++ b/bin/ossh.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +import argparse +import ansibleutil +import sys +import os + + +# use dynamic inventory +# list instances +# symlinked to ~/bin +# list instances that match pattern +# python! + + +class Ossh(object): +    def __init__(self): +        self.file_path = os.path.join(os.path.dirname(os.path.realpath(__file__))) +        self.parse_cli_args() +        self.ansible = ansibleutil.AnsibleUtil() + +        self.list_hosts() +         +    def parse_cli_args(self): +        parser = argparse.ArgumentParser(description='Openshift Online SSH Tool.') +        parser.add_argument('-l', '--list', default=True,  +                          action="store_true", help="list out hosts") + +        self.args = parser.parse_args() + +    def list_hosts(self): +        # TODO: perform a numerical sort on these hosts +        # and display them +        print self.ansible.get_host_address() + +    def ssh(self): +        pass + +def main(): +    ossh = Ossh() + + +if __name__ == '__main__': +    main() +  | 
