为什么我不能从playbook.yml访问库存文件中定义为组var的变量
以下是playbook.yml的内容
---
- name: test ansible local provisioning
hosts: all
vars:
playbook_var: "playbook_var"
tasks:
- name: Test ansible is working
debug: msg="Ansible seems to be working, this variable is from plabook {{ playbook_
我在亚马逊网络服务中有很多EC2服务器,我想根据从ansible_facts收集的事实对它们进行分类(通过模块设置)。例如,拥有一个组"CentOS“,其中ansible_facts['distribution'] == 'CentOS'等等。但是有了文件inventory/constructed.yml
plugin: constructed
strict: False
keyed_groups:
# this creates a group per distro (distro_CentOS, distro_Debian) and assigns
我想导入现有的库存,我以前使用过的Ansible (独立的),包括group_vars和金库文件到Ansible (3.2.0)。
但是,一旦Vault文件发挥作用,它似乎就不起作用了。一旦我设置了Vault密码文件凭证并使用源类型“来源于一个项目”创建库存--我无法在“源详细信息”下选择Vault凭据。
📷
当我手动将其放入并保存源时,同步会因以下错误而失败:
1.735 INFO Updating inventory 10: TEST
1.753 DEBUG Using system install of ansible-inventory CLI: /usr/bi
我很了解在tox.ini文件上使用passenv和setenv,但是我遇到了这样的情况:我想取消定义一些变量,这样它们就不会包含在通配符passenv中。
示例
[testenv]
passenv = ANSIBLE_*
# I how do I assure that ANSIBLE_INVENTORY is not passed?
我觉得我一定是错过了这个答案,因为这似乎是显而易见的,但我已经阅读了许多帖子,并没有能够做到这一点。
目前,我正在加载并根据库存主机名从文件中模板vars,如下所示:
- name: load unique dev vars from file
include_vars:
file: ~/ansible/env-dev.yml
when: inventory_hostname in groups[ 'devs' ]
- name: load unique prod vars from file
include_vars:
我正在尝试创建一个csv文件,其内容如下:
- name: Find Fex Enclosure
hosts: MAQ
gather_facts: no
connection: local
tasks:
- name: GET VENDOR & OS OF THE EQUIPEMENT
snmp_device_version:
host={{ inventory_hostname }}
version=3
integrity=xxxx
Ansible正在读取/etc/ansible/hosts文件并给出我不理解的错误。
ARNING]: * Failed to parse /etc/ansible/hosts with yaml plugin: Syntax
Error while loading YAML. did not find expected <document start> The error
appears to be in '/etc/ansible/hosts': line 2, column 1, but may be elsewhere
in the file dep