al

2016-02-01 27 views
9

Bir görev var:al

işleyicileri hep yazılı sırayla çalıştırılır Bildir: yanıtlayıcı 'taktik kitabında documentation yılında

- name: uploads docker configuration file 
    template: 
    src: 'docker.systemd.j2' 
    dest: '/etc/systemd/system/docker.service' 
    notify: 
    - daemon reload 
    - restart docker 

, bir cümle vardır.

Yani, beklenen, o cini yenidenyeniden başlatma docker önce ran, ancak günlüklerde, i vardır:

 
TASK [swarm/docker : uploads docker configuration file] ************************ 
… 
NOTIFIED HANDLER daemon reload 
NOTIFIED HANDLER restart docker 
… 
RUNNING HANDLER [swarm/docker : restart docker] ******************************** 
… 
RUNNING HANDLER [swarm/docker : daemon reload] ********************************* 
… 

daha günlüklerinde var "HANDLER BİLDİRİLMİŞTİR" hayır vardır . Herkes açıklayabilir mi, ne yapıyorum yanlış? :(

+1

belgeleri güncellendi gibi görünüyor: "değil listelenen sırada, tanımlandıkları işleyicileri hep aynı sırayla çalıştırılır bildir bildirim bildirisinde. " – JCotton

+0

Teşekkürler JCotton. Tam olarak sorunun ne olduğu, başka bir yetenekli gotcha. – Guagua

cevap

26

Sana dosyanızda işleyicilerindeki “Daemon yeniden yükleme” den önce listelenen “yeniden başlatma liman işçisi” olabilir düşünüyorum.

yanıtlayıcı 'belgelerin bu kısmı biraz yanıltıcı olduğunu. O işleyicileri içinde yürütür demektir onlar işleyicileri yazılır sipariş değil kendilerine bildirilir düzen dosyası.

Bu Ben sadece işleyicileri diğer işleyicileri çağrı olabilir anladım the glossary

+14

Bu kanlı beklenmedik – blurrcat

0

yılında biraz daha açıktır.

Örnek görev: In

- name: Configure Apache 
    copy: src=apache-azkaban.conf dest=/etc/apache2/sites-enabled/azkaban.conf 
    notify: 
    - a2enmod proxy 
    - a2enmod proxy_http 

benim handlers/main.yml:

- name: a2enmod proxy 
    shell: a2enmod proxy 
    notify: 
    - restart apache2 

- name: a2enmod proxy_http 
    shell: a2enmod proxy_http 
    notify: 
    - restart apache2 

- name: restart apache2 
    service: name=apache2 state=restarted