问题标签 [ansible-2.x]

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

ansible - 使用 ansible playbook 执行 curl -X

我想使用 ansible playbook 执行下一个命令:

我该如何运行它?

如果我运行:

我有下一个失败:

fatal: [172.16.8.231]: FAILED! => {"failed": true, "msg": "ERROR! the file_name '/home/ikerlan/Ik4-Data-Platform/ansible/playbooks/Z_PONER_EN_MARCHA/dns-consul/mesos-consul.j2' does not exist, or is not readable"}

0 投票
1 回答
901 浏览

ansible-playbook - 剧本掉毛

我想检查一个剧本来检测以下几种可能性:

  1. 未定义的变量
  2. 未使用的变量
  3. 查看定义的 var 在忽略大小写时是否相同(此后有冲突的 var)

我无法弄清楚这样做的好方法是什么?我不想重新发明轮子,从某种意义上说:

  1. 我不想做文本处理。Ansible 这样做是为了完成它的任务。
  2. 如果我没记错的话,挂钩或回调比我认为我的解决方案应该加入的级别高几个级别。

我的目的是编写一个可以无缝且可选地与 ansible 配合使用的工具。如果可以,我不想修改 ansible 的代码。

任何帮助或黑客或建议表示赞赏。

PS:语法检查不会告诉我上面提到的内容。我已经查看了ansible-lint工具。它进行文本处理,不支持库存(用于 host_vars 等)并且不使用 ansible python API。所以为了做我需要的事情,我必须调用许多 ansible 的内部 API,我最终会在我的工具中编写 ansible 的代码。

0 投票
1 回答
1528 浏览

ansible - Ansible:用 blockinfile 注释掉定义的 python 代码块?

尝试使用 Ansible 从服务器上的文件 (websocket.py) 中注释几行,但由于某种原因,我的代码没有在 OPCODE_CONTINUATION 之前添加第二个注释块。

想法是在“slots”行之前添加三个引号,在“OPCODE_CONTINUATION”行之前添加三个引号。我当前的解决方案尝试使用正则表达式查找行,但显然有问题,因为只添加了第一个注释块。

Ansible 版本 2.0.1.0 (2016/02/22 11:04:54)

websocket.py 的片段:

Ansible 剧本脚本:

结果

文件:Websocket.py

0 投票
2 回答
20655 浏览

command-line-arguments - 在 Ansible 中构建映射时出现警告

每当我运行我的剧本时,都会出现以下警告:

[警告]:在从 /etc/ansible/roles/foo/tasks/main.yml 构建映射时,第 17 行第 3 列,发现重复的 dict 键(文件)。仅使用最后定义的值。

我在任务文件夹中的 main.yml 的相关部分是这样的:

(第 17 行是清理文件的任务,这似乎有点不对劲,所以我猜问题出在前面的“脚本”行)

还有我的 vars 文件:

要运行我的剧本,我会:

我想要做的是获取命令行参数,设置主机:使用“服务器”参数,获取任务名并从中找出 id 所指的。此 id 用作远程运行的 python 脚本的第一个输入。

该剧本工作正常,但我不明白为什么会收到警告。谁能解释这里有什么问题?

0 投票
1 回答
65 浏览

automation - 用户在特定组中时创建目录

我正在尝试执行以下任务,如果用户是 hdfsuser 组的一部分,则创建一个目录

但收到此错误:

有人知道解决方法吗?

0 投票
1 回答
640 浏览

ansible - Ansbile AWS 动态库存组无法匹配 Play 主机

我无法让我的 Ansible 游戏hosts与为我的动态清单返回的 AWS 动态组匹配。让我们分解这个问题。

鉴于此输出ec2.py --list

我应该能够编写一个匹配一些回来的组的剧本:

但是,当我--list-hosts匹配这些播放时,很明显播放主机没有匹配任何返回的内容:

0 投票
1 回答
2177 浏览

ansible - Ansible playbook 只添加角色依赖变量

所有文件都是

我怎样才能做到这一点 ?

我想过这个

有点麻烦,但我认为这可能是唯一的解决方法。

为什么我想要这个是我不希望用户关心太多文件(group_vars,host_vars,extra_vars),他们不知道ansible,我必须尽可能简单地部署我们的系统,他们唯一需要关心的是库存文件,像这样

但是加载变量的顺序是

  • 角色默认值
  • 库存变量
  • 库存组变量
  • 清单 host_vars
  • 剧本 group_vars
  • 剧本host_vars
  • 主机事实
  • 注册变量
  • 设置事实
  • 玩变量
  • 播放 vars_prompt
  • 播放 vars_files
  • 角色和包含变量
  • 块变量(仅适用于块中的任务)
  • 任务变量(仅用于任务)
  • 额外变量(总是优先)

这对这个组织来说很难,因为我不能这样做,var 文件会打败库存配置。

0 投票
2 回答
5870 浏览

java - apt_repository 模块失败

有时当我运行我的剧本时,它会引发下一个失败:

剧本中“有时”失败的部分是下一个:

0 投票
1 回答
973 浏览

automation - 如何使用带有播放主机 IP 的 ansible 创建主机文件

我正在尝试使用以下任务创建主机文件。我在完全不属于组['hadoop']的机器上运行此任务。在这里,我想为来自组 ['hadoop'] 的节点创建主机文件,而不是在组 ['hadoop'] 上运行我的这个游戏

我试过了,但没有用,只有当我的游戏主机中有组['hadoop']时它才有效。

有人知道我在这里做错了什么吗?

0 投票
1 回答
2031 浏览

ansible - 一次播放多个ansible playbook时如何跳过失败并继续运行?

我在我的一个项目中运行多个用于测试自动化的 ansible 剧本。问题是,即使一项任务(在一个剧本中)失败,测试(包含多个剧本)也会中止。

有没有办法克服这个问题?