问题标签 [ansible-awx]

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

linux - 具有 sudo 访问权限的用户无法从 Ansible AWX 运行 sudo 命令,并出现错误“缺少 Sudo 密码”

我正在通过 AWX(Ansible Tower 的开源版本)运行 Ansible,并且一直遇到用户无法使用任何become权限提升命令的错误。每当在 AWX 上运行命令时,它都会产生错误提示Missing sudo password。我已通过在该用户帐户下运行两者来确认该用户帐户确实具有访问权限。当它们手动运行时,它们都可以完美地工作。sudosu

简而言之,我正在寻找一种在 AWX 中从 Ansible 剧本运行 sudo 命令的方法。我已验证我使用的帐户具有正确的权限。

虽然可以直接编辑/etc/sudoers文件以允许用户在没有密码的情况下使用 sudo,但这不是一种适用于这种情况的解决方案。

Ansible 确实有关于privilege escalation的文档,但正确的选项不能通过 AWX 工作。它用基于菜单的选项替换了几个命令行标志和选项,并且谷歌搜索没有发现任何其他与 AWX 有相同错误消息的人。

注意:这不是以下问题的重复,因为这些问题都涉及从命令行运行 Ansible,而不是从 Ansible Tower 或 AWX 运行它。这些问题还假设编辑/etc/sudoers文件适用于所有情况。

我正在发布并立即回答这个问题,因为我花了一点时间才弄清楚答案。查找文档比它需要的要困难得多,而且它缺少信息,所以我发布了这个带有适当答案的问题。

0 投票
1 回答
4035 浏览

ansible-tower - 使用工作流模板限制主机

我正在使用 Ansible AWX (Tower) 并且有一个模板工作流,根据之前的执行是否成功,一个接一个地执行多个模板。

我注意到在运行单个模板时我可以限制到特定主机,我想将其应用于工作流,我猜我必须使用调查选项来实现这一点,但我不确定如何。

我试图看看我是否可以覆盖“主机”值,但它失败了,就像我预期的那样。我怎样才能让它在工作流程开始时询问我主机名/IP,而不是工作流程中的每个模板?

0 投票
1 回答
966 浏览

ansible-awx - 从 AWX 1.0.6 升级到 1.0.7

大家觉得 awx 1.0.7 怎么样?以及升级过程?

我尝试从 106 升级到 107,然后在 106 机器和新的 107 服务器之间移动我的数据。我用 Tower-cli 做到了这一点。

我发现 tower-cli 3.2.1 适用于 awx 106,但不适用于 107。然而,tower-cli 3.3.x 适用于 awx 107,但与 awx 106 有问题。这意味着我无法从106服务器到107服务器。

此外,我将我的 107 服务器连接到与我的 106 服务器相同的数据库,作为接下来要尝试的事情。瞧,它搞砸了数据库——我在 awx 106 服务器上运行我的作业时出错了!值得庆幸的是,在愚蠢的 awx 107 升级崩溃之前,我可以使用数据库的备份。

如果有人想尝试升级,请记住对数据库进行快照/备份,以防万一。让我知道进展如何!

0 投票
1 回答
265 浏览

docker - 如何将容器与新图像链接?

我是 Docker 新手,并试图检查如何在 docker 容器中进行更改并将它们提交以反映在结果中。我在 Docker-CE 上运行了 AWX,并在awx_web容器中创建了一些更改以更新 UI 徽标,如 Ansible Tower 文档中所述:

并使用以下内容local_settings.json/var/lib/awx/public/static/其中一个正在运行的 awx_web 容器中创建,然后使用 bash 命令创建和保存文件:

发布此消息,我已提交更改,以便更改永久反映在图像文件和 UI 中,使用:

我已经验证了容器文件中的更改,并且看起来很好但是,当我在浏览器上验证它们时,这些更改没有得到反映。现有容器似乎指向旧图像文件:

我不确定错过了什么。任何人都可以建议我是否遗漏了什么以及如何解决这个问题?

以下是容器:

以下是图片:

环境信息:

0 投票
1 回答
498 浏览

ansible - 如何配置 AWX 以使用未发布版本的 Ansible

我已经使用通过ansible-galaxy install geerlingguy.awx.

它安装了awx 的devel分支,但作业仍然使用稳定版本的 ansible。

从 AWX 运行剧本时,有没有办法控制作业使用的 ansible 版本?

0 投票
1 回答
1545 浏览

ansible - 从 awx 中的源代码管理获取清单脚本

在 AWX 中,目前如果您选择清单脚本 > 自定义脚本,您只能将代码粘贴到输入框中。有没有办法从源代码管理中提取脚本?

0 投票
1 回答
1015 浏览

ansible - Ansible group_vars 未自动加载

我正在ansible 2.6.4运行python 2.7.5。这是我的目录结构:

这是我的inventory/all

all.yml包含一堆默认值,lab.yml有一些覆盖。特别是,回购 URL 是不同的。当我使用 运行剧本时,永远不会加载ansible-playbook -i /workspace/inventory/all -c local --diff -v /workspace/local.yml其中的变量。group_vars/lab.yml请注意,我是从/workspace. 如果我添加-e @group_vars/lab.yml,则将加载 var,剧本按应有的方式运行。

我通常不会那么在意,只需使用 运行命令-e @group_vars/lab.yml,除了我试图让这些剧本在 AWX 中运行,它呈现相同的 vars-not-loading 行为。

编辑

以新鲜的眼光回到这里。剧本vars_files: [group_vars/all.yml]里有。删除它,世界一切正常。

0 投票
1 回答
2306 浏览

ansible - 运行剧本时各种主机上的未定义变量错误“dict object”

编辑:似乎这只发生在使用--check参数运行时。实时运行此剧本不会引发此错误。但最好知道是什么原因造成的。

我开始使用 Ansible AWX 来管理一堆服务器并且以前没有使用过 Ansible,尽管我已经阅读了许多在线教程并且感觉很舒服。

我正在尝试运行一个将更新安装到多个网络服务器的剧本。

它抛出了一个错误,奇怪地出现在不同的主机上不同的运行。例如,如果我运行 playbook,主机会server3.mydomain.com因此错误而失败。如果我从库存中删除该服务器,那么我会在 上得到相同的错误server2.mydomain.com,依此类推。

错误输出没有提供足够的信息让我找出失败的原因,即使它将它隔离到一个小部分,而且我还没有设法通过在线搜索找到问题。

这是剧本(来自我在网上找到的模板,有一些更改):

这是错误:

所以,错误似乎与这个块有关,但除此之外我被困住了:

看不到我在这里缺少什么。

0 投票
2 回答
3301 浏览

docker - 如何在 AWX 容器中启用更改?

我正在尝试在 AWX 容器中安装其他 python 包,awx_tasks以便更改可以启用 ansible 模块,如snow, ec2_elb_factsrun (作为 Python 模块的先决条件)。我使用以下方法在容器中进行了更改:

80ab6bf562a9容器的容器 ID在哪里awx_task

然后在自定义虚拟环境中安装所需的包(如 AWX文档中所述)。发布这个,我通过使用以下容器更改创建一个新图像来使更改永久化:

发布此内容,运行以下命令以将新容器与新创建的图像映射到容器更改。

以下是发布上述更改的容器。在这里,新创建的容器与现有容器发生变化的新图像映射为968fb2a7da2f.

以下是我在上面更改的图片。在这里,新创建的图像(有变化)是5290f9b3268c.

新容器与新图像正确映射(已得到我想要的更改)。现在的问题是,当我停止旧容器并启动新容器时,AWX 不起作用。我只能查看 UI,如果我运行任何任务,例如执行模板,它就会冻结。似乎新的容器/图像没有与其他容器(例如 等)进行对话awx_rabbitmqpostgres我一直在阅读有关此的多个帖子,但是,我找不到任何突出显示有关此内容的帖子。

我基本上希望awx_task容器中的更改能够工作,以便我可以实现使自定义模块工作的目标。谁能建议可以做些什么,以便新awx_task容器可以扮演旧 awx_task 的角色并且 AWX 可以正常工作?

0 投票
0 回答
1299 浏览

python - 获取服务器 API 版本时安装 AWX 失败并出现错误 - 没有这样的文件或目录

我正在尝试使用提供的 ansible playbook AWX 将 AWX 从我的本地安装到远程服务器。我删除了 dockerhub 变量以在运行时创建图像,因为远程服务器没有互联网连接。Docker 已安装并运行,docker-py 也已安装。我可以做进口码头;来自 python 的 print(docker.version) 所以 docker-py 显然正在工作。

现在,当我运行 install.yml 剧本时,它在这一步失败:[image_build : Build sdist builder image]

错误是:

有谁知道出了什么问题?