ansible модуль pexpect с приглашением на следующей строке и более чем одним приглашением - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть скрипт, который предлагает мне ввести пароль дважды, но приглашение появляется в следующей строке, как показано ниже: -

Password: (I enter the Password here) Re-enter Password: (I enter the same Password here)

Я пытаюсь автоматизировать это с помощью Ansible модуль pexpect и у меня есть что-то, что не работает: -

- name: myscript --setup-users
  become: yes
  become_user: someadmin
  expect:
    command: 'myscript --setup-users'
    responses:
      "Password:": "somepassword"
      "Re-enter Password:": "somepassword"
  args:
    chdir: /home/someadmin/
  when:  someuser_out.stdout.find("someuser") == -1

Я выполняю проверку, чтобы увидеть, присутствует ли «someuser» или нет перед этой игрой.

Это код не работает.

Пожалуйста, помогите здесь

1 Ответ

0 голосов
/ 05 апреля 2020

Получил это для работы с "\ r \ n". изменение кода показано ниже: -

- name: myscript --setup-users
  become: yes
  become_user: someadmin
  expect:
    command: 'myscript --setup-users'
    responses:
      "password:": "somepassword"   #password for first prompt
      "\r\n:": "someotherpassword"  #password for second prompt which comes in the next line
      "\r\n:": "someotherpassword"  #same as above
  args:
    chdir: /home/someadmin/
  when:  someuser_out.stdout.find("someuser") == -1
...