diff options
author | Kenny Woodson <kwoodson@redhat.com> | 2015-02-05 16:02:36 -0500 |
---|---|---|
committer | Kenny Woodson <kwoodson@redhat.com> | 2015-02-05 16:02:36 -0500 |
commit | ee96928a2d1c21c5d2319418f4cf6ca774a3e010 (patch) | |
tree | 0472b4be53d3b93b34b8d0491949628d4baca8b0 /bin | |
parent | 55b7f22404da7a0cfcdbce467e9581f6b8509320 (diff) | |
download | openshift-ee96928a2d1c21c5d2319418f4cf6ca774a3e010.tar.gz openshift-ee96928a2d1c21c5d2319418f4cf6ca774a3e010.tar.bz2 openshift-ee96928a2d1c21c5d2319418f4cf6ca774a3e010.tar.xz openshift-ee96928a2d1c21c5d2319418f4cf6ca774a3e010.zip |
Attempting to only refresh cache when doing --list on ossh.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/ansibleutil.py | 10 | ||||
-rwxr-xr-x | bin/ossh | 18 |
2 files changed, 18 insertions, 10 deletions
diff --git a/bin/ansibleutil.py b/bin/ansibleutil.py index ed35ef8f9..6df3e7126 100644 --- a/bin/ansibleutil.py +++ b/bin/ansibleutil.py @@ -11,8 +11,12 @@ class AnsibleUtil(object): self.file_path = os.path.join(os.path.dirname(os.path.realpath(__file__))) self.multi_ec2_path = os.path.realpath(os.path.join(self.file_path, '..','inventory','multi_ec2.py')) - def get_inventory(self): + def get_inventory(self,args=[]): cmd = [self.multi_ec2_path] + + if args: + cmd.extend(args) + env = {} p = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, env=env) @@ -50,8 +54,8 @@ class AnsibleUtil(object): return groups - def build_host_dict(self): - inv = self.get_inventory() + def build_host_dict(self, args=[]): + inv = self.get_inventory(args) inst_by_env = {} for dns, host in inv['_meta']['hostvars'].items(): @@ -39,15 +39,15 @@ class Ossh(object): self.ansible = ansibleutil.AnsibleUtil() - self.host_inventory = self.get_hosts() + # get a dict of host inventory + if self.args.list: + self.get_hosts() + else: + self.get_hosts(True) if self.args.debug: print self.args - # get a dict of host inventory - self.get_hosts() - - # perform the SSH if self.args.list: self.list_hosts() @@ -106,7 +106,7 @@ class Ossh(object): if self.args.login_name: self.user = self.args.login_name - def get_hosts(self): + def get_hosts(self, cache=False): '''Query our host inventory and return a dict where the format equals: @@ -114,7 +114,11 @@ class Ossh(object): ''' # TODO: perform a numerical sort on these hosts # and display them - self.host_inventory = self.ansible.build_host_dict() + + if not cache: + self.host_inventory = self.ansible.build_host_dict() + else: + self.host_inventory = self.ansible.build_host_dict(['--cache-only']) def select_host(self, regex=False): '''select host attempts to match the host specified |