问题标签 [ansible-role]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - Ansible 中的条件角色包含失败
我想有条件地运行 Ansible 角色,即仅当某些二进制文件不存在时(这对我来说意味着没有某些特定的应用程序安装)。
类似于这里使用的模式。
在我的剧本中使用以下代码:
这是输出:
为什么条件检查失败?
使用ansible 2.0.0.2
_Ubuntu 16.04.01
顺便说一句:“创建临时安装目录”是条件包含角色的第一个主要任务的名称。
ansible - Ansible 角色模板或文件夹中可以有目录结构吗?
Ansible 角色的基本目录结构是:
现在我的问题是文件或模板文件夹中是否可以有这样的目录结构:
所以我的任务可能看起来像:
这不起作用:(
如何引用模板文件夹中的文件?
重要我不想要模板文件夹内的平面结构,因为我想模仿文件系统,所以我只需查看模板文件夹结构就知道文件将被复制到哪里。
仅供参考,当我使用平面结构时,它可以工作。
ansible - 条件 Ansible 角色在已执行时失败
我有一个我想多次执行的角色,每次执行都有一个不同的变量。但是,我也希望其中一些处决是有条件的。
这是一个 main.yml:
这是来自“测试”角色 ( ) 的 main.yml roles/test/tasks/main.yml
:
这是 ansible-playbook 命令输出的一部分:
一切都按预期适用于“a”,但随后do something with the files
为 b 执行任务,即使我设置了when: False
.
我觉得我错过了一些东西 - 我想要的是roles/test/tasks/main.yml
用相应的 var 设置执行所有内容test_files_group
,或者根本不执行。我究竟做错了什么?:)
ansible - 在本地生成 ansible 角色变量
我们有一个新的开源 ansible 角色,它可以自动编译一些自定义路由器(OpenWRT)图像,称为openwisp2-image-generator
可以在 playbook YAML 中定义 root 用户的 root 密码,但是这样做的过程很麻烦。
我想让用户在 YAML 上以明文定义他们的密码和盐,然后在幕后做一些类似的事情:
该值应该存储在一个变量中,以便我可以轻松地将其添加到正确的角色模板中。
我可以在本地而不是远程运行该 python 代码吗?最好的方法是什么?
ansible - Ansible:在循环上运行意外次数的 include_role
我正在尝试将 include_role 与项目一起使用
我的角色是
问题在于,每个主机似乎每个项目运行该角色 X 次,其中 X 是主机数。
为什么会发生这种情况,我该如何解决?
Ansible 主机:
我不能委派任务,因为在实际角色中,必须在每个主机中执行任务。
使用allow_duplicates: no
仍然输出相同。
ansible - 无论任务失败都运行处理程序?
我有一个 Ansible 角色,它具有以下任务:
即,当create goss directories
运行时,它会触发处理clean
程序:
由于我的模块的性质,我希望clean
处理程序始终运行,即使角色中的其他任务失败。根据我的粗略测试,如果run tests
失败,则永远不会调用处理程序,并且临时文件会留在目标机器上。
无论任务中发生了什么,我的角色是否有办法强制 Ansible 运行此处理程序?
ansible - Ansible - 如何提高跳过角色的性能
我有一本剧本,它调用了一些被跳过的角色。为了说明,我创建了一个带有虚拟角色的虚拟剧本。这些角色中的每个人都被跳过。
和一个角色假人
具有角色依赖关系:
此外, dummy2 只是暂停一下:
使用这个配置,有 5 次调用角色 dummy,它有 5 个任务和 3 个角色依赖项和 2 个任务。因此,总共跳过了 55 个任务 5*(5*3*2),这在我的 VM 中大约需要 2.5 秒。如果有更多跳过的角色,则线性地花费更多时间。
也许有很多跳过的角色不是一个很好的设计,但是有没有办法在不重写所有内容的情况下加速这些跳过的任务?
ansible - 如何跳过 Ansible 中的角色?
我有这个剧本:
想要的是在每个角色中,我希望将第一个任务作为一些条件,如果为真,那么我想跳过整个角色,剧本继续下一个。
现在我可以when
这样使用:
但是为此,我必须评估mvar
in playbook 本身,但为此mvar
我需要该角色本身的所有其他 vars 等内容。所以我在角色中做起来会更容易。
有什么办法吗?
ansible - Ansible 中的角色和任务(和标签)有什么区别?
我发现自己一直在角色和任务之间感到困惑。
我知道标签是一种标记单个项目的方法,但我很困惑如何使用它们。
假设我必须执行以下操作
“用户”和“Git”会是我在顶级 YML 文件中的两个主要角色吗?每个子项(例如“安装 Git”)是一项任务吗?我会用标签标记每个子任务吗?还是我用标签标记角色?
只是寻找 Ansible 层次结构的概述。
ansible - Ansible - 多个角色
我正在尝试使用with_items
命令运行多个角色,但是出现错误:
“错误!‘项目’未定义”
role.yml
:
这是我的命令: