Назад | Перейти на главную страницу

Ansible ожидает непроходящего ответа

Я пытаюсь использовать Ansible с модулем ожидать, чтобы присоединить сервер Linux к активному каталогу с помощью sssd.

код из задачи:

- name: join domain
  expect:
    command: /bin/bash -c "/usr/sbin/realm join --user=join-user domain.loc"
    response:
       password: "secret"

Я получил код по этой ссылке, так как я погуглил, прежде чем спрашивать здесь: https://groups.google.com/forum/#!msg/ansible-project/L0Es3aGAKV8/DmPRaiGcBwAJ

Фактическая проблема в том, что Ansible не отвечает на запрос. Потому что, когда я запускаю playbook, он просто истекает. Я тестировал это напрямую через ssh, и он работает. Учетные данные в порядке, и соединение с контроллером домена работает.

Вывод playbook по истечении времени ожидания:

fatal: [192.168.11.1]: FAILED! => {
    "changed": true, 
    "cmd": "/bin/bash -c \"/usr/sbin/realm join --user=join-user domain.loc\"", 
    "delta": "0:00:30.112149", 
    "end": "2017-03-22 08:37:18.320832", 
    "failed": true, 
    "invocation": {
        "module_args": {
            "chdir": null, 
            "command": "/bin/bash -c \"/usr/sbin/realm join --user=join-user domain.loc\"", 
            "creates": null, 
            "echo": false, 
            "removes": null, 
            "responses": {
                "password": "secret"
            }, 
            "timeout": 30
        }, 
        "module_name": "expect"
    }, 
    "msg": "command exceeded timeout", 
    "rc": null, 
    "start": "2017-03-22 08:36:48.208683", 
    "stdout": "Password for join-user: ", 
    "stdout_lines": [
        "Password for join-user: "
    ]
}

Любая помощь приветствуется.

ответ должен соответствовать строке stdout, или вы можете использовать регулярное выражение, в вашем случае вы можете использовать:

response:
  Password for join-user: "secret"

или

response:
  Password for .*: "secret"

из док

Вопрос или ключ под ответами - это совпадение регулярного выражения Python. Поиск без учета регистра обозначается префиксом? I.