Ansible从Ansible事实值中删除引号

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

我有以下任务来设置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
    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
文件中添加了这一行。从文件中删除此文件后,运行正常。谢谢。