LINUX.ORG.RU
решено ФорумAdmin

Ansible. Не работают handlers!

 ,


1

1

Доброго веремени суток! Изредка работаю с таким продуктом как Ansible, поэтому опыта в его конфигурировании мало. Сейчас прилитела задача написать несколько ролей для конфигурирования серверов. Написал playbook, но к нему не срабатывает handler с ошибкой " ERROR! The requested handler 'restart ssh' was not found in either the main handlers list nor in the listening handlers list " Т.е. он не видит обработчик, хотя он есть и находится в директории handlers уровнем выше.

ansible 2.3.1.0

Файлы конфигурации #/etc/ansible/roles/ssh/tasks/main.yml http://notepad.idzaaus.org/x8shmkcrwnvkra5syjoanrwbvk2t5yg3#7

#/etc/ansible/roles/ssh/handlers/main.yml http://notepad.idzaaus.org/x8shmkcrwnvkra5syjoanrwbvk2t5yg3#6



Последнее исправление: denyasmail (всего исправлений: 4)

Ответ на: комментарий от denyasmail

Там у меня в верном регистре все, т.е с маленькой буквы

0_0

AlexVR ★★★★★
()

#/etc/ansible/roles/ssh/tasks/main.yml

hosts: preinstall
tasks:

Похоже ты не понимаешь сути ролей. И вангую, запускаешь так: ansible-playbook /etc/ansible/roles/ssh/tasks/main.yml?

Чтобы заработало, убираешь из файла выше эти строчки, и отступы уменьшаешь соответственно. Создаешь в /etc/ansible/ плейбук вида:

- name: pimp my hosts
  hosts: preinstall
  roles:
    -role: ssh
И уже его запускаешь

Deleted
()
Последнее исправление: MyLittleLoli (всего исправлений: 1)
Ответ на: комментарий от Deleted

Спасибо большое за подсказку! Ты был прав. Кое-что усвоил про роли) А так все заработало!

denyasmail
() автор топика
Ответ на: комментарий от Deleted

Есть у меня такой вот файл с переменными: http://notepad.idzaaus.org/x8shmkcrwnvkra5syjoanrwbvk2t5yg3#8

В Debian based системах есть группа sudo, в RHEL группа wheel.

Как сделать так, что бы при выполнении плейбука если Debian, то юзер добавляет в группу sudo, если CentOS то в группу whell.

Видел это так:

- set_fact: sudo_group=wheel when: ansible_os_family == «RedHat»

- set_fact: sudo_group=sudo when: ansible_os_family == «Debian»

groups: '{{sudo_group}}'

Но что то не взлетело...

denyasmail
() автор топика
Ответ на: комментарий от denyasmail

УМВР

- name: set var
  set_fact:
    sudo_group: "wheel"
  when: ansible_os_family == "RedHat"
- name: set var
  set_fact:
    sudo_group: "sudo"
  when: ansible_os_family == "Debian"
- name: ololo
  user:
    name: ololoshka
    groups: "{{ sudo_group }}"

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.