0

注意:Puppet 到 Ansible 迁移评估的一部分。Ansible 菜鸟。

CentOS 7 返回operatingsystemrelease(puppet) 或ansible_distribution_version(ansible) 为 7.2.1511 而不仅仅是 7.2。因此,在 puppet 中,我们使用以下 hack。

# Hack for CentOS 7. operatingsystemrelease includes third part of release version eg 7.2.1511
if [[ "$(facter operatingsystem)" == "CentOS" && "$(facter operatingsystemmajrelease)" == "7" ]]
then
    export FACTER_operatingsystemrelease=$(facter operatingsystemmajrelease).$(facter --json os | grep minor | awk '{ print $2 }' | tr '",' ' ' | sed -e 's/ //g')
fi

设置环境变量FACTER_operatingsystemrelease会覆盖该operatingsystemrelease值。这只需要在 CentOS 7 上发生。CentOS 6 工作正常。

在 Ansible 中进行这项工作的等效方法是什么?

4

1 回答 1

0

您可以将事实覆盖为任何其他变量:

set_fact: ansible_distribution_version="{{ ansible_distribution_version | regex_replace('7\.2\.\d+','7.2') }}"
when: ansible_distribution == 'CentOS'
于 2016-09-15T18:21:00.383 回答