问题标签 [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 Galaxy 页面
我已经向galaxy.ansible.com 提交了一个角色
现在我已经对 Github 上的 README 文件进行了一些更改。
我如何告诉galaxy.ansible.com 重新阅读Github 存储库?
ansible - 安装 npm package.json ansible 任务
我想使用 ansible 安装 package.json,我使用的是文档中的示例,唯一不同的是我使用的是 npm 而不是 nvm,所以任务看起来像这样
{{ project_path }}
是package.json
文件的路径,基本上是/srv/example.com/
.
这个任务的结果是
它什么也没做,为什么?我该如何安装我的package.json
,有人可以帮助我了解如何克服这个问题,谢谢。
ansible - 告诉 Ansible 到 elm init
我有一个 elm 设置的 ansible 角色,最后一个任务是elm init
,配置初始 elm 项目,但我遇到了这个任务的问题,因为当 elm 提示我时我需要告诉是
你好!Elm 项目始终以 elm.json 文件开头。我可以创造它们!
现在你可能想知道,这个文件里会有什么?如何将 Elm 文件添加到我的项目中?我如何在浏览器中看到它?我的代码将如何增长?我需要更多目录吗?测试呢?等等。
查看https://elm-lang.org/0.19.0/init以获得所有答案!
知道了这一切,你想让我现在创建一个 elm.json 文件吗?[是/否]:是
Ansible 不明白这一点,那么我该如何告诉 Ansible 说呢Y
?
Ansible 的任务是:
ansible - ansible中的双with_items循环
我想在 ansible 中创建一个双循环。我有这样的一件事:
每个用户是否可以创建每个辅助组?我认为为此我需要做第二个 with_items 循环,但我不知道如何
ansible - 管理大量 Ansible 角色
我们正在努力将我们的项目转换为 Ansible。由于项目的规模,我们将需要大量的角色(30+)。我们遇到的问题是如何存储和管理这些角色。我们考虑过的事情:
1) 每个角色的 Github repo -> 这是不现实的。我们不想仅仅为了维护我们的角色而管理 30 多个 git 存储库 2) Ansible Galaxy -> 如果我们可以拥有 Ansible Galaxy 的本地实例,但中央实例将无法工作,这将是有价值的 3)我们可以简单地将角色存储在一个平面目录中,但是在这种情况下我们失去了能够对它们进行版本控制的好处。还有一个问题是如何自动将我们的ansible角色目录推送到ansible控制器主机到正确的目录中
有我缺少的解决方案吗?
ansible - Ansible - 在清单中具有相同命名约定的特定主机组上运行剧本
假设我有这种类型的库存,其中包含主组下子组的相似名称,但最后具有不同的服务器 IP。名称是相似的,因为那是我想使用的命名约定,我只希望最后的服务器 ip 不同。
我想要一个接受一些参数的python/shell脚本,例如:
然后在传递 vars 时在特定主机上运行 ansible 角色(不确定是否正确):
我想确保我只在具有以下路径的服务器上运行 ansible:maingroup>group1>subgroup1 并将其作为要运行的主机传递给我的 ansible 角色。
所以我的问题是,我如何才能仅针对 subgroup1 中的服务器,该服务器位于 maingroup.group1 下,与传递给脚本而不是 group2 的参数顺序相同作为变量?
我知道我可以将主机作为一个额外的变量传递,但我如何能够实现这个特定的结构?
有这样的想法:
非常感谢!
ansible - 如果我创建了多个实例,如何在 wait_for 模块中使用 with_items?
如果我只创建了一个 ec2instance,我编写的 yml 可以正常工作,但如果我必须提供超过 1 个 ec2 实例,那么这个 yml 代码会失败。
我想等待 ssh 出现 2 个不同的 ec2 实例
ansible - 无需 Internet 访问的 Ansible 配置
我知道您可以在 Ansible 中设置代理以在企业网络后面进行配置: https ://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html
像这样:
不幸的是,就我而言,根本无法从服务器访问互联网。在本地下载角色并将它们放在 /roles 文件夹下似乎可以解决角色问题,但是角色在使用时仍然从 Internet 下载包:
我想没有办法让干/预运行所以 Ansible 下载所有包,然后将其推送到 repo 并使用本地下载的包运行 Ansible 配置?
ansible - 当列为依赖项时,如何防止ansible角色多次运行?
我们将庞大的 ansible 工作空间分解为可以独立运行的单个简单角色。它们都依赖于我们提供存储库等的 yum 角色,并且所有角色(A、B、C)都在它们的meta.yml
:
但是,这会导致 yum-repo 角色在我们的部署 playbook 运行时被多次执行,因此我们看到了该yum-repo
角色的多次执行。我们不希望它这样做,因为它只会占用额外的时间并重复运行:
剧本:
输出:
我allow_duplicates = false
在我们的中尝试过ansible.cfg
,但我认为这不是正确的解决方案,因为它仍然执行多次。
如果需要更多信息,我很乐意尝试提供它的清理版本。目前正在运行 ansible-2.5.5。
ansible - Ansible 自定义角色(带有自定义命令模块)
我正在尝试将自定义网络命令模块实现为 Ansible 角色。该模块将在远程设备上运行命令。
Ansible 连接类型是network_cli
使用以下命令创建角色
这给了我下面的默认目录结构
下面是如何在 Ansible 剧本中使用
从角色使用时,失败并显示以下消息
在调试模式下运行 Ansible 时,在日志中看到以下内容
此外,它试图在默认 Ansible 位置而不是我的 Ansible 角色(test-command-mod)下查找plugins/cliconf/myos.py 。
我希望它查看角色/test-command-mod/cliconf_plugins/myos.py
这是一个错误还是设计使然?
此外,如果角色有效
ansible.cfg 更新为
/li>或设置以下环境变量
/li>- 或者如果复制文件(我的文件);在ansible安装中到他们各自的目录。
请问有什么想法吗?
编辑:ansible.cfg 如下