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
}

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

查看所有标签

猜你喜欢:

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

AI·未来

AI·未来

李开复 / 浙江人民出版社 / 2018-9-1 / 62

迎来“深度学习”这项重大技术突破后,人工智能已经从发明的年代步入了实干的年代。 现在已是未来,我们所处的时代,已经与过去完全不同。面对已经来临的、机遇与挑战并存的人工智能时代,我们必须了解人工智能,跟上人工智能发展的脚步,这样才能不被时代淘汰。 全球目前人工智能发展的情况是怎样的? 全球的人工智能巨头企业有哪几家,现在它们有什么贡献?未来它们又将如何改变世界? 人工智能已经......一起来看看 《AI·未来》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具