我有许多系统连接到我的Ansible服务器,它们位于CentOS 5.X和CentOS 6.X.我已经将CentOS 5.x的python升级到2.6版本并创建了一个软链接,如下所示在CentOS 5.x节点中使用Ansible:
# ll /usr/local/python
lrwxrwxrwx 1 root root 25 Jan 12 22:36 /usr/local/python -> /opt/python2.6/bin/python
现在我正在运行ansible-playbook命令,如下所示:
# Centos 5.x:
ansible-playbook copy.yml -e 'ansible_python_interpreter=/usr/local/python'
# Centos 6.x:
ansible-playbook copy.yml
为了概括CentOS 5.x和CentOS 6.x系统的命令,我决定将我的Python路径映射为环境变量。
.bash_profile的条目应该是什么?还有其他解决方案吗?
答案 0 :(得分:1)
正确的方法是使用库存。
这样的事情:
[centos5]
host1
host2
[centos5:vars]
ansible_python_interpreter=/usr/local/python
[centos6]
host3
host4
这样ansible_python_interpreter
只会覆盖centos5主机。