Saltar al contenido

Ansible: reiniciar el servicio solo si se estaba ejecutando

Contamos con tu apoyo para compartir nuestros posts en referencia a las ciencias informáticas.

Solución:

Registre una variable cuando se actualice la configuración. Registre otra variable cuando verifique si un servicio se está ejecutando. Llame al controlador de reinicio del servicio solo si ambas variables son true.

En cuanto a los detalles de varios sistemas operativos, podría tener una ejecución condicional basada en la familia/distribución de los datos del host.

de ansible service: El módulo no proporciona un mecanismo para verificar si un servicio ya se está ejecutando o no. Por lo tanto, tendrá que recurrir a usar algo como esto a través de la shell: módulo para determinar primero si el servicio se está ejecutando.

Ejemplo

Aquí estoy detectando si WebSphere o Tomcat8 se están ejecutando y luego reinicio el servicio apropiado según su estado.

---
# handles tomcat8
- name: is tomcat8 already running?
  shell: service tomcat8 status warn=false
  register: _svc_tomcat8
  failed_when: _svc_tomcat8.rc != 0 and ("unrecognized service" not in _svc_tomcat8.stderr)
  ignore_errors: true

- name: restart tomcat8 if running
  service: name=tomcat8 state=restarted
  when: "_svc_tomcat8.rc == 0"

# handles WAS
- name: is WebSphere already running?
  shell: service Node01_was.init status warn=false
  register: _svc_websphere
  failed_when: _svc_websphere.rc != 0 and ("unrecognized service" not in _svc_websphere.stderr)
  ignore_errors: true

- name: restart WebSphere if running
  service: name=Node01_was.init state=restarted
  when: "_svc_websphere.rc == 0"

# vim:ft=ansible:

Para invocar el reinicio solo si se actualizó un archivo específico, puede usar un register: en tu copy: o template: tareas para guardar el estado de si el archivo se actualizó. Los resultados de este register: luego puede incorporarse como parte de la when: sobre el service: name=XXXX state=restarted tarea.

Recuerda compartir este tutorial si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *