ansible-2.x相关内容

Ansible - 检查文件中是否存在字符串

我对 Ansible 很陌生 是否可以使用 Ansible 检查文件中是否存在字符串. 我想检查用户是否有权访问服务器.这可以在服务器上使用 cat/etc/passwd | 来完成.grep 用户名 但如果用户不在,我希望 Ansible 停止. 我尝试使用 lineinfile 但似乎无法让它返回. 代码 - 名称:查找lineinfile: dest=/et ..
发布时间:2021-11-11 01:08:33 其他开发

Ansible playbook 无法锁定 apt

我接手了一个在 Ansible 上运行的项目,用于服务器配置和管理.我对 Ansible 相当陌生,但多亏了良好的文档,我才开始了解它.我仍然有一个错误,它有以下输出: failed: [build] (item=[u'software-properties-common', u'python-pycurl', u'openssh-server', u'ufw', u'unattended- ..
发布时间:2021-11-11 01:07:44 其他开发

如何在 Ansible 中比较内核(或其他)版本号

对于我正在开发的角色,我需要验证内核版本是否大于特定版本. 我已经找到了 ansible_kernel 事实,但是有没有一种简单的方法可以将其与其他版本进行比较?我想我可能会手动分解 . 上的版本字符串并比较数字,但我什至找不到友好的过滤器来分解版本字符串,所以我不知所措. 解决方案 有一个 测试: {{ ansible_distribution_version 是 version ..
发布时间:2021-11-11 01:07:33 其他开发

如何在 Ansible 中使用 omit 并避免任何错误?

我尝试将 omit 与这样的表达式一起使用: id: "{{ openstack_networks.id | default(omit) }}" 但是当 openstack_networks 变量未定义时,它似乎一直失败并出现异常. 编写这个 jinja2 过滤器的正确方法是什么? 如果 openstack_networks.id 不存在,我想省略该参数. 解决方案 不是超 ..
发布时间:2021-11-11 01:07:10 其他开发

如何在 Ansible 的 blockinfile 中的块开头添加空格?

我发现了这个 blockinfile 问题,其中一位用户建议添加一个“|"后面的数字在“块:|"行,但给出了语法错误.基本上,我想使用 blockinfile 模块在文件中添加一个行块,但我希望该块在文件中缩进 6 个空格.任务来了 - name:在文件中添加了一行阻止文件:目标:/path/some_file.ymlinsertafter: 'authc:'块: |0号线第一行线2线34号线 ..
发布时间:2021-11-11 01:06:56 其他开发

Ansible 标准输出格式

假设以下任务: shell:“some_script.sh";注册:“some_script_result"; 调试:msg: "输出: {{ some_script_result.stdout_lines }} 我收到以下输出: “msg":“输出:[u'some_value',u'some_value2,u'some_value3]"; 如何让输出打印为? “msg":输出:som ..
发布时间:2021-11-11 01:06:39 其他开发

一次在多个主机组上运行一个剧本

我想在我使用 group_by 模块动态创建的多个主机组上运行包含一些角色的剧本. 我可以像下面的例子那样做(ping 代替我的实际角色). 我想知道是否有办法在循环中单独运行每个组,而不是列出所有实例 ID.我不想为每个实例 ID 创建一个重复的行. 这里的目的是一次部署到每个数据中心的一个实例,而不是用低串行运行所有实例,这需要很长时间. 可能有不同的方法,我也不想在清 ..
发布时间:2021-11-11 01:06:22 其他开发

Ansible 中 become 和 become_user 的区别

最近我开始深入研究 Ansible 并编写自己的剧本.但是,我在理解 become 和 become_user 之间的区别时遇到了麻烦.据我了解,become_user 类似于 su ,而 become 的意思类似于 sudo su或“以 sudo 用户身份执行所有命令".但有时这两个指令是混合的. 你能解释一下它们的正确含义吗? 解决方案 become_user 定义用于 权限提升 ..
发布时间:2021-11-11 01:04:09 其他开发

ansible:检查变量列表的正确方法是否已设置?

我正在尝试在 Ansible 2.5 中使用 when: item is undefined 来检查是否已设置变量列表,如下所示: - 主机:所有任务:- 名称:验证一些变量失败:msg: "未提供必需的变量 {{item}}"时间:项目未定义环形:- v1- v2 然而,无论是否提供 v1 或 v2,这都不会失败. 切换 when 以使用 jinja2 模板工作: when: "{{ ..
发布时间:2021-11-11 01:03:21 其他开发

从另一个 Ansible 模块调用一个 Ansible 模块?

问题 是否可以通过编程方式从另一个 Ansible 模块调用 Ansible 模块? 背景 我一直通过 Python (ucsmsdk) 和 Ansible 与 Cisco UCS 合作,以创建一种自动化服务配置文件模板(从现在开始的 SPT)的方法.我创建了 apis 和 模块 符合相应 Git 存储库中设置的标准. 虽然我能够使用 Ansible playbook 创建 ..
发布时间:2021-11-11 01:02:49 Python

使用 Ansible Git 模块时如何传递用户名和密码?

在使用 Ansible 的 Git 模块克隆、推送或拉取内部托管的私有 git 存储库(例如在 GitLab 实例上)时,如何指定用户名和密码以通过 Git 服务器进行身份验证? 我在文档中没有看到任何方法可以做到这一点. 解决方案 你可以这样使用: ---- 主持人:所有收集事实:没有变成:是任务:- 名称:安装 git 包易于:名称: git- 名称:从 git 存储库获取更新 ..
发布时间:2021-11-11 01:00:45 其他开发

Ansible 提取属性并创建新字典

我有一个如下所示的 json 对象: [{"id": "subnet-1",“标签":{“名称":“展示柜"}},{"id": "subnet-2",“标签":{"姓名": "qa"}}] 我想创建一个新字典,其中只有子网 ID,标签名称为“Name"用作键,“id"用作值,如下所示: {"showcase": "subnet-1","qa": "subnet-2",} 目前我有以下 ..
发布时间:2021-11-11 00:59:56 其他开发

通过ansible运行Python脚本

我正在尝试从 ansible 脚本运行 python 脚本.我认为这将是一件容易的事情,但我无法弄清楚.我有一个这样的项目结构: 剧本文件夹角色阶段代码档案我的pythonscript.py任务主文件发布.yml 我正在尝试在 main.yml 中的任务中运行 mypythonscript.py(这是在 release.yml 中使用的角色).任务如下: - 名称:运行我的脚本!命令:./r ..
发布时间:2021-11-11 00:59:39 其他开发

如何使用 Ansible 2.0 Python API 运行 Playbook?

我正在尝试编写一个 python 脚本,它会在运行时调用现有的 Ansible 剧本(因为我想在循环变量列表的同时循环播放列表). 这篇文章很好地解释了它,对于 ansible pre-2.0:运行 ansible-playbook使用 Python API 如果您在脚本中编写新剧本,此文档会很好地解释它:http://docs.ansible.com/ansible/developi ..
发布时间:2021-11-11 00:58:31 Python