Ansible从Ansible事实值中删除引号
我有以下任务来设置IPv6而不是禁用设置。当我使用Ansible从Ansible事实值中删除引号,ansible,Ansible,我有以下任务来设置IPv6而不是禁用设置。当我使用ansible\u default\u ipv4.interface时,它的值包括引号值。如何从以下任务的ansible事实值中删除引号 - name: Ensure IPv6 not disabled with sysctl sysctl: name: "{{ item }}" value: '0' state: present sysctl_file: /etc/sysctl.conf
ansible\u default\u ipv4.interface
时,它的值包括引号值。如何从以下任务的ansible事实值中删除引号
- name: Ensure IPv6 not disabled with sysctl
sysctl:
name: "{{ item }}"
value: '0'
state: present
sysctl_file: /etc/sysctl.conf
reload: yes
with_items:
- "net.ipv6.conf.{{ ansible_default_ipv4.interface }}.disable_ipv6"
ignore_errors: yes
这给出了以下信息
cannot stat /proc/sys/net/ipv6/conf/\"ens192\"/disable_ipv6: No such file or directory\
以下是事实值:
"ansible_default_ipv4": {
"alias": "ens192",
"interface": "ens192",
"mtu": 1500,
"type": "ether"
},
谢谢
SR在Ansible 2.9.6中对我有效。比如说
-sysctl:
名称:“{{item}}”
值:“1”
寄存器:结果
有以下项目:
-“net.ipv4.conf.{{ansible\u default\u ipv4.interface}}.forwarding”
-调试:
var:结果
给予
TASK[sysctl]****
确定:[localhost]=>(item=net.ipv4.conf.eth0.forwarding)
任务[调试]****
确定:[本地主机]=>
结果:
更改:false
msg:所有项目都已完成
结果:
-ansible_循环变量:项
更改:false
失败:false
调用:
模块参数:
忽略错误:错误
名称:net.ipv4.conf.eth0.0
重新加载:正确
国家:现在
sysctl_文件:/etc/sysctl.conf
sysctl_集:false
值:“1”
项目:net.ipv4.conf.eth0.0
在Ansible 2.9.6中适用于我。比如说
-sysctl:
名称:“{{item}}”
值:“1”
寄存器:结果
有以下项目:
-“net.ipv4.conf.{{ansible\u default\u ipv4.interface}}.forwarding”
-调试:
var:结果
给予
TASK[sysctl]****
确定:[localhost]=>(item=net.ipv4.conf.eth0.forwarding)
任务[调试]****
确定:[本地主机]=>
结果:
更改:false
msg:所有项目都已完成
结果:
-ansible_循环变量:项
更改:false
失败:false
调用:
模块参数:
忽略错误:错误
名称:net.ipv4.conf.eth0.0
重新加载:正确
国家:现在
sysctl_文件:/etc/sysctl.conf
sysctl_集:false
值:“1”
项目:net.ipv4.conf.eth0.0
不确定为什么会出现错误,您使用的是最新的ansible版本吗?顺便说一句,由于您正在用_items子句填充中的“item”,因此不需要使用name
行中的花括号,也就是说,您可以使用:name:item
但是,您的任务应该按现在的方式工作。不确定为什么会出现错误,您使用的是最新的ansible版本吗?顺便说一句,由于您正在用_items
子句填充中的“item”,因此您不需要使用name
行中的花括号,也就是说,您可以使用:name:item
但是,您的任务应该像现在一样工作。同样的情况对我不起作用。我使用的是ansible 2.9.10
客户机是CentOS 8
IMHO,这不是sysctl问题。我会测试连接,例如,“{{'begin'.~ansible\u default\u ipv4.interface~'.end'}”
第一次像这样运行它,net.ipv6.conf.“{{{{ansible\u default\u ipv4.interface}”。禁用ipv6
。它在/etc/sysctl.conf
文件中添加了这一行。从文件中删除此文件后,运行正常。谢谢,我也没用。我使用的是ansible 2.9.10
客户机是CentOS 8
IMHO,这不是sysctl问题。我会测试连接,例如,“{{'begin'.~ansible\u default\u ipv4.interface~'.end'}”
第一次像这样运行它,net.ipv6.conf.“{{{{ansible\u default\u ipv4.interface}”。禁用ipv6
。它在/etc/sysctl.conf
文件中添加了这一行。从文件中删除此文件后,运行正常。谢谢。