tutorial playbook example ansible ansible-playbook sshd

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