Можно ли по-прежнему использовать pexpect в RedHat7 или есть альтернативный способ выполнения команды и ответа на запросы? - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь использовать pexpect в Redhat7 для ansible, но я не смог его установить.Я получал только версию pexpect.noarch 2.3-11.el7 @ RHEL7.Или есть альтернатива для pexpect Выполнить команду и ответить на запросы?

1 Ответ

1 голос
/ 14 мая 2019

Похоже, что версия 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
...