ansible-2.x相关内容
在 Ansible vars 文件中,我想将 dict 的 dict 转换为可以从 Ansible Galaxy 传递给外部角色的 dict 列表. 输入: postgres_users:直流1:名称:user_dc1密码:pass_dc1直流2:名称:user_dc2密码:pass_dc2直流3:名称:user_dc3密码:pass_dc3 所需的输出: postgres_users
..
我对 Ansible 很陌生 是否可以使用 Ansible 检查文件中是否存在字符串. 我想检查用户是否有权访问服务器.这可以在服务器上使用 cat/etc/passwd | 来完成.grep 用户名 但如果用户不在,我希望 Ansible 停止. 我尝试使用 lineinfile 但似乎无法让它返回. 代码 - 名称:查找lineinfile: dest=/et
..
我在我的角色中使用了大量 YAML 锚点和引用来将逻辑保持在一个位置,而不是在多个任务中重复我自己.下面是一个非常非常基本的例子. - &sometask名称:“一些任务"some_module:有很多参数with_items: list_A-
..
我接手了一个在 Ansible 上运行的项目,用于服务器配置和管理.我对 Ansible 相当陌生,但多亏了良好的文档,我才开始了解它.我仍然有一个错误,它有以下输出: failed: [build] (item=[u'software-properties-common', u'python-pycurl', u'openssh-server', u'ufw', u'unattended-
..
对于我正在开发的角色,我需要验证内核版本是否大于特定版本. 我已经找到了 ansible_kernel 事实,但是有没有一种简单的方法可以将其与其他版本进行比较?我想我可能会手动分解 . 上的版本字符串并比较数字,但我什至找不到友好的过滤器来分解版本字符串,所以我不知所措. 解决方案 有一个 测试: {{ ansible_distribution_version 是 version
..
我尝试将 omit 与这样的表达式一起使用: id: "{{ openstack_networks.id | default(omit) }}" 但是当 openstack_networks 变量未定义时,它似乎一直失败并出现异常. 编写这个 jinja2 过滤器的正确方法是什么? 如果 openstack_networks.id 不存在,我想省略该参数. 解决方案 不是超
..
我发现了这个 blockinfile 问题,其中一位用户建议添加一个“|"后面的数字在“块:|"行,但给出了语法错误.基本上,我想使用 blockinfile 模块在文件中添加一个行块,但我希望该块在文件中缩进 6 个空格.任务来了 - name:在文件中添加了一行阻止文件:目标:/path/some_file.ymlinsertafter: 'authc:'块: |0号线第一行线2线34号线
..
假设以下任务: 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
..
我想在我使用 group_by 模块动态创建的多个主机组上运行包含一些角色的剧本. 我可以像下面的例子那样做(ping 代替我的实际角色). 我想知道是否有办法在循环中单独运行每个组,而不是列出所有实例 ID.我不想为每个实例 ID 创建一个重复的行. 这里的目的是一次部署到每个数据中心的一个实例,而不是用低串行运行所有实例,这需要很长时间. 可能有不同的方法,我也不想在清
..
我的 ansible playbook 中有以下 vars 我得到了以下结构 域:- { main: 'local1.com', sans: ['test.local1.com', 'test2.local.com'] }- {主要:'local3.com'}- {主要:'local4.com'} 并且在我的 conf.j2 里面有以下内容 {% for domain in domain
..
我正在尝试执行 ansible2 commnads... 当我这样做时: ansible-playbook -vvv -i my/inventory my/playbook.yml 我明白了: 意外异常:名称“basestring"未定义完整的回溯是: 回溯(最近一次调用最后一次): 中的文件“/usr/local/bin/ansible-playbook",第 85 行sys.
..
我正在尝试将 dist 目录的内容复制到 nginx 目录. - 名称:复制html文件复制:src=/home/vagrant/dist/dest=/usr/share/nginx/html/ 但是当我执行剧本时它会抛出一个错误: TASK [NGINX : copy html file] **************************************************
..
最近我开始深入研究 Ansible 并编写自己的剧本.但是,我在理解 become 和 become_user 之间的区别时遇到了麻烦.据我了解,become_user 类似于 su ,而 become 的意思类似于 sudo su或“以 sudo 用户身份执行所有命令".但有时这两个指令是混合的. 你能解释一下它们的正确含义吗? 解决方案 become_user 定义用于 权限提升
..
我正在尝试在 Ansible 2.5 中使用 when: item is undefined 来检查是否已设置变量列表,如下所示: - 主机:所有任务:- 名称:验证一些变量失败:msg: "未提供必需的变量 {{item}}"时间:项目未定义环形:- v1- v2 然而,无论是否提供 v1 或 v2,这都不会失败. 切换 when 以使用 jinja2 模板工作: when: "{{
..
问题 是否可以通过编程方式从另一个 Ansible 模块调用 Ansible 模块? 背景 我一直通过 Python (ucsmsdk) 和 Ansible 与 Cisco UCS 合作,以创建一种自动化服务配置文件模板(从现在开始的 SPT)的方法.我创建了 apis 和 模块 符合相应 Git 存储库中设置的标准. 虽然我能够使用 Ansible playbook 创建
..
我在 ubuntu 中运行我的服务器: + sudo cat/etc/os-release名称=“Ubuntu"VERSION="16.04.6 LTS (Xenial Xerus)"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 16.04.6 LTS"VERSION_ID="16.04"HOME_URL="http://www.ubuntu.com/"S
..
在使用 Ansible 的 Git 模块克隆、推送或拉取内部托管的私有 git 存储库(例如在 GitLab 实例上)时,如何指定用户名和密码以通过 Git 服务器进行身份验证? 我在文档中没有看到任何方法可以做到这一点. 解决方案 你可以这样使用: ---- 主持人:所有收集事实:没有变成:是任务:- 名称:安装 git 包易于:名称: git- 名称:从 git 存储库获取更新
..
我有一个如下所示的 json 对象: [{"id": "subnet-1",“标签":{“名称":“展示柜"}},{"id": "subnet-2",“标签":{"姓名": "qa"}}] 我想创建一个新字典,其中只有子网 ID,标签名称为“Name"用作键,“id"用作值,如下所示: {"showcase": "subnet-1","qa": "subnet-2",} 目前我有以下
..
我正在尝试从 ansible 脚本运行 python 脚本.我认为这将是一件容易的事情,但我无法弄清楚.我有一个这样的项目结构: 剧本文件夹角色阶段代码档案我的pythonscript.py任务主文件发布.yml 我正在尝试在 main.yml 中的任务中运行 mypythonscript.py(这是在 release.yml 中使用的角色).任务如下: - 名称:运行我的脚本!命令:./r
..
我正在尝试编写一个 python 脚本,它会在运行时调用现有的 Ansible 剧本(因为我想在循环变量列表的同时循环播放列表). 这篇文章很好地解释了它,对于 ansible pre-2.0:运行 ansible-playbook使用 Python API 如果您在脚本中编写新剧本,此文档会很好地解释它:http://docs.ansible.com/ansible/developi
..