Похоже, что версия pexpect
модуля Python, поставляемого с RHEL7, слишком старая для Ansible (RHEL7 имеет pexpect 2.3, а Ansible хочет 3.3 или выше). Лучше всего использовать модуль shell
или command
для запуска expect
; пример этого есть в документации для модуля shell
:
# You can use shell to run other executables to perform actions inline
- name: Run expect to wait for a successful PXE boot via out-of-band CIMC
shell: |
set timeout 300
spawn ssh admin@{{ cimc_host }}
expect "password:"
send "{{ cimc_password }}\n"
expect "\n{{ cimc_name }}"
send "connect host\n"
expect "pxeboot.n12"
send "\n"
exit 0
args:
executable: /usr/bin/expect
delegate_to: localhost