问题标签 [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.
file-io - ansible include_if_exists
如果文件存在,我正在寻找一种有条件地在 Ansible 播放中包含文件的方法。如果文件不存在,不幸的是,使用“include”会引发致命错误。我正在遍历一堆包并安装它们,我想检查每个包的可选配置文件。请参见下面的简化示例:
一旦脚本试图包含一个不存在的文件,它就会停止并出现错误。我确定我只是想以错误的方式做某事,但我已经做了几个小时并尝试了我能想到的一切,但没有结果。
python - 我可以在托管节点上不安装 python 的情况下使用 ansible 吗?
我想使用 ansible ,我可以使用 ansible 而不在托管节点上安装 python 吗?例如,我只想在受管节点上执行一些 shell 命令。
cryptography - 如何使用 ansible 创建用户并设置密码?
它是这样说的:
但crypt.crypt
不会发出示例显示的内容。它还使用 MD5。
我试过这个:
但是用户的密码字段应该是这样的:
其中包括三个分隔符$分隔符6
(表示它是 SHA-512 哈希)、盐和加密密码。
请注意,python crypt 文档没有提到任何关于$N格式的内容。
问题:
提供给 的盐是
crypt.crypt
应该以尾随$结尾还是$N$SALT格式?Python 文档引用了 DES,但是如何调用 SHA-512 或 MD5,这方面的文档在哪里?
我真的应该输出
crypt.crypt
并切断前6 美元并制作$N$SALT$CRYPTED吗?这是ansible需要的吗?
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 的理解是它上传正在使用的模块并执行它,包括另一个模块不受支持或没有记录。
提前感谢您的帮助。
python - 在剧本中处理变量
我想制作一个脚本来在计算机实例之间快速设置一个 TINC vpn。我需要的是一种通过“/tmp/setup_tinc.py”命令行传递以下参数的方法:
在哪里%{{ part }}%
将在 python 中解释。但我似乎找不到一个好方法来做到这一点。你能帮我修复这段代码吗?
我制作了以下剧本:
ansible - ansible - 从目录中删除非托管文件?
我想递归地复制一个目录并将其中的所有.j2文件呈现为模板。为此,我目前正在使用以下几行:
现在我正在寻找一种从该目录中删除非托管文件的方法。例如,如果我从中删除一个文件/模板,/src/conf.d/
我希望 Ansible 也将其删除/dest/conf.d/
。
有没有办法做到这一点?我尝试摆弄rsync --delete
,但是我遇到了.j2
删除后缀的模板的问题。
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 指定您的主机文件
完毕!
如何防止终端记录这些消息?
mongodb - 在 EC2 重新启动后,使用 Ansible 重新启动 MongoDB
我正在使用Ansible配置和部署一个运行 MongoDB 的 EC2 实例。
我现在想知道如何将 MongoDB 配置为在 EC2 实例重新启动后自动重新启动。还是我只需要重新运行 Ansible Playbook?
这是我目前的Ansible 剧本:
mysql - Ansible 幂等 MySQL 安装 Playbook
我想在 AWS 上设置一个 MySQL 服务器,使用 Ansible 进行配置管理。我正在使用来自 Amazon ( ami-3275ee5b ) 的默认 AMI,它yum
用于包管理。
当执行下面的剧本时,一切顺利。但是当我第二次运行它时,任务Configure the root credentials
失败了,因为 MySQL 的旧密码不再匹配,因为我上次运行这个 Playbook 时已经更新了它。
这使得剧本非幂等,我不喜欢。我希望能够多次运行 Playbook。
解决这个问题的最佳方法是什么,这意味着使 Playbook 具有幂等性?提前致谢!
mercurial - Ansible Mercurial 克隆挂起
当我尝试使用 Ansible 从 Bitbucket 克隆存储库时,任务似乎“挂起”。
在文档中我找到了一些信息,但我没有使用 SSH。
如果任务似乎挂起,首先验证远程主机是否在 known_hosts 中。SSH 将提示用户授权与远程主机的第一次联系。一种解决方案是在 .ssh/config 中添加 StrictHostKeyChecking no ,它将代表用户接受和授权连接。但是,如果您以其他用户身份运行(例如将 sudo 设置为 True),则 root 将不会查看用户 .ssh/config 设置。
这是我尝试过的两本剧本。他们都“挂起”。
剧本#1
剧本#2
欢迎任何帮助。提前致谢!