2015-05-22 3 views
4

В playbook копируем файлы с помощью sudo. Он имел обыкновение работать ... Пока мы не мигрировали в анзибль 1.9 ... С тех пор, он выдает следующее сообщение об ошибке:Ошибка копирования файла с sudo после обновления до версии 1.9

«соединение SSH закрыто ждет SUDO запрос пароля»

Я осуществляю SSH и sudo (через подсказку Ansible), и все остальные команды, выполняемые через sudo, успешны (только копия файла и шаблон сбой).

Моя команда:

анзибль-пьес -k --ask-стать проход --limit = testhost -C -D playbooks/debug.yml

и playbookd содержит:

- hosts: designsync 

    gather_facts: yes 

    tasks: 
    - name: Make sure the syncmgr home folder exists 
     action: file path=/home/syncmgr owner=syncmgr group=syncmgr mode=0755 state=directory 
     sudo: yes 
     sudo_user: syncmgr 

    - name: Copy .cshrc file 
     action: copy src=roles/designsync/files/syncmgr.cshrc dest=/home/syncmgr/.cshrc owner=syncmgr group=syncmgr mode=0755 
     sudo: yes 
     sudo_user: syncmgr 

Является ли это ошибкой или мне что-то не хватает?

François.

+0

Я вижу, что вы копируете файл .cshrc через - что, вероятно, означает, что удаленная оболочка для пользователя syncmgr - csh. Если это так, тогда .. да, это зависает (sudo + csh) с 1,9 и 1,8,4 по крайней мере. Я только что проверил 1.9.1, хотя, похоже, все работает нормально. – richq

+0

В какой версии вы работаете? В Ansible 1.9.0.x действительно была ошибка, связанная с sudo, но я думаю, что это происходило только тогда, когда вы проходили роли, а не в задачах. Но если вы используете 1.9.0.x, вы должны перейти на 1.9.1 и попробовать еще раз. – udondan

+0

Я на самом деле использую 1.9.1 ... Мастер Ansible запускает RedHat-6.4, а удаленный запуск работает под CentOS-6.5 ... В случае, если это имеет значение (sudo 1.8.6, OpenSSH 5.3). – francois

ответ

0

Ваш Playbook должен выглядеть следующим образом:

- hosts: designsync 

    gather_facts: yes 

    tasks: 
    - name: Make sure the syncmgr home folder exists 
     sudo: yes 
     sudo_user: syncmgr 
     file: 
     path: "/home/syncmgr" 
     owner: syncmgr 
     group: syncmgr 
     mode: 0755 
     state: directory 

    - name: Copy .cshrc file 
     sudo: yes 
     sudo_user: syncmgr 
     copy: 
     src: "roles/designsync/files/syncmgr.cshrc" 
     dest: "/home/syncmgr/.cshrc" 
     owner: syncmgr 
     group: syncmgr 
     mode: 0755 
0

В зависимости от точной версии анзибля вы используете, может быть ошибка с sudo_user (испытал это сам).

Попытка изменить ваши плейбуры с "sudo_user" на "remote_user".

Смежные вопросы