¿Cómo enumero todos los minions de Salt Stack conectados?

76

A veces, mi maestro de sal se queda un rato salt '*' test.pingesperando que los secuaces derribados respondan. ¿Hay alguna manera de ver una lista de súbditos conectados, independientemente de si responden test.ping?

Petrus Theron
fuente

Respuestas:

89

La respuesta oficial:

salt-run manage.up

También son útiles:

salt-run manage.status

salt-run manage.down
Dan Garthwaite
fuente
2
"salt-run -d" Da una lista completa de todos los módulos que puede ejecutar con salt-run, vale la pena leerlo
Chris Huang-Leaver
55
salt-run manage.versionstambién es bastante útil (informa las versiones en ejecución de los minions y las compara con las del maestro)
sxc731
Tenga en cuenta que corre la sal manage.upy manage.statusparece hacer un test.pingdebajo del capó. Al menos, cuando corrí manage.up, apareció en los registros de los minions como test.ping..... Si quieres asegurarte de que no necesita enviar nada, usa aliveduna de las otras funciones de administración
sdfgeoff
12

Del tipo maestro:

ls -1 /var/cache/salt/master/minions

o:

ls -1 /etc/salt/pki/master/minions

Ingresar una consulta de sal defectuosa (ej. Salt '*' -) también devolverá una lista de todos los minions cada uno seguido de un mensaje que indica que el comando no está disponible. Puede grep / cortar los caracteres extraños. Ninguna de estas opciones es particularmente elegante y la última no aborda el tiempo de espera, pero funciona mientras busco una respuesta a una pregunta similar; "¿Cómo enumerar todos los súbditos asociados a través de la API de Python SaltStack?".

Será
fuente
Creo que algo debe haber cambiado / var / cache / salt / master / minions parece ser una ubicación inexistente ahora, / etc / salt / pki / master / minions todavía está listo.
Oliver Dungey
8

"salt-key -L" mostrará una lista de todos los minions cuyas claves públicas has aceptado en tu maestro.

Utah_Dave
fuente
1
Gracias, pero esto enumera las claves de minions aceptadas, no minions conectados.
Petrus Theron
2

Creo que uno puede usar el módulo de granos para lograr esto:

salt '*' grains.get id
Kurt Zhong
fuente
2

Hay algunos comandos nuevos que lo hacen mucho más fácil,

salt-run manage.alived Imprima una lista de todos los súbditos que están activos de acuerdo con la detección de presencia de Salt (no se enviarán comandos a los súbditos)

salt-run manage.allowed Imprima una lista de todos los súbditos que están activos de acuerdo con la detección de presencia de Salt (no se enviarán comandos a los súbditos)

salt-run manage.not_alived Imprima una lista de todos los minions que NO están activos de acuerdo con la detección de presencia de Salt (no se enviarán comandos)

salt-run manage.not_allowed Imprima una lista de todos los minions que NO están activos de acuerdo con la detección de presencia de Salt (no se enviarán comandos)

salt-run manage.not_joined Imprima una lista de todos los minions que NO están activos de acuerdo con la detección de presencia de Salt (no se enviarán comandos)

Sufiyan Ghori
fuente
-6

Para hacer ping a todos los minions, prueba el nodo maestro de sal:

salt '*' test.ping 
Михаил Ветчинов
fuente
44
¿Has leído la pregunta? Específicamente se trata de alternativas a su método porque esto no funciona en algunos casos.
Sven