目前,我在我的Ansible Jinja模板中有如下内容
{% for key in filebeat.values() %}
{% for x in key.servers %}
{% if x in {{ ansible_hostname }} %}
text-goes-here
{% endif %}
{% endfor %}
{% endfor %}
在执行“ansible剧本”时,会显示以下错误:
AnsibleError:模板字符串时的模板错误:预期的令牌':',got '}
对于Jinja,我似乎不能使用if语句中的{{ ansible_hostname
我正在尝试构建一个/etc/host文件;但是,在运行一个剧本时,我似乎无法让主机显示出来,但是通过命令行,它可以工作到一定程度。
这是我的ansible.cfg文件:
[defaults]
ansible_managed = Please do not change this file directly since it is managed by Ansible and will be overwritten
library = ./library
module_utils = ./module_utils
action_plugins = plugins/actions
callback
我正在使用ansible模板来生成配置文件。问题是我在我的模板中有很多条件语句,我想通过使用一个简单的条件选择正确的变量文件来删除这些语句。 我怎样才能做到这一点..例如:代替- if os is defined in input variable file and os == 'centos'
if osver =7
username='centos7'
password='centos7passwd'
else if sver =8
username='centos8'
password='
我试图在变量中使用变量。
vars:
env: dev
groupname: (Dynamic variable which comes as stdout of ansible task )
任务:
- name: var to trim
set_fact:
trim_var: "{{ groupname.split(\"test-{{ env }}-\") }}"
但它并没有用dev代替env。有人能帮忙吗?
我有不同的剧本定义,使用相同的角色。在其中一个角色模板中,我必须编写特定NIC卡的IP地址,因为它取决于主机,因此它在我的剧本中定义。
因此,在我的剧本中,我定义了这个var:
vars:
# NIC I want to use
- nic_card: ens192
在我的角色main.yml文件中,我尝试这样做:
host_specific_address: "{{ ansible_facts['ansible_{{ nic_card }}']['ipv4']['address'] }}"
如您所见,我尝
我在Hashicorp中有一堆key=value格式的ssh键,我已经设置了Ansible以便能够解决这个问题。
我正在尝试用我存储的密钥设置一些新用户,但是失败了。基本信息(用户名、组等)在我创建的一个名为linux_users的数据库列表中。
以下是我如何抓住整个秘密:
- name: set the required secret as fact
set_fact:
secret: "{{ lookup('hashi_vault', 'secret=/secret/data/Exploit/PAM url={{ vault_url }} tok