问题标签 [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安装python、pip相关应用
我正在使用下面的 ansible yml 文件来安装 python、pip 等。
roles/python/main.yml
:
当我ansible-playbook
在这个脚本上运行时,我得到以下
它们没有错误,但我检查了这些应用程序没有安装在远程主机上。我的 yml 文件有什么问题?有什么地方可以检查错误是什么?
以下是我的剧本:
python.yml
:
下面是我运行的命令:
ansible-playbook -i hosts python.yml
ansible - 如何让主机从该角色中运行某个角色
我正在尝试设置一个 Zookeeper 集群,为了设置指向 ZK 节点的 url,我想知道哪些是运行当前角色的主机的 ip 地址。
我知道从剧本中我可以通过一个变量传递主机,但是在角色中检查这个会很好。
node.js - 为 Ansible 安装 NodeJS LTS
我正在寻找合适的 Ansible Role 或 Ansible YAML 文件,用于在 Ubuntu 16.04.3 xenial 系统上安装 NodeJS LTS。我尝试了来自 Galaxy 的 10 多个 Ansible 角色,但没有发现其中任何一个有效(抛出错误,例如potentially dangerous to add this PPA etc.
.
谁能提供任何 Ansible 剧本或建议我在 Ubuntu 16.04 上安装 NodeJS LTS 的角色?
ansible - 在以前的失败之后,如何始终运行一些 ansible 角色?
我有一套看起来像的剧本
当前的问题是,我们拥有的前 4 个角色ignore_errors: true
都不是一个好的做法,因为它很难读取输出和调试。
被滥用的唯一原因ignore_errors
是我们希望能够在最后执行 collect_logs,而不管结果如何。
我们如何重构它以删除 ignore_errors 并拥有更多的快速失败策略。
请注意,我们有很多调用 collect_logs 角色的剧本,因此“在剧本中移动代码”并不是真正重用它的方法。
vagrant - 如何使用 Vagrant 自动安装 Ansible Galaxy 角色?
仅使用一个剧本,那么不可能让 Ansible 自动安装依赖角色。至少根据这个SO thread。
但是,我有使用Vagrant和 Vagrant 的Ansible local provisioner的额外“优势” 。我可以应用任何技巧吗?
ansible - Ansible 角色全局变量
我使用角色来部署我的机器,角色有变量,但有时我有多个角色,我想把一个全局变量文件放在根文件夹中,所以可以使用vars/global.yml
和覆盖 role/vars/main.yml
但是如果根文件夹中有全局变量,只需覆盖基于角色的变量并实现 vars/global 代替。
有什么东西可以重用角色和变量吗?
vagrant - 是否可以忽略 Ansible 中缺少的角色?
我在一个项目中使用 Vagrant+Ansible。我想让用户可以选择提供一个名为“工作区”的角色,该角色将包含在配置中。这允许用户设置自己喜欢的提示、编辑器等。
如果在剧本中指定了一个不存在的角色,整个事情就会崩溃
错误!找不到角色“工作区”...
我希望它简单地忽略它并继续前进。我尝试添加failed_when: false
,但不出所料,它没有效果。是否可以制定一个when: ...
可以检查角色是否存在的条件?还是有另一种方法可以很好地解决这个问题?
loops - 任务内动态变量的Ansible角色检查路径
我有几个可用于设置多个配置目录的 ansible 角色任务。问题是我有一个配置列表,需要使用特定路径进行设置,但前提是它们不存在。
然而问题是你不能统计这样的路径:
我得到的错误是:
条件检查 'not {{ service_home }}/{{ item }}.conf.d.stat.exists' 失败。错误是:意外的“/”第 1 行
有没有办法设置一个动态变量完整路径然后测试它?看来我也不能在这里设定一个事实。
[更新]:刚刚阅读另一个问题,试图用一个非常相似的循环概念做一些事情。此时简单地使用 shell 脚本/模板是正确的方法吗?
dependencies - 如何在星系之外添加角色依赖?
我正在创建一组公司的 Ansible 角色。其中一个依赖于另一个。
所有这些角色都托管在其特定的 Gitlab 存储库中(显然,每个角色一个)。
而不是搞乱requirements.yml
,我更喜欢使用我的文件的dependencies
标签。meta/main.yml
但是我找不到使用哪种语法来创建依赖链接而不在 Ansible Galaxy 中声明它们(这显然是不可能的)。
我怎样才能做到这一点 ?
ansible - Ansible:如何使用远程文件中的一行上的模式/子字符串的值填充变量?
我有一个带有文件的远程服务器。该文件中的一行如下:
我想将角色中的变量设置为该行上等号之后的值(如果有的话)(它可能是哈希,也可能是空字符串)。
这样做最不可怕的方法是什么?