gpt4 book ai didi

ansible - 我可以在来自 tasks/main.yml 的 include_tasks 中包含多个任务吗?

转载 作者:行者123 更新时间:2023-12-04 12:41:24 31 4
gpt4 key购买 nike

我想从我的主任务文件中包含多个变量和任务,但是当我尝试这样做时收到以下错误:

ERROR! unexpected parameter type in action: <class 'ansible.parsing.yaml.objects.AnsibleSequence'>

...
The offending line appears to be:


- name: install and configure [application]
^ here

这是我在角色中的 tasks/main.yml 文件:
---

- name: install and configure [application]
include_vars:
- dependencies.yml
- directories.yml
- installations.yml
include_tasks:
- pre-setup.yml
- [application-23].yml
- database.yml
- [application-4].yml
- update.yml
- additional-components.yml
- ldap.yml
- test.yml

我怀疑我的格式或语法无效,但我不确定如何修复它。

我现在更愿意让我的变量在全局范围内可用。

最佳答案

  • ansible 任务只能做一个 Action ,即只包含一个模块调用
  • include_tasks module不接受 file 中的列表/free-form 参数,只有一个文件名
  • include_vars module如果您使用 dir 加载完整目录,最终可以读取多个文件。选项。
  • 在您包含的任务中,有些文件名看起来有点奇怪,可能会导致错误。你的文件名真的包含方括号 ([]) 吗?它们是列表的标记,可以这样解释。

  • 从我到目前为止的信息来看,这就是我可以建议修复您当前失败的任务的全部内容:
    - name: Include variables
    include_vars: "{{ item }}"
    loop:
    - dependencies.yml
    - directories.yml
    - installations.yml

    - name: Play needed tasks in order
    include_tasks: "{{ item }}"
    loop:
    - pre-setup.yml
    - application-23.yml
    - database.yml
    - application-4.yml
    - update.yml
    - additional-components.yml
    - ldap.yml
    - test.yml
    同时,我建议你花一些时间多读一点文档,也许会熟悉 roles 的概念。乍一看,上面的设计看起来不是一个好的设计。

    关于ansible - 我可以在来自 tasks/main.yml 的 include_tasks 中包含多个任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58772082/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com