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

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

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

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

查看所有标签

猜你喜欢:

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

Search User Interfaces

Search User Interfaces

Marti A. Hearst / Cambridge University Press / 2009-9-21 / USD 59.00

搜索引擎的本质是帮助用户更快、更方便、更有效地查找与获取所需信息。在不断改进搜索算法和提升性能(以技术为中心)的同时,关注用户的信息需求、搜寻行为、界面设计与交互模式是以用户为中心的一条并行发展思路。创新的搜索界面及其配套的交互机制对一项搜索服务的成功来说是至关重要的。Marti Hearst教授带来的这本新作《Search User Interfaces》即是后一条思路的研究成果,将信息检索与人......一起来看看 《Search User Interfaces》 这本书的介绍吧!

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

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具