ansible 从 2.7.11 升级到 2.8.1 产生的问题处理办法
配置文件变化
导致读不到 inventory,同时使用两种格式可以兼容各个版本,如下
cat .ansible.cfg [defaults] # inventory control group_vars # < 2.8 hostfile = xxx # >=2.8 inventory = xxx library = /usr/share/ansible: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 }
相关推荐
laisean 2020-09-27
onepiecedn 2020-10-29
guchengxinfen 2020-10-12
houdaiye 2020-09-23
逆时针 2020-08-19
pzczyy 2020-08-19
annan 2020-08-02
hpujsj 2020-07-26
annan 2020-07-18
逆时针 2020-06-21
annan 2020-06-20
逆时针 2020-06-14
逆时针 2020-06-14
awoyaoc 2020-06-12
逆时针 2020-06-09
piaotiejun 2020-06-07
awoyaoc 2020-06-07