playbook - ansible tutorial
Error al reiniciar el servicio (1)
He tenido algunos problemas para reiniciar el demonio SSH con Ansible.
Estoy utilizando el último software a partir del 11 de mayo de 2015 (Ansible 1.9.1 / Vagrant 1.7.2 / VirtualBox 4.3.26 / Host: OS X 10.10.1 / Guest: ubuntu/trusty64 )
tl; dr : Parece que hay algo mal con la forma en que invoco la sintaxis del servicio.
Problema con el caso de uso original (controlador)
Libro de jugadas
- hosts: all
- remote_user: vagrant
- tasks:
...
- name: Forbid SSH root login
sudo: yes
lineinfile: dest=/etc/ssh/sshd_config regexp="^PermitRootLogin" line="permitRootLogin no" state=present
notify:
- restart ssh
...
- handlers:
- name: restart ssh
sudo: yes
service: name=ssh state=restarted
Salida
NOTIFIED: [restart ssh]
failed: [default] => {"failed": true}
FATAL: all hosts have already failed -- aborting
El controlador nginx se completó exitosamente con una sintaxis casi idéntica.
La tarea también falla
Libro de jugadas
- name: Restart SSH server
sudo: yes
service: name=ssh state=restarted
La misma salida que el caso de uso del controlador.
El comando ad hoc también falla
Cáscara
> ansible all -i ansible_inventory -u vagrant -k -m service -a "name=ssh state=restarted"
Inventario
127.0.0.1:8022
Salida
127.0.0.1 | FAILED >> {
"failed": true,
"msg": ""
}
Comando de shell en trabajos de caja
Cuando hago SSH y ejecuto el comando habitual, todo funciona bien.
> vagrant ssh
> sudo service ssh restart
ssh stop/waiting
ssh start/running, process 7899
> echo $?
0
La tarea de comando también funciona
Salida
TASK: [Restart SSH server] ****************************************************
changed: [default] => {"changed": true, "cmd": ["service", "ssh", "restart"], "delta": "0:00:00.060220", "end": "2015-05-11 07:59:25.310183", "rc": 0, "start": "2015-05-11 07:59:25.249963", "stderr": "", "stdout": "ssh stop/waiting/nssh start/running, process 8553", "warnings": ["Consider using service module rather than running service"]}
Como podemos ver en la advertencia, se supone que debemos usar el módulo de servicio, pero todavía no estoy seguro de dónde está el problema.
Como indican los comentarios anteriores, este es un problema ansible que aparentemente se solucionará en la versión 2.0.
Acabo de cambiar mi controlador para usar el módulo de command
y seguí adelante:
- name: restart sshd
command: service ssh restart