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  | 
