2014-07-23 10 views
7

Non capisco o vedo quello che sto facendo male, ma sembra che non riesco a far aprire il mio anscheda playbook su un server ubuntu.I gestori di Playbook Ansible non avviano il servizio tramite l'avviso di notifica

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 

La mia struttura di cartelle è simile al seguente:

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

sto installando il pacchetto RNG-tools usando il mio playbook ed è installato dopo l'esecuzione.

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

Sì, sto installando pacchetti multipli ma sono tutti installati correttamente.

Una volta installato copio il file/etc/default/RNG-tools rispetto all'uso:

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

Si può notare che ho scritto il notify: restart rng-tools lì per ottenere del servizio.

miei gestori di file/main.yml assomiglia:

--- 
# 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 

Il registro del playbook esecuzione produce i seguenti:

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 

Il problema è che il servizio non è mai iniziato e ho controllare questo con

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

Mentre quando lo faccio sudo service rng-tools start si comincia, più posso vedere la processo runing bene.

~: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 

Ho provato molte cose come commentare tutti i gestori tranne uno. Se inserisco un tipo di comando dopo che il file è stato copiato e che il comando avvia il servizio, il servizio viene eseguito, quindi non sembra essere un problema di autorizzazione, ma in qualche modo non riesco a capirlo. Inoltre, usare i gestori/main.yml è nello best practice guide quindi ho pensato che lo stavo facendo bene.

Hai idea del motivo per cui non riesco a iniziare utilizzando il playbook?

risposta

14

changed:false è la chiave per srotolare quel mistero:

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} 

Il "comunicare: started" viene richiamato solo se si verifica la copia del file.

+1

ha funzionato grazie, ho eliminato il file '' '/ etc/default/rng-tools''' e ho riavviato il playbook e ora è avviato. Grazie – DoRivard

Problemi correlati