当前位置: 首页>>代码示例>>Python>>正文


Python dataloader.DataLoader方法代码示例

本文整理汇总了Python中ansible.parsing.dataloader.DataLoader方法的典型用法代码示例。如果您正苦于以下问题:Python dataloader.DataLoader方法的具体用法?Python dataloader.DataLoader怎么用?Python dataloader.DataLoader使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ansible.parsing.dataloader的用法示例。


在下文中一共展示了dataloader.DataLoader方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_play_prereqs_2

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def get_play_prereqs_2(self, options):
        loader = DataLoader()

        if self.vault_pass:
            loader.set_vault_password(self.vault_pass)

        variable_manager = VariableManager()
        variable_manager.extra_vars = self.extra_vars
        variable_manager.options_vars = {'ansible_version': self.version_info(ansible_version)}

        inventory = Inventory(loader=loader, variable_manager=variable_manager, host_list=options.inventory)
        variable_manager.set_inventory(inventory)

        # let inventory know which playbooks are using so it can know the
        # basedirs
        inventory.set_playbook_basedir(os.path.dirname(self.playbook_file))

        return loader, inventory, variable_manager 
开发者ID:grycap,项目名称:im,代码行数:20,代码来源:ansible_launcher.py

示例2: get_play_prereqs_2_4

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def get_play_prereqs_2_4(self, options):
        loader = DataLoader()

        if self.vault_pass:
            loader.set_vault_secrets([('default', VaultSecret(_bytes=to_bytes(self.vault_pass)))])

        # create the inventory, and filter it based on the subset specified (if any)
        inventory = InventoryManager(loader=loader, sources=options.inventory)

        # create the variable manager, which will be shared throughout
        # the code, ensuring a consistent view of global variables
        try:
            # Ansible 2.8
            variable_manager = VariableManager(loader=loader, inventory=inventory,
                                               version_info=self.version_info(ansible_version))
            variable_manager._extra_vars = self.extra_vars
        except TypeError:
            variable_manager = VariableManager(loader=loader, inventory=inventory)
            variable_manager.extra_vars = self.extra_vars
            variable_manager.options_vars = {'ansible_version': self.version_info(ansible_version)}

        return loader, inventory, variable_manager 
开发者ID:grycap,项目名称:im,代码行数:24,代码来源:ansible_launcher.py

示例3: AnsiblePlaybookExecApi29

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def AnsiblePlaybookExecApi29(task_id, playbook_path, inventory_data=None, extra_vars={}):
    # playbook_path = ['playbooks/test_debug.yml']
    passwords = ""
    options = get_default_options()
    if inventory_data:
        inventory = BaseInventory(inventory_data)
    else:
        inventory = BaseInventory(InventoryInit().get_data())
    loader = DataLoader()
    variable_manager = VariableManagerVars(loader=loader, inventory=inventory)
    variable_manager.extra_vars = extra_vars
    executor = MyPlaybookExecutor_V2(
        task_id=task_id,
        playbooks=playbook_path,
        inventory=inventory,
        variable_manager=variable_manager,
        loader=loader,
        passwords={"conn_pass": passwords},
    )

    context.CLIARGS = ImmutableDict(options)
    executor.run() 
开发者ID:lotus-dgas,项目名称:AnsibleUI,代码行数:24,代码来源:AnsibleApi_v29.py

示例4: __init__

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def __init__(self, playbook_path, inventory=None, options=None):
        """
        :param options: Ansible options like ansible.cfg
        :param inventory: Ansible inventory
        :param BaseInventory:The BaseInventory parameter hostname must be equal to the hosts in yaml
        or the BaseInventory parameter groups must equal to the hosts in yaml.
        """
        if options:
            self.options = options
        C.RETRY_FILES_ENABLED = False
        self.inventory = inventory
        # self.loader = self.loader_class()
        self.loader = DataLoader()
        self.results_callback = self.results_callback_class()
        # self.playbook_path = options.playbook_path
        self.playbook_path = playbook_path
        self.variable_manager = self.variable_manager_class(
            loader=self.loader, inventory=self.inventory
        )
        # self.passwords = options.passwords
        self.passwords = {"passwords": ''}  # 为了修改paramiko中的bug添加入,无实际意义
        self.__check() 
开发者ID:hequan2017,项目名称:chain,代码行数:24,代码来源:runner.py

示例5: execute_playbook

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def execute_playbook():
    playbook_path = "playbook_template.yml"
    inventory_path = "hosts"

    Options = namedtuple('Options', ['connection', 'module_path', 'forks', 'become', 'become_method', 'become_user', 'check', 'diff', 'listhosts', 'listtasks', 'listtags', 'syntax'])
    loader = DataLoader()
    options = Options(connection='local', module_path='', forks=100, become=None, become_method=None, become_user=None, check=False,
                    diff=False, listhosts=False, listtasks=False, listtags=False, syntax=False)
    passwords = dict(vault_pass='secret')

    inventory = InventoryManager(loader=loader, sources=['inventory'])
    variable_manager = VariableManager(loader=loader, inventory=inventory)
    executor = PlaybookExecutor(  
                playbooks=[playbook_path], inventory=inventory, variable_manager=variable_manager, loader=loader,  
                options=options, passwords=passwords)  
    results = executor.run()  
    print results 
开发者ID:PacktPublishing,项目名称:Learning-Python-Networking-Second-Edition,代码行数:19,代码来源:execute_playbook.py

示例6: ansible_part

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def ansible_part():
    playbook_path = "checktemplate.yml"
    inventory_path = "hosts"

    Options = namedtuple('Options', ['connection', 'module_path', 'forks', 'become', 'become_method', 'become_user', 'check', 'diff', 'listhosts', 'listtasks', 'listtags', 'syntax'])
    loader = DataLoader()
    options = Options(connection='local', module_path='', forks=100, become=None, become_method=None, become_user=None, check=False,
                    diff=False, listhosts=False, listtasks=False, listtags=False, syntax=False)
    passwords = dict(vault_pass='secret')

    inventory = InventoryManager(loader=loader, sources=['inventory'])
    variable_manager = VariableManager(loader=loader, inventory=inventory)
    executor = PlaybookExecutor(  
                playbooks=[playbook_path], inventory=inventory, variable_manager=variable_manager, loader=loader,  
                options=options, passwords=passwords)  
    results = executor.run()  
    print results 
开发者ID:PacktPublishing,项目名称:Practical-Network-Automation-Second-Edition,代码行数:19,代码来源:checkpython.py

示例7: __init__

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def __init__(self, inventory_generator):
        """
        :type inventory_generator: ops.inventory.generator.InventoryGenerator
        """

        self.inventory_generator = inventory_generator
        self.generated_path, self.ssh_config_path = inventory_generator.generate()

        # clean up variables cache for tests
        ansible_vars.VARIABLE_CACHE = dict()
        ansible_vars.HOSTVARS_CACHE = dict()
        ansible_inventory.HOSTS_PATTERNS_CACHE = dict()

        loader = DataLoader()
        loader.set_basedir(self.generated_path)
        self.inventory = InventoryManager(
            loader=loader, sources=[
                self.generated_path])
        self.variable_manager = VariableManager(
            loader=loader, inventory=self.inventory) 
开发者ID:adobe,项目名称:ops-cli,代码行数:22,代码来源:generator.py

示例8: get

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def get(self):
        data_loader = DataLoader()
        # data_loader.set_vault_password()
        variable_manager = VariableManager(loader=data_loader)

        extra_vars = self.console_args.extra_vars[:]

        extra_vars.append(
            'cluster=' +
            get_cluster_name(
                self.cluster_config_path))

        options = collections.namedtuple('options', 'extra_vars')
        variable_manager.extra_vars = load_extra_vars(
            loader=data_loader, options=options(extra_vars=extra_vars))

        variables = variable_manager.get_vars()

        rendered = self.template.render(self.cluster_config_path, variables)

        return yaml.safe_load(rendered) 
开发者ID:adobe,项目名称:ops-cli,代码行数:23,代码来源:config.py

示例9: __initializeData

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def __initializeData(self):
        """ 初始化ansible """
        Options = namedtuple('Options', ['connection','module_path', 'forks', 'timeout',  'remote_user',
                'ask_pass', 'private_key_file', 'ssh_common_args', 'ssh_extra_args', 'sftp_extra_args',
                'scp_extra_args', 'become', 'become_method', 'become_user', 'ask_value_pass', 'verbosity',
                'check', 'listhosts', 'listtasks', 'listtags', 'syntax','diff'])

        self.loader = DataLoader()
        self.options = Options(connection='smart', module_path=None, forks=100, timeout=10,
                remote_user='root', ask_pass=False, private_key_file=None, ssh_common_args=None, ssh_extra_args=None,
                sftp_extra_args=None, scp_extra_args=None, become=None, become_method=None,
                become_user='root', ask_value_pass=False, verbosity=None, check=False, listhosts=False,
                listtasks=False, listtags=False, syntax=False, diff=True)

        self.passwords = dict(sshpass=None, becomepass=None)
        myinvent = MyInventory(self.resource, self.loader, self.variable_manager)
        self.inventory = myinvent.inventory
        self.variable_manager = myinvent.variable_manager

        # self.variable_manager.set_inventory(self.inventory)
        # self.variable_manager = VariableManager(loader=self.loader, inventory=self.inventory) 
开发者ID:iopsgroup,项目名称:imoocc,代码行数:23,代码来源:ansible_api.py

示例10: _get_inventory

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def _get_inventory(self, workspace_name=None):
        """Returns Inventory object for the provided workspace.

           Uses active workspace as default.

           :param workspace_name: workspace name to list nodes from.
        """
        workspace = self.get(
            workspace_name) if workspace_name else self.get_active_workspace()

        if workspace is None:
            if workspace_name is None:
                raise exceptions.IRNoActiveWorkspaceFound()
            else:
                raise exceptions.IRWorkspaceMissing(workspace=workspace_name)

        # need to have import here to avoid ansible patching
        from ansible.inventory.manager import InventoryManager
        from ansible.parsing.dataloader import DataLoader

        return InventoryManager(DataLoader(), sources=workspace.inventory) 
开发者ID:redhat-openstack,项目名称:infrared,代码行数:23,代码来源:workspaces.py

示例11: __init__

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def __init__(self, playbook_path, inventory=None, options=None):
            """
            :param options: Ansible options like ansible.cfg
            :param inventory: Ansible inventory
            :param BaseInventory:The BaseInventory parameter hostname must be equal to the hosts in yaml
            or the BaseInventory parameter groups must equal to the hosts in yaml.
            """
            if options:
                self.options = options
            C.RETRY_FILES_ENABLED = False
            self.inventory = inventory
            # self.loader = self.loader_class()
            self.loader = DataLoader()
            self.results_callback = self.results_callback_class()
            # self.playbook_path = options.playbook_path
            self.playbook_path = playbook_path
            self.variable_manager = self.variable_manager_class(
                loader=self.loader, inventory=self.inventory
            )
            # self.passwords = options.passwords
            self.passwords = {"passwords":''}#为了修改paramiko中的bug添加入,无实际意义
            self.__check() 
开发者ID:hequan2017,项目名称:autoops,代码行数:24,代码来源:runner.py

示例12: AnsibleExecApi29

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def AnsibleExecApi29(task_id, tasks=[], inventory_data=None):
    options = get_default_options()
    context.CLIARGS = ImmutableDict(options)

    loader = DataLoader()
    passwords = dict(vault_pass='secret')
    results_callback = RedisCallBack(task_id)
    # inventory = InventoryManager(loader=loader, sources='localhost,')
    if inventory_data:
        inventory = BaseInventory(inventory_data)
    else:
        inventory = BaseInventory(InventoryInit().get_data())
    variable_manager = VariableManager(loader=loader, inventory=inventory)
    play_source =  dict(
            name="Ansible Play",
            hosts='localhost',
            gather_facts='no',
            tasks=tasks,
        )
    play = Play().load(play_source, variable_manager=variable_manager, loader=loader)
    tqm = None
    try:
        tqm = MyTaskQueueManager(
                inventory=inventory,
                variable_manager=variable_manager,
                loader=loader,
                passwords=passwords,
                stdout_callback=results_callback,
            )
        result = tqm.run(play)
    finally:
        if tqm is not None:
            tqm.cleanup()

        shutil.rmtree(C.DEFAULT_LOCAL_TMP, True)


# Ansible 2.9 版本的 vars/manager.py: VariableManager 未有 extra_vars.setter 
开发者ID:lotus-dgas,项目名称:AnsibleUI,代码行数:40,代码来源:AnsibleApi_v29.py

示例13: load_yaml

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def load_yaml(yaml_file, vault_secret=None):
    """
    Load a YAML file into a python dictionary.

    The YAML file can be fully encrypted by Ansible-Vault or can contain
    multiple inline Ansible-Vault encrypted values. Ansible Vault
    encryption is ideal to store passwords or encrypt the entire file
    with sensitive data if required.
    """
    vault = VaultLib()

    if vault_secret:
        secret_file = get_file_vault_secret(filename=vault_secret, loader=DataLoader())
        secret_file.load()
        vault.secrets = [('default', secret_file)]

    data = None
    if os.path.isfile(yaml_file):
        with open(yaml_file, 'r') as stream:
            try:
                if is_encrypted_file(stream):
                    file_data = stream.read()
                    data = yaml.load(vault.decrypt(file_data, None))
                else:
                    loader = AnsibleLoader(stream, None, vault.secrets)
                    try:
                        data = loader.get_single_data()
                    except Exception as exc:
                        raise Exception(f'Error when loading YAML config at {yaml_file} {exc}')
                    finally:
                        loader.dispose()
            except yaml.YAMLError as exc:
                raise Exception(f'Error when loading YAML config at {yaml_file} {exc}')
    else:
        LOGGER.debug('No file at %s', yaml_file)

    return data 
开发者ID:transferwise,项目名称:pipelinewise,代码行数:39,代码来源:utils.py

示例14: vault_encrypt

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def vault_encrypt(plaintext, secret):
    """
    Vault encrypt a piece of data.
    """
    try:
        vault = VaultLib()
        secret_file = get_file_vault_secret(filename=secret, loader=DataLoader())
        secret_file.load()
        vault.secrets = [('default', secret_file)]

        return vault.encrypt(plaintext)
    except AnsibleError as exc:
        LOGGER.critical('Cannot encrypt string: %s', exc)
        sys.exit(1) 
开发者ID:transferwise,项目名称:pipelinewise,代码行数:16,代码来源:utils.py

示例15: __init__

# 需要导入模块: from ansible.parsing import dataloader [as 别名]
# 或者: from ansible.parsing.dataloader import DataLoader [as 别名]
def __init__(self, inventory, options=None):
        self.options = self.get_options(options)
        self.inventory = inventory
        self.loader = DataLoader()
        self.variable_manager = VariableManager(
            loader=self.loader, inventory=self.inventory
        )
        self.set_result_callback() 
开发者ID:KubeOperator,项目名称:KubeOperator,代码行数:10,代码来源:runner.py


注:本文中的ansible.parsing.dataloader.DataLoader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。