ansible 收集事实无法检索 ansible_distribution_release ("module invocation has junk after the json data")
ansible gathering facts fails to retrieve ansible_distribution_release ("module invocation has junk after the json data")
运行:
ansible -m setup <hostname>
(主机名是 ubuntu 20.04 桌面)
returns 警告:
[WARNING]: Module invocation had junk after the JSON data: AttributeError("module 'platform' has no attribute 'dist'")
并且输出不显示任何字段“ansible_distribution_release”。
正如预期的那样,使用此变量的任务失败:
'ansible_distribution_release' is undefined
我可能遗漏了什么?
编辑:问题发生在 ansible 2.5.1 上,并由 运行 较新版本的 ansible 解决,请参阅已接受的答案。
我认为你是 运行 旧版本的 Ansible。
在 2018 年 12 月 10 日的提交 61b1da 中删除了 Ansible 中 platform.dist()
的使用。Python 本身在 [=21= 中放弃了对 platform.dist()
的支持] 3.8.
使用 Ansible 2.9.16,运行 setup
模块针对 Ubuntu 20.04 系统产生:
$ ansible all -i 192.168.122.212, -u root -m setup | grep ansible_distribution
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/os-release",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "20",
"ansible_distribution_release": "focal",
"ansible_distribution_version": "20.04",
运行:
ansible -m setup <hostname>
(主机名是 ubuntu 20.04 桌面)
returns 警告:
[WARNING]: Module invocation had junk after the JSON data: AttributeError("module 'platform' has no attribute 'dist'")
并且输出不显示任何字段“ansible_distribution_release”。
正如预期的那样,使用此变量的任务失败:
'ansible_distribution_release' is undefined
我可能遗漏了什么?
编辑:问题发生在 ansible 2.5.1 上,并由 运行 较新版本的 ansible 解决,请参阅已接受的答案。
我认为你是 运行 旧版本的 Ansible。
在 2018 年 12 月 10 日的提交 61b1da 中删除了 Ansible 中 platform.dist()
的使用。Python 本身在 [=21= 中放弃了对 platform.dist()
的支持] 3.8.
使用 Ansible 2.9.16,运行 setup
模块针对 Ubuntu 20.04 系统产生:
$ ansible all -i 192.168.122.212, -u root -m setup | grep ansible_distribution
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/os-release",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "20",
"ansible_distribution_release": "focal",
"ansible_distribution_version": "20.04",