我对ansible并不陌生,我试图运行一本剧本来更改主机的root密码,所以我正在使用pexpect模块的Expect命令。 我成功地在运行剧本的主机和本地服务器上使用python 2.7安装了pexpect v4.7。 但是,当运行剧本时,它会失败并显示错误:“需要pexpect python模块”
根据要求,pexpect和python的版本正确
Files installed on hosts for pexpect and python:
/usr/lib/python2.7/site-packages/pexpect
/usr/lib/python2.7/site-packages/pexpect-4.7.0-py2.7.egg-info
/usr/pexpect-4.7.0
/usr/pexpect-4.7.0/doc/api/pexpect.rst
/usr/pexpect-4.7.0/pexpect.egg-info
/usr/pexpect-4.7.0/tests/pexpectTest.py
/usr/pexpect-4.7.0/pexpect
/usr/pexpect-4.7.0/build/lib/pexpect
剧本如下:
---
- hosts: all
become: true
tasks:
- name: change password for root user
expect:
command: passwd root
responses:
(?i)password: "password"
我做错什么了吗?请帮忙!
答案 0 :(得分:0)
我设法通过从所有主机上删除pexpect,然后相应地安装epel-release,pip和pexpect软件包来解决此问题。