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))
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)]
def __init__(self, *args, **kwargs): self.log = Logger().default_stream try: AnsibleInventory.__init__(self, *args, **kwargs) except AnsibleError, emsg: raise InventoryError(emsg)