Exemple #1
0
 def __init__(self, aws):
     BaseInventory.__init__(
         self,
         host_list=[])
     self.aws = aws
     ansible_config = aws.config.get('global', {}).get('ansible', {})
     if 'playbooks-directory' in ansible_config:
         self.set_playbook_basedir(ansible_config['playbooks-directory'])
     groups = {}
     groups['all'] = self.get_group('all')
     for instance in self.aws.instances.values():
         h = Host(instance.id)
         add_to = ['all', '%ss' % instance.sectiongroupname]
         if hasattr(instance, 'master'):
             master = instance.master
             if instance == getattr(master, 'instance', None):
                 add_to.append('masters')
             else:
                 add_to.append('%s-instances' % master.id)
         for group in add_to:
             g = groups.get(group)
             if g is None:
                 g = self.get_group(group)
                 if g is None:
                     g = Group(group)
                     self.add_group(g)
                 groups[group] = g
             g.add_host(h)
     self._vars_plugins = []
     self._vars_plugins.append(VarsModule(self))
Exemple #2
0
 def __init__(self, ctrl, vault_password=None):
     from ploy_ansible import get_playbooks_directory
     kwargs = dict(host_list=[])
     if vault_password is not None:
         kwargs['vault_password'] = vault_password
     BaseInventory.__init__(self, **kwargs)
     self.ctrl = ctrl
     self.set_playbook_basedir(get_playbooks_directory(ctrl.config))
     groups = {}
     groups['all'] = self.get_group('all')
     seen = set()
     for instance in self.ctrl.instances.values():
         if instance.uid in seen:
             continue
         seen.add(instance.uid)
         h = Host(instance.uid)
         add_to = ['all', '%ss' % instance.sectiongroupname]
         if hasattr(instance, 'master'):
             master = instance.master
             if instance == getattr(master, 'instance', None):
                 add_to.append('masters')
             else:
                 add_to.append('%s-instances' % master.id)
         for group in add_to:
             g = groups.get(group)
             if g is None:
                 g = self.get_group(group)
                 if g is None:
                     g = Group(group)
                     self.add_group(g)
                 groups[group] = g
             g.add_host(h)
     self._vars_plugins = [x for x in utils.plugins.vars_loader.all(self)]
Exemple #3
0
 def __init__(self, *args, **kwargs):
     self.log = Logger().default_stream
     try:
         AnsibleInventory.__init__(self, *args, **kwargs)
     except AnsibleError, emsg:
         raise InventoryError(emsg)