内容简介:导致读不到 inventory,同时使用两种格式可以兼容各个版本,如下观察 ubuntu 和 centos 的相关变量如下,最终采用
配置文件变化
导致读不到 inventory,同时使用两种格式可以兼容各个版本,如下
cat .ansible.cfg [defaults] # inventory control group_vars # < 2.8 hostfile = xxx # >=2.8 inventory = xxx
ansible 内置变量变化
ansible_distribution_version
在 centos 上在 2.7.11 和 2.8.1 结果不同,导致相同的 playbook 在升级 ansible 后无法正常运行
观察 ubuntu 和 centos 的相关变量如下,最终采用 ansible_lsb.release
来代替 ansible_distribution_version
,可以加绒Ubuntu 和 centos 中ansible 的各个版本。
# on ubuntu trusty ## ansible 1.5.4 root@iZhp33qecbruyuw1awh6rfZ:~# ansible localhost -m setup -a "filter=ansible_os_family" localhost | success >> { "ansible_facts": { "ansible_os_family": "Debian" }, "changed": false } root@iZhp33qecbruyuw1awh6rfZ:~# ansible localhost -m setup -a "filter=ansible_distribution_version" localhost | SUCCESS => { "ansible_facts": { "ansible_distribution_version": "14.04" }, "changed": false } root@iZhp33qecbruyuw1awh6rfZ:~# ansible localhost -m setup -a "filter=ansible_lsb" localhost | success >> { "ansible_facts": { "ansible_lsb": { "codename": "trusty", "description": "Ubuntu 14.04.5 LTS", "id": "Ubuntu", "major_release": "14", "release": "14.04" } }, "changed": false } ## ansible 2.8.1 root@iZhp33qecbruyuw1awh6rfZ:~# ansible localhost -m setup -a "filter=ansible_os_family" localhost | SUCCESS => { "ansible_facts": { "ansible_os_family": "Debian" }, "changed": false } root@iZhp33qecbruyuw1awh6rfZ:~# ansible localhost -m setup -a "filter=ansible_distribution_version" localhost | SUCCESS => { "ansible_facts": { "ansible_distribution_version": "14.04" }, "changed": false } root@iZhp33qecbruyuw1awh6rfZ:~# ansible localhost -m setup -a "filter=ansible_lsb" localhost | success >> { "ansible_facts": { "ansible_lsb": { "codename": "trusty", "description": "Ubuntu 14.04.5 LTS", "id": "Ubuntu", "major_release": "14", "release": "14.04" } }, "changed": false } # on centos 7.5 ## ansible 2.7.11 [root@node11 ~]# ansible localhost -m setup -a "filter=ansible_os_family" localhost | SUCCESS => { "ansible_facts": { "ansible_os_family": "RedHat" }, "changed": false } [root@node11 ~]# ansible localhost -m setup -a "filter=ansible_distribution_version" localhost | SUCCESS => { "ansible_facts": { "ansible_distribution_version": "7.5.1804" }, "changed": false } [root@node11 ~]# ansible localhost -m setup -a "filter=ansible_lsb" localhost | SUCCESS => { "ansible_facts": { "ansible_lsb": { "codename": "Core", "description": "CentOS Linux release 7.5.1804 (Core)", "id": "CentOS", "major_release": "7", "release": "7.5.1804" } }, "changed": false } ## ansible 2.8.1 [root@node11 ~]# ansible localhost -m setup -a "filter=ansible_os_family" localhost | SUCCESS => { "ansible_facts": { "ansible_os_family": "RedHat", "discovered_interpreter_python": "/usr/bin/python" }, "changed": false } [root@node11 ~]# ansible localhost -m setup -a "filter=ansible_distribution_version" localhost | SUCCESS => { "ansible_facts": { "ansible_distribution_version": "7" }, "changed": false } [root@node11 ~]# ansible localhost -m setup -a "filter=ansible_lsb" localhost | SUCCESS => { "ansible_facts": { "ansible_lsb": { "codename": "Core", "description": "CentOS Linux release 7.5.1804 (Core)", "id": "CentOS", "major_release": "7", "release": "7.5.1804" } }, "changed": false }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。