2016-12-19 8 views
3

Я новичок в Ansible и пытаюсь запустить локальный скрипт на удаленном узле с помощью модуля сценария. Моя задача определяется следующим образом:Ansible script module - разрешено разрешение на управление сокетами

- name: Initial setup 
    script: ../../../initial_setup.sh 
    become: yes 

Когда я бегу пьес я получаю ошибку ниже, но я не ясно, о чем собственно проблема. Означает ли это, что проблема связана с узлом или проблема с передачей сценария?

fatal: [default]: FAILED! => { 
    "changed": true, 
    "failed": true, 
    "invocation": { 
     "module_args": { 
      "_raw_params": "../../../initial_setup.sh" 
     }, 
     "module_name": "script" 
    }, 
    "rc": 127, 
    "stderr": "Control socket connect(/tmp): Permission denied\r\nControlSocket /tmp already exists, disabling multiplexing\r\nConnection to 127.0.0.1 closed.\r\n", 
    "stdout": "/bin/sh: 1: /home/ubuntu/.ansible/tmp/ansible-tmp-1482161914.64-107588947758469/initial_setup.sh: not found\r\n", 
    "stdout_lines": [ 
     "/bin/sh: 1: /home/ubuntu/.ansible/tmp/ansible-tmp-1482161914.64-107588947758469/initial_setup.sh: not found" 
    ] 
} 
+0

Проверьте, не работает ли какой-либо другой модуль? Например: 'shell: echo Hello' – helloV

+0

Вы уверены, что' default' - это удаленный хост? –

+0

Я уверен, что 'default' - это удаленный хост, поскольку он работает с другими задачами. – Phill

ответ

2

TL; др

Обеспечить -o ControlMaster=auto определен в ssh_args в анзибле in ansible.cfg:

[ssh_connection] 
ssh_args = -o ControlMaster=auto -o ControlPersist=60s 

Следующая ошибка связана с соединительным SSH мультиплексирования:

Гнездо управления подключения (/ TMP): Отказано в
ControlSocket/TMP уже существует, отключив мультиплексирование
Подключение к 127.0.0.1 закрыто

Он пытался создать сокет непосредственно на /tmp, а не внутри /tmp .. Некоторые другие параметры, определенные где-то для SSH, могут играть здесь роль.

Установка значения ControlMaster на auto заставляет SSH создавать новое главное соединение, если существующий не существует (или возникают проблемы, как здесь?).