Обработчики Ansible playbook не запускают службу через уведомление

Я не понимаю и не вижу, что я делаю неправильно, но похоже, что я не могу заставить свою доступную книгу запускать службу rng-tools на сервере Ubuntu.

environment:
    remote server (configured): Ubuntu 14.04.1 LTS
    server with playbook: Debian GNU/Linux 7.6 (wheezy)
    > apt-cache policy ansible
    ansible:
      Installed: 1.7-0.git201406241728~unstable
      Candidate: 1.7-0.git201406241728~unstable
      Version table:
      *** 1.7-0.git201406241728~unstable 0
            100 /var/lib/dpkg/status

Моя структура папок выглядит следующим образом:

tasks/main.yml
tasks/packages.yml that is included from the main.yml file
handlers/main.yml
files/rng-tools    

Я устанавливаю пакет rng-tools с помощью моей пьесы, и он устанавливается после выполнения.

- name: install common packages
  apt: name={{ item }}  state=present
  with_items:
    - gnupg
    - rng-tools
    - reprepro
    - dpkg-sig
    - nginx

Да, я устанавливаю несколько пакетов, но все они установлены правильно.

После его установки я копирую файл /etc/default/rng-tools, используя:

- name: copy urandom default conf file
  copy: src="rng-tools" dest="/etc/default/rng-tools"
  notify: start rng-tools 

Вы можете заметить, что я написал здесь notify: restart rng-tools, чтобы запустить службу.

Мой файл handlers/main.yml выглядит так:

---
# Handler for rng-tools
- name: start rng-tools
  service: name=rng-tools state=started

- name: restart rng-tools
  service: name=rng-tools state=restarted

- name: stop rng-tools
  service: name=rng-tools state=stopped

- name: reload rng-tools
  service: name=rng-tools state=reloaded

Журнал работающего плейбука выдает следующее:

TASK: [debian-repository | install common packages] ***************************
ok: [debian.home.dr] => (item=gnupg,rng-tools,reprepro,dpkg-sig,nginx) => {"changed": false, "item": "gnupg,rng-tools,reprepro,dpkg-sig,nginx"}

TASK: [debian-repository | copy urandom default conf file] ********************
ok: [debian.home.dr] => {"changed": false, "dest": "/etc/default/rng-tools", "gid": 0, "group": "root", "md5sum": "45ed1b1ee174494442296fdd262f3b09", "mode": "0644", "owner": "root", "path": "/etc/default/rng-tools", "size": 815, "state": "file", "uid": 0}

PLAY RECAP ********************************************************************
debian.home.dr             : ok=12   changed=2    unreachable=0    failed=0

Проблема в том, что служба никогда не запускается, и я проверяю это с помощью

sudo ps aux | grep rng
root 29392  0.0  0.0  11740   884 pts/1    S+   22:45   0:00 grep rng

Хотя, когда я делаю sudo service rng-tools start, он запускается, плюс я вижу, что процесс работает нормально.

~:sudo service rng-tools start
Starting Hardware RNG entropy gatherer daemon: rngd.
~:sudo ps aux | grep rng
root     29431  0.0  0.0   8964   336 ?        Ss   22:47   0:00 /usr/sbin/rngd -r /dev/urandom
root 29433  0.0  0.0  11740   880 pts/1    S+   22:47   0:00 grep rng

Я пробовал много вещей, таких как комментирование всех обработчиков, кроме одного. Если я помещаю тип команды после того, как файл скопирован, и эта команда запускает службу, которую запускает служба, так что это не похоже на проблему с разрешением, но почему-то я не могу это понять. Кроме того, использование handlers/main.yml описано в руководстве по передовым методам, поэтому я считаю, что делаю это правильно. .

У вас есть идеи, почему я не могу начать использовать playbook?


person DoRivard    schedule 23.07.2014    source источник


Ответы (1)


changed:false — ключ к разгадке этой тайны:

TASK: [debian-repository | copy urandom default conf file] ********************
ok: [debian.home.dr] => {"changed": false, "dest": "/etc/default/rng-tools", "gid": 0, "group": "root", "md5sum": "45ed1b1ee174494442296fdd262f3b09", "mode": "0644", "owner": "root", "path": "/etc/default/rng-tools", "size": 815, "state": "file", "uid": 0}

«Уведомление: запущено» вызывается только в том случае, если происходит копирование файла.

person tedder42    schedule 23.07.2014
comment
это сработало, спасибо, я удалил файл /etc/default/rng-tools и повторно запустил плейбук, и теперь он запущен. Спасибо - person DoRivard; 23.07.2014