问题标签 [ansible-galaxy]

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 回答
949 浏览

ansible - AWX 无法从 Ansible Galaxy 检索集合

我有一个项目roles/requirements.ymlcollections/requirements.yml。这 - 我认为 - 根据 AWX / Tower 指南。

在项目更新roles/requirements.yml时成功获取,但collections/requirements.yml失败并显示典型的 Ansible 错误消息,不幸的是,这并不能帮助我理解出了什么问题。

当然,我在本地测试了需求。有用。只是不在 AWX 中。

除了状态为失败的一项任务外,我真的看不出失败的错误消息和获取角色时的成功日志记录之间有任何区别。

这里有什么问题?

0 投票
0 回答
118 浏览

ansible - ansible-galaxy 安装 ahuffman.resolv 不起作用

我以为我已经找到了可以轻松管理 /etc/resolv.conf 文件的方法。 https://galaxy.ansible.com/ahuffman/resolv但是当我尝试按照文档安装这个角色时......

我收到这个错误...

我以前从未使用ansible-galaxy过......并且可能再也不会使用了:(请帮忙。

如果我使用 -vvvv 运行,我会看到以下附加输出:

运行--ignore-certs似乎已经解决了这个问题,但 anisble-galaxy 的用法确实提到了一个--ignore-certs选项:

0 投票
0 回答
300 浏览

ansible - 一种列出 playbook 使用的 Ansible 模块的方法

我正在一个 Ansible 项目中创建一个,我想确定项目剧本使用的requirements.yml所有需要​​安装的模块。似乎是适合这项工作的工具,但它列出了所有本地可用的模块,而不仅仅是目录中实际使用的模块。不考虑任何需要但未安装的内容。ansible-galaxyansible-doc --list --playbook-dir foo fooansible-galaxy list

有没有办法做到这一点,我最终不会为sed|awk|grep我想要的信息编写一个 shell 脚本?


到目前为止,我能想到的最好的方法是ansible-playbook --syntax-check每个剧本。这将引发错误,例如

但这并不理想,因为一旦发生任何错误它就会退出。我必须修复每一个并再次运行语法检查。

0 投票
1 回答
521 浏览

ansible - 使用 requirements.yml 的 Ansible 角色

我有一个私人 Ansible git 存储库,我想在另一个存储库中使用它。所以我使用 requirements.yml 在本地安装了角色。我现在的问题是,当我 git push 我的 requirements.yml 时,我的其他同行在其他环境中执行时将如何使用它?他们是否每次都必须手动运行 Ansible Galaxy Install 命令才能在本地下载角色?

0 投票
0 回答
245 浏览

ansible - 通过 requirements.yml 安装 amazon.aws 或 community.aws 集合不起作用

这是我的 requirements.yml 文件

我运行命令

该命令运行并静默完成。这是正确的吗?它不应该告诉它是否正在安装这些集合吗?

我正在使用 ansible-2.9.17

0 投票
1 回答
390 浏览

ansible - ansible-galaxy 无法在 gitlab-ci 管道中提取角色

ansible-lint由于运行时身份验证错误,gitlab-ci 管道中的步骤失败,该错误会ansible-galaxy install -r requirements.yml提取 中定义的角色依赖项requirements.yml并从 git 克隆角色。

我尝试通过 CICD 变量传递身份验证令牌,但它不喜欢那样。

需求.yml

但它失败并出现以下错误

任何人之前都遇到过这个问题或知道更好的方法来处理这个问题(已编辑)

0 投票
0 回答
43 浏览

ansible - 如何引用 ansible-galaxy 中的 python 模块?

我在 Ubuntu 20.04 上运行 ansible 版本 2.9.6,本机,而不是在容器中。我安装了使用 ansible-galaxy 安装的 panos.paloaltonetworks,并将 panos 安装在“/.ansible/collections/ansible_collections/paloaltonetworks/panos/”中。我有调用 panos_nat_rule、panos_security_rule 和 panos_commit_push 的剧本,它们都可以正常工作。当我尝试添加对 panos_address_object 的调用时,由于拼写错误、缺少集合等原因,我收到 ansible “无法解析模块/操作 panos_address_object”的错误。该模块与其他正常工作的模块一起存在,不会抛出那个错误。

我重命名了工作模块(panos_nat_rule.py -> panos_NAT_RULE.ORIG),但调用 panos_nat_rule 的剧本仍然有效。

我正在运行的 ansible 版本(2.9.6)实际上是否有一些内置的 panos 模块?或者安装 ansible-galaxy panos 和安装 pan-python、pan-os-python 和 xmltodict 有区别吗?有人可以解释我看到的行为吗?

谢谢,史蒂夫

0 投票
1 回答
405 浏览

github - 私有 GitHub 存储库的 Ansible Galaxy 集合依赖 SSH 错误

作为 Ansible 集合的新手,我希望我在尝试使用私有 GitHub 存储库将一些旧的 Ansible 角色重构为集合时遗漏了一些明显的东西。

我有 2 个链接帐户的 GitHub 设置。我会打电话给主要的个人帐户GITHUB_AC_P。个人帐户与我将调用的子组织帐户相关联GITHUB_AC_O。我可以在 GitHub Web UI 中切换这些帐户,并使用以下单个条目~/.ssh/config 通过 git 客户端访问这两个帐户:

我首先将 Ansible Galaxy 集合文件添加到名为ansible.commonaccount的新 GitHub 存储库中GITHUB_AC_O。我计划在其他 Ansible Galaxy 集合中重用这个集合。它目前只有一个角色和以下galaxy.yml文件:

以下命令报告“安装成功”,我在以下位置看到集合~/.ansible/collections/ansible_collections/REDACTED_NS/common

然后,我在一个名为ansible.harden_host. 这也在考虑之内GITHUB_AC_O。这目前没有任何角色,并使用以下galaxy.yml文件来引用上述公共集合(两个galaxy.yml文件中REDACTED_NS的值相同):

但是当我运行以下命令时:

它失败并显示消息:

为什么这是试图点击galaxy.ansible.com而不是我的 GitHub 帐户?

当我添加--ignore-certs并运行以下内容时:

它失败并显示以下不同消息:

我将此错误中的 URI(冒号右侧)粘贴到ansible-galaxy collection install命令中,以验证 URI 中没有拼写错误。这工作得很好。

字符串 REDACTED_NS 不等于 GITHUB_AC_P 或 GITHUB_AC_O 的值。

如果有人可以请解释这里出了什么问题以及如何解决这个问题,将不胜感激。

0 投票
0 回答
279 浏览

ansible - 使用“local_action”运行 Ansible 模块时出现“sudo:未提供密码”

我正在尝试使用github_key社区模块将 SSH 公钥添加到 Github 帐户。

(我安装了社区模块ansible-galaxy collection install community.general

在我的任务列表中,我——

  1. 阅读publickey
  2. 调用github_key(with local_action) 将该密钥添加到 Github 帐户

当我运行它时得到这个错误(在module_stderr输出中):

我猜它找不到我sudo的用户密码。

但是我提供了一个sudo密码,并且在此之前还有 30 多个其他任务(此处未显示)能够成功执行命令。事实上,在我的剧本定义中,我使用become

我认为这个问题是local_action由于它甚至在执行模块本身时都遇到了问题。

谢谢!

0 投票
1 回答
475 浏览

python-3.x - Ansible 无法运行 Terraform 计划

我有自动化的 ansible playbook 来生成在文件夹中创建 AWS 资源所需的 Terraform 文件。生成文件后,ansible 任务运行 terraform 计划(使用以下计划代码),但失败并出现以下错误(错误)

Ansible 版本:

地形版本: Terraform v0.12.31

计划代码:

错误:

不确定我是否错过了安装任何必需的模块,或者我是否需要更改代码。知道如何解决上述错误吗?

如果需要任何进一步的信息,请告诉我。

提前致谢。