Сбой Ansible Playbook только на конкретном сервере - PullRequest
0 голосов
/ 03 февраля 2019

Ниже возможность подключения ansible-playbook прекрасно работает для всех моих серверов, кроме dest_svr.Сбой команды ниже.

ansible-playbook -vvvv /opt/test/Auto/site.yml  -i /opt/test/Auto/hosts.txt -e "source_host=dest_svr execmd=echo source_user=user2"

(0, '', 'OpenSSH_7.7p1 (сборка CentrifyDC 5.5.1-395), OpenSSL 1.0.2o-fips 27 марта 2018 года \ r \ ndebug1:Чтение данных конфигурации /home/user1/.ssh/config\r\ndebug1: Чтение данных конфигурации / etc / centrifydc / ssh / ssh_config \ r \ ndebug1: / etc / centrifydc / ssh / ssh_config строка 3: Применение параметров для * \ r\ ndebug1: auto-mux: пробная версия существующего мастера \ r \ ndebug2: fd 3 O_NONBLOCK \ r \ ndebug2: mux_client_hello_exchange: версия мастера 4 \ r \ ndebug3: mux_client_forwards: переадресация запросов: 0 локально, 0 удаленно \ r \ mux_dex_3_rex3_d_b_6: входящий \ r \ ndebug3: mux_client_request_alive: входящий \ r \ ndebug3: mux_client_request_alive: done pid = 57768 \ r \ ndebug3: mux_client_request_session: запрос сеанса отправлен:Сбой чтения заголовка: Сломанный канал \ r \ ndebug2: Получен статус выхода от мастера 0 \ r \ nОбщее соединение с dest_svr закрыто. \ r \ n ') Фатально: [dest_svr]: FAILED!=> {"change": false, "module_stderr": "OpenSSH_7.7p1 (сборка CentrifyDC 5.5.1-395), OpenSSL 1.0.2o-fips 27 марта 2018 года \ r \ ndebug1: чтение данных конфигурации / home / user1 /.ssh / config \ r \ ndebug1: чтение данных конфигурации / etc / centrifydc / ssh / ssh_config \ r \ ndebug1: / etc / centrifydc / ssh / ssh_config строка 3: применение параметров для * \ r \ ndebug1: auto-mux: проверка существующихмастер \ г \ ndebug2: Fd 3 параметра O_NONBLOCK \ г \ ndebug2: mux_client_hello_exchange: мастер версии 4 \ R \ ndebug3: mux_client_forwards: запрос переадресацию: 0 локальная, 0 удаленный \ г \ ndebug3: mux_client_request_session: ввод \ г \ ndebug3: mux_client_request_alive:ввод \ r \ ndebug3: mux_client_request_alive: done pid = 57768 \ r \ ndebug3: mux_client_request_session: отправленный запрос сеанса \ r \ ndebug1: mux_client_request_session: идентификатор основного сеанса: 2 \ r \ конвейер_обнаружения: сбойный заголовок: mux: пакет_объектов: не найденndebug2: получен статус выхода от master 2 \ r \ nОбщее соединение с dest_svr закрыто. \ r \ n "," module_stdout ":" /home/user2/.ansible/tmp/ansible-tmp-1549081965.65-147775141838271 / AnsiballZ_setup.py: строка 3: _ANSIBALLZ_WRAPPER: команда не найдена \ r \ n / home / user2 / .ansible / tmp / ansible-tmp-1549081965.65-147775141838271 / строка синтаксиса: 4 строка синтаксиса:ошибка рядом с неожиданным токеном ('\r\n/home/user2/.ansible/tmp/ansible-tmp-1549081965.65-147775141838271/AnsiballZ_setup.py: line 4: def _ansiballz_main (): '\ r \ n "," msg ":" СБОЙ МОДУЛЯ \ nСмотрите stdout / stderr для точной ошибки "," rc ": 2}, чтобы повторить попытку, используйте: -limit @ / opt / test / Auto / site.retry

PLAY RECAP ***************************************************************************************************************************************************************************************************************** dest_svr: ok = 0 изменено = 0 недоступно = 0 не удалось = 1

Сведения об исходном сервере Ansible:

[user1@source_svr: Auto]$ uname -a
Linux source_svr 3.10.0-957.el7.x86_64 #1 SMP Thu Oct 4 20:48:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

[user1@source_svr: Auto]$ ansible --version
ansible 2.7.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/user1/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Sep 12 2018, 05:31:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

Сведения о файле Ansible Host:

cat /opt/test/Auto/hosts.txt
[dest_svr]
dest_svr ansible_ssh_common_args="-t -o UserKnownHostsFile=/dev/null  -o StrictHostKeyChecking=no -o ControlPersist=30m" ansible_shell_executable=/bin/bash ansible_shell_type=sh ANSIBLE_HOST_KEY_CHECKING=false ansible_python_interpreter= ansible_ssh_private_key_file=/opt/test/ssh_key/id_rsa USER_RUN=user2

А теперь сведения о сервере назначения:

user2@dest_svr:~$ uname -a
SunOS dest_svr 5.11 11.3 sun4v sparc sun4v
user2@dest_svr:~$ python --version                                                                                                                                                                                    
Python 2.7.14

Примечание. Я хочувносить изменения только в мою пьесу и не желать ничего менять в ansible.cfg, так как это не должно влиять на другие книги.

1 Ответ

0 голосов
/ 03 февраля 2019

Насколько я могу судить, это вызвано следующим:

line 3: _ANSIBALLZ_WRAPPER: command not found

, то есть этой строкой , но небольшое копание, по-видимому, означает, что линии SunOS Shebang не переносят указание наисполняемый файл, который сам по себе также является shebang: Python3 строка shebang не работает должным образом

Исправление, как я могу сказать, было бы установить -e ansible_python_interpreter=/the/path/to/the/real/python или я видел некоторые люди пытаются -e 'ansible_python_interpreter="/bin/env python"' (я изменил путь к env, поскольку очевидно SunOS не имеет env в /usr/bin/env, но у меня нет экземпляра SunOSчтобы проверить эту теорию, поэтому предостережение emptor )

...