ansible 从 2.7.11 升级到 2.8.1 产生的问题处理办法

栏目: 服务器 · 发布时间: 5年前

内容简介:导致读不到 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
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图解服务器端网络架构

图解服务器端网络架构

[日] 宫田宽士 / 曾薇薇 / 人民邮电出版社 / 2015-4 / 79.00元

本书以图配文,详细说明了服务器端网络架构的基础技术和设计要点。基础设计是服务器端网络架构最重要的一个阶段。本书就立足于基础设计的设计细分项目,详细介绍各细分项目的相关技术和设计要点。全书共分为5章,分别讲述进行物理设计、逻辑设计、安全设计和负载均衡设计、高可用性设计以及管理设计时所必需的技术和设计要点。一起来看看 《图解服务器端网络架构》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具