Ansible 设置模块的过滤器在与 playbook 一起使用时不起作用

维杰什

我正在尝试filter setup为特定的模块进行模块fact,但在使用playbook. 它适用于adhoc command!

示例剧本:

---
- name: facts test
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:
  - ansible.builtin.setup:
      filter:
        - "ansible_all_ipv4_addresses"

  - debug: var=ansible_all_ipv4_addresses
...

输出:

TASK [debug var=ansible_all_ipv4_addresses] ****************************************************************
ok: [localhost] => {
    "ansible_all_ipv4_addresses": "VARIABLE IS NOT DEFINED!"
} 

预期输出:

TASK [debug var=ansible_all_ipv4_addresses] ****************************************************************
ok: [localhost] => {
    "ansible_all_ipv4_addresses": [
        "192.168.1.1"
    ]
} 

Adhoc 命令ansible localhost -m setup -a "filter=ansible_all_ipv4_addresses"产生正确的输出。
知道这里有什么问题吗?
我测试过的 Ansible 版本:

$ ansible --version
ansible 2.9.6 

谢谢,

玩具达人

这几乎肯定是你的 ansible 版本的问题。filter参数采用了listsince ansible-coreversion 2.11,您可能使用的是较旧的版本。

你有两种可能:

  • 将过滤器更改为 filter: "ansible_all_ipv4_addresses"
  • 更新到最新版本的ansible

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Ansible Playbook与特定的小组一起玩

使用 Python 模块运行 Ansible Playbook 时出现导入错误

在Ansible中将json_query过滤器与starts_with一起使用时发生JMESPathTypeError

如何使用Ansible Playbook为Nagios设置密码

nginx 无法使用 ansible playbook

Ansible-当条件在Playbook级别对vars_prompt不起作用时

与 Gooey 模块一起使用时功能不起作用

Ansible Playbook Shell模块,转义特殊字符

我需要过滤Ansible Playbook中的输出

使用Ansible-Playbook隐藏额外的输出

使用 ansible-playbook 安装 Gradel 5.4.1

使用 ansible playbook 更改 ssh 端口

使用Ansible Playbook执行curl -X

使用Python API运行Ansible-Playbook

在 Playbook 中使用 Ansible 库存 IP

无法使用 ansible playbook 安装 dnspython

在 Ansible playbook 中使用 parse_xml

无法使用 becomeUser 运行 ansible-playbook

是否可以使用Ansible Playbook与with_dict和with_nested一起循环播放?

使用ansible-vault加密Ansible Playbook .pem私钥

Ansible:与docker相关的命令在playbook中不起作用,但是一旦直接运行就起作用

如何使用Ansible将多个过滤器分成多行?

如何使用执行期间生成的变量动态设置 Ansible playbook 中的主机字段?

将过滤器与切片数组方法一起使用不起作用

Ansible playbook 无法找到自定义模块

注册输出 ansible playbook

Ansible playbook 抱怨引号

使用对象过滤器模块的问题

在 Ansible playbook 中为 ufw 任务动态设置变量内容