内容简介:导致读不到 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
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
第一本Docker书 修订版
詹姆斯·特恩布尔 (James Turnbull) / 李兆海、刘斌、巨震 / 人民邮电出版社 / 2016-4-1 / CNY 59.00
Docker是一个开源的应用容器引擎,开发者可以利用Docker打包自己的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 本书由Docker公司前服务与支持副总裁James Turnbull编写,是Docker开发指南。本书专注于Docker 1.9及以上版本,指导读者完成Docker的安装、部署、管理和扩展,带领读者经历从测试到生产的整个开发生......一起来看看 《第一本Docker书 修订版》 这本书的介绍吧!