/ / Un libro de juego de Ansible para encontrar procesos java particulares y matar - java, jar, find, ansible, microservices

Ansible libro de jugadas para encontrar procesos java en particular y matar - java, jar, find, ansible, microservices

Estoy trabajando en la implementación de microservicios con Anible-Playbook ahora mismo. Y todos los microservicios se utilizan. java -jar comando para desplegar. En este momento, estoy intentando escribir un libro de jugadas ansible para encontrar y eliminar el proceso java -jar dependiente antes de implementar otro.

Me estoy quedando sin ideas. Estaba pensando en crear un script en init.d para Java Deamon. Pero, si hago eso y detengo el servicio, detendré todos los procesos de Java que no quisiera.

Salida para ps -ef | grep java

raíz 28330 1 1 13:52? 00:00:56 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / dal-core / config /opt/app/microservices/deploy/dal-core/enrollment-vehicle-dal-core-0.0.1-SNAPSHOT.jar

raíz 29143 1 2 14:22? 00:00:49 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / dal-core / config /opt/app/microservices/deploy/dal-core/enrollment-vehicle-listener-0.0.1-SNAPSHOT.jar

raíz 29879 1 2 14:23? 00:00:48 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / dal-core / config /opt/app/microservices/deploy/dal-core/enrollment-account-dal-core-0.0.1-SNAPSHOT.jar

raíz 31093 1 3 14:28? 00:01:04 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / listener / config /opt/app/microservices/deploy/listener/enrollment-account-listener-0.0.1-SNAPSHOT.jar

asadmin 31208 18879 0 14:57 pts / 1 00:00:00 grep --color = auto java

En el escenario anterior, si vuelvo a implementar la inscripción-cuenta-dal-core nuevamente, primero debo eliminar la inscripción-escucha-cuenta (pid: 31093) y luego la cuenta-cuenta-dal-core (pid: 29879).

Tengo un libro de jugadas para todos los microservicios, así que tampoco podré codificarlo.

Respuestas

0 para la respuesta № 1

No estoy seguro, pero espero que pattern parámetro en service módulo resolverá su problema Puedes encontrar documentación aquí. Creo que tu tarea Ansible se verá como este código:

- name: Killing enrollment-account-listener
service:
name: enrollment-account-listener
state: stopped
pattern: enrollment-account-listener

La documentación dice que si el servicio con el nombre dado no responde al comando de estado del servicio, entonces busque pattern en la salida del comando ps. Si se encuentra la cadena, se supondrá que el servicio se está ejecutando.

Si no funciona, todavía puedes usar command o shell Módulo para encontrar solución a este problema.