问题标签 [ansible-api]

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 投票
0 回答
1391 浏览

python-2.7 - ****ansible.errors.AnsibleError:无法找到库存文件,请使用 -i 指定一个?****

****ansible.errors.AnsibleError:无法找到库存文件,请使用 -i 指定一个?****

我的脚本:

样品1.yml:

/etc/ansible/主机:

0 投票
0 回答
283 浏览

python - 你如何提取从 ansible playbook 返回的注册变量?

我有一个这样的剧本任务:

我正在使用 python API 运行这个剧本,我想对foo_result变量进行一些后期处理。如何foo_result使用 API 访问?

0 投票
2 回答
492 浏览

api - Ansible API:自定义模块

我想使用一个需要“主机名”的自定义模块,以便我可以从自定义模块启动 SSH 连接并运行命令。所以我将 transport = "local" 传递给 Runner 对象。但是,我找不到在自定义模块中获取“主机名”信息的方法。

我正在使用使用 Python API 的 Ansible 1.9.2。

0 投票
1 回答
199 浏览

python - ansible runner 跑到很长

当我使用 ansible 的 python API 在远程机器(数千)上运行脚本时,代码是:

然后,我用

这需要太长时间。我想将数据结构标准输出插入 MySQL。我想要的是,如果一旦机器返回数据,只需将数据插入 MySQL,然后下一个,直到所有机器都返回。

这是一个好主意,还是有更好的方法?

0 投票
1 回答
857 浏览

python - 编程ansible:将结果保存到python变量中

我正在使用此代码以编程方式运行 ansible:https ://github.com/jtyr/ansible-run_playbook带有一个简单的剧本,它只是从 Ubuntu 服务器收集事实并将它们打印到屏幕上:

但我真正需要的是简单地将输出保存到 python 变量中,而不是通过模板运行它或输出到屏幕(我实际上将在 Django 应用程序中使用它)。有没有办法做到这一点?

感谢您的阅读。

0 投票
1 回答
454 浏览

python - 从动作插件调用过滤器插件

我正在开发一个自定义 Ansible 动作插件。从那里我想从 CIDR 计算网关和子网掩码。使用ipaddr 过滤器已经可以做到这一点。有没有办法从动作插件内部调用 ipaddr 过滤器,而不是复制代码?

我知道您可以像这样从动作插件调用模块:

像这样的东西可用于过滤器吗?

我查看了 Ansible 的源代码并找到了filter_loader该类,但还没有弄清楚如何使用它。

这会导致一个错误,我想如果不对 ipaddr 过滤器本身进行修改,我就无法避免,这当然是没有选择的。

0 投票
1 回答
1035 浏览

python - 如何在 Ansible v2 中运行 playbook api

我想通过 Ansible V2 python api 运行 ansible playbook。这是我的方式:

但它无法正常运行并给我如下错误信息:

在这个TASK我有template一个带有变量的 Jinja2 文件groups['xxxx']。我认为这是 Ansible 的内置组变量。谁能告诉它为什么会发生以及如何解决它。提前致谢。

0 投票
1 回答
306 浏览

python - 如何使用 Ansible 1.x API 列出主机

Ansible-playbook 有一个--list-hostscli 开关,它只输出受 playbook 中每个 play 影响的主机。我正在寻找一种通过 python API 访问相同信息的方法。

我现在用来测试的(非常)基本脚本是

我只是不知道要添加什么以ansible.runner.Runner()使其输出受影响的主机并退出。

0 投票
1 回答
1280 浏览

ansible - 如何使用 Vault 在 Ansible v2 中运行 playbook api

这是我所拥有的,我知道这无需加密即可运行,我可以运行

ansible-vault 编辑 common.yml

ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt

在环境中设置。

无法解密 common.yml

0 投票
0 回答
405 浏览

python - 在 Ansible 2.0 Python API 中将角色附加到剧本

基于这个问题How to use Ansible 2.0 Python API to run a Playbook?

如何创建 PlaybookExecutor 类的实例并附加将在调用 pbex.run() 时执行的 Ansible 角色?

这是一个示例 Playbook ls.yml - 注意角色是一个空列表。

这是使用 API 运行 playbook 的代码:

在 Ansible 2.0 之前 - 特别是在 1.7 中,我能够简单地附加角色的名称,如下所示(跳过导入)并调用 run 方法:

我想在 Ansible 2.0 中复制它。

谢谢