问题标签 [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.

0 投票
1 回答
1659 浏览

ansible - Ansible 中的条件角色包含失败

我想有条件地运行 Ansible 角色,即仅当某些二进制文件不存在时(这对我来说意味着没有某些特定的应用程序安装)。

类似于这里使用的模式。

在我的剧本中使用以下代码:

这是输出:

为什么条件检查失败?

使用ansible 2.0.0.2_Ubuntu 16.04.01

顺便说一句:“创建临时安装目录”是条件包含角色的第一个主要任务的名称。

0 投票
1 回答
639 浏览

ansible - Ansible 角色模板或文件夹中可以有目录结构吗?

Ansible 角色的基本目录结构是:

现在我的问题是文件或模板文件夹中是否可以有这样的目录结构:

所以我的任务可能看起来像:

这不起作用:(

如何引用模板文件夹中的文件?

重要我不想要模板文件夹内的平面结构,因为我想模仿文件系统,所以我只需查看模板文件夹结构就知道文件将被复制到哪里。

仅供参考,当我使用平面结构时,它可以工作。

0 投票
1 回答
562 浏览

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,或者根本不执行。我究竟做错了什么?:)

0 投票
1 回答
52 浏览

ansible - 在本地生成 ansible 角色变量

我们有一个新的开源 ansible 角色,它可以自动编译一些自定义路由器(OpenWRT)图像,称为openwisp2-image-generator

可以在 playbook YAML 中定义 root 用户的 root 密码,但是这样做的过程很麻烦

我想让用户在 YAML 上以明文定义他们的密码和盐,然后在幕后做一些类似的事情:

该值应该存储在一个变量中,以便我可以轻松地将其添加到正确的角色模板中。

我可以在本地而不是远程运行该 python 代码吗?最好的方法是什么?

0 投票
2 回答
1520 浏览

ansible - Ansible:在循环上运行意外次数的 include_role

我正在尝试将 include_role 与项目一起使用

我的角色是

问题在于,每个主机似乎每个项目运行该角色 X 次,其中 X 是主机数。

为什么会发生这种情况,我该如何解决?

Ansible 主机:


我不能委派任务,因为在实际角色中,必须在每个主机中执行任务。

使用allow_duplicates: no仍然输出相同。

0 投票
2 回答
2166 浏览

ansible - 无论任务失败都运行处理程序?

我有一个 Ansible 角色,它具有以下任务

即,当create goss directories运行时,它会触发处理clean程序

由于我的模块的性质,我希望clean处理程序始终运行,即使角色中的其他任务失败。根据我的粗略测试,如果run tests失败,则永远不会调用处理程序,并且临时文件会留在目标机器上。

无论任务中发生了什么,我的角色是否有办法强制 Ansible 运行此处理程序?

0 投票
2 回答
1162 浏览

ansible - Ansible - 如何提高跳过角色的性能

我有一本剧本,它调用了一些被跳过的角色。为了说明,我创建了一个带有虚拟角色的虚拟剧本。这些角色中的每个人都被跳过。

和一个角色假人

具有角色依赖关系:

此外, dummy2 只是暂停一下:

使用这个配置,有 5 次调用角色 dummy,它有 5 个任务和 3 个角色依赖项和 2 个任务。因此,总共跳过了 55 个任务 5*(5*3*2),这在我的 VM 中大约需要 2.5 秒。如果有更多跳过的角色,则线性地花费更多时间。

也许有很多跳过的角色不是一个很好的设计,但是有没有办法在不重写所有内容的情况下加速这些跳过的任务?

0 投票
3 回答
12122 浏览

ansible - 如何跳过 Ansible 中的角色?

我有这个剧本:

想要的是在每个角色中,我希望将第一个任务作为一些条件,如果为真,那么我想跳过整个角色,剧本继续下一个。

现在我可以when这样使用:

但是为此,我必须评估mvarin playbook 本身,但为此mvar我需要该角色本身的所有其他 vars 等内容。所以我在角色中做起来会更容易。

有什么办法吗?

0 投票
1 回答
4315 浏览

ansible - Ansible 中的角色和任务(和标签)有什么区别?

我发现自己一直在角色任务之间感到困惑。

我知道标签是一种标记单个项目的方法,但我很困惑如何使用它们。

假设我必须执行以下操作

“用户”和“Git”会是我在顶级 YML 文件中的两个主要角色吗?每个子项(例如“安装 Git”)是一项任务吗?我会用标签标记每个子任务吗?还是我用标签标记角色?

只是寻找 Ansible 层次结构的概述。

0 投票
2 回答
14180 浏览

ansible - Ansible - 多个角色

我正在尝试使用with_items命令运行多个角色,但是出现错误:

“错误!‘项目’未定义”

role.yml

这是我的命令: