问题标签 [ansible]

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 投票
4 回答
5405 浏览

file-io - ansible include_if_exists

如果文件存在,我正在寻找一种有条件地在 Ansible 播放中包含文件的方法。如果文件不存在,不幸的是,使用“include”会引发致命错误。我正在遍历一堆包并安装它们,我想检查每个包的可选配置文件。请参见下面的简化示例:

一旦脚本试图包含一个不存在的文件,它就会停止并出现错误。我确定我只是想以错误的方式做某事,但我已经做了几个小时并尝试了我能想到的一切,但没有结果。

0 投票
1 回答
3254 浏览

python - 我可以在托管节点上不安装 python 的情况下使用 ansible 吗?

我想使用 ansible ,我可以使用 ansible 而不在托管节点上安装 python 吗?例如,我只想在受管节点上执行一些 shell 命令。

0 投票
8 回答
30215 浏览

cryptography - 如何使用 ansible 创建用户并设置密码?

文档向我们介绍了 github示例,但这有点稀疏和神秘。

它是这样说的:

crypt.crypt不会发出示例显示的内容。它还使用 MD5。

我试过这个:

但是用户的密码字段应该是这样的:

其中包括三个分隔符$分隔符6(表示它是 SHA-512 哈希)、盐和加密密码。

请注意,python crypt 文档没有提到任何关于$N格式的内容。

问题:

  1. 提供给 的盐是crypt.crypt应该以尾随$结尾还是$N$SALT格式?

  2. Python 文档引用了 DES,但是如何调用 SHA-512 或 MD5,这方面的文档在哪里?

  3. 我真的应该输出crypt.crypt并切断前6 美元并制作$N$SALT$CRYPTED吗?这是ansible需要的吗?

0 投票
1 回答
3279 浏览

python - 开发的 Ansible 模块可以包含或扩展 Ansible Core 模块吗?

我正在开发一个 Ansible 模块,它生成一个 url,从我的内部工件中获取(如 get_url)该 url 处的 tarball,然后提取它。我想知道是否有办法在我的模块中包含或扩展 get_url Ansible 核心模块。我不能在多个步骤中使用它,因为正在使用的 url 是从 git 哈希生成的,并且需要多步骤搜索。

如果没有办法,我可能会复制整个 get_url 模块并在我的模块中使用它,但我想避免这种情况。

我想做类似的事情:

module_json_response = module.get_module('get_url').issue_command('url=http://myartifactory.com/my_artifact.tar.gz dest=/path/to/local/my_artifact.tar.gz');

我对 Ansible 的理解是它上传正在使用的模块并执行它,包括另一个模块不受支持或没有记录。

提前感谢您的帮助。

0 投票
1 回答
592 浏览

python - 在剧本中处理变量

我想制作一个脚本来在计算机实例之间快速设置一个 TINC vpn。我需要的是一种通过“/tmp/setup_tinc.py”命令行传递以下参数的方法:

在哪里%{{ part }}%将在 python 中解释。但我似乎找不到一个好方法来做到这一点。你能帮我修复这段代码吗?

我制作了以下剧本

0 投票
8 回答
36992 浏览

ansible - ansible - 从目录中删除非托管文件?

我想递归地复制一个目录并将其中的所有.j2文件呈现为模板。为此,我目前正在使用以下几行:

现在我正在寻找一种从该目录中删除非托管文件的方法。例如,如果我从中删除一个文件/模板,/src/conf.d/我希望 Ansible 也将其删除/dest/conf.d/

有没有办法做到这一点?我尝试摆弄rsync --delete,但是我遇到了.j2删除后缀的模板的问题。

0 投票
1 回答
1211 浏览

shell - Ansible bash 配置文件,防止冗长

我正在安装Ansible,并将以下命令添加到我的~/.bash_profile文件中。

现在每次我打开一个新的终端窗口时,它都会记录下面的消息。

设置 Ansible 用完结帐...

PATH=/github/ansible/bin:/Users/.../.rvm/gems/ruby-2.0.0-p0/bin:/Users/.../.rvm/gems/ruby-2.0.0-p0 @global/bin:/Users/.../.rvm/rubies/ruby-2.0.0-p0/bin:/Users/.../.rvm/bin:/Users/.../sbt/bin: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin PYTHONPATH=/Users/.../Documents/Projects /eclipse-workspace/ansible/ansible/lib: ANSIBLE_LIBRARY=/Users/.../Documents/Projects/eclipse-workspace/ansible/ansible/library MANPATH=/Users/.../Documents/Projects/eclipse-workspace/ ansible/ansible/文档/人:

请记住,您可能希望使用 -i 指定您的主机文件

完毕!

如何防止终端记录这些消息?

0 投票
1 回答
2712 浏览

mongodb - 在 EC2 重新启动后,使用 Ansible 重新启动 MongoDB

我正在使用Ansible配置和部署一个运行 MongoDB 的 EC2 实例。

我现在想知道如何将 MongoDB 配置为在 EC2 实例重新启动后自动重新启动。还是我只需要重新运行 Ansible Playbook?

这是我目前的Ansible 剧本

0 投票
13 回答
46093 浏览

mysql - Ansible 幂等 MySQL 安装 Playbook

我想在 AWS 上设置一个 MySQL 服务器,使用 Ansible 进行配置管理。我正在使用来自 Amazon ( ami-3275ee5b ) 的默认 AMI,它yum用于包管理。

当执行下面的剧本时,一切顺利。但是当我第二次运行它时,任务Configure the root credentials失败了,因为 MySQL 的旧密码不再匹配,因为我上次运行这个 Playbook 时已经更新了它。

这使得剧本非幂等,我不喜欢。我希望能够多次运行 Playbook。

解决这个问题的最佳方法是什么,这意味着使 Playbook 具有幂等性?提前致谢!

0 投票
5 回答
2782 浏览

mercurial - Ansible Mercurial 克隆挂起

当我尝试使用 Ansible 从 Bitbucket 克隆存储库时,任务似乎“挂起”。

文档中我找到了一些信息,但我没有使用 SSH。

如果任务似乎挂起,首先验证远程主机是否在 known_hosts 中。SSH 将提示用户授权与远程主机的第一次联系。一种解决方案是在 .ssh/config 中添加 StrictHostKeyChecking no ,它将代表用户接受和授权连接。但是,如果您以其他用户身份运行(例如将 sudo 设置为 True),则 root 将不会查看用户 .ssh/config 设置。

这是我尝试过的两本剧本。他们都“挂起”。

剧本#1

剧本#2

欢迎任何帮助。提前致谢!