环境:

(1)服务端:192.168.9.9上安装anisble,默认配置:ansible_python_interpreter=/usr/bin/python

(2)被控制端:192.168.10.10,环境:/usr/bin/python为python3的软链接,已经安装libselinux-python

执行ansible的copy模块:ansible 192.168.10.10 -m copy -a 'src=/etc/ansible/hosts dest=/tmp/' 

报错:

解决方法一:不重启客户端

被控制端:192.168.10.10:

(1)ansible all -m copy -a 'src=/etc/ansible/hosts dest=/tmp/' -e 'ansible_python_interpreter=/usr/bin/python2.7'

其中/usr/bin/python2.7是本人python2的路径

解决方法二:不重启客户端

(1)被控制端:python2软链接至/usr/bin/python

解决方式一,解决方式二说明:

copy模块使用的selinux需要被控端是python2。

本人被控制端192.168.10.10服务器的/usr/bin/python是python3的软链接,且服务端192.168.9.9上anisble的属性值ansible_python_interpreter为/usr/bin/python,这样copy时使用的是python3环境,导致报错。

解决方法三:重启客户端:192.168.10.10:

(1)修改客户端的/etc/selinux/config中SELINUX=disabled,重启客户端192.168.10.10


 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐