SaltStack: llame a un solo estado de un archivo sls

12

No puedo llamar a un solo estado de un archivo sls.

Todo el archivo sls funciona

Esto funciona:

salt-ssh w123 state.sls monitoring

Esto funciona:

salt-ssh w123 state.show_sls monitoring

Un artículo de salida anterior:

monitoring_packages:
    ----------
    __env__:
        base
    __sls__:
        monitoring.packages
    pkg:
        |_
          ----------
          pkgs:
              - python-psutil
        - installed
        |_
          ----------
          order:
              10000

Lo que probé

Ahora solo quiero llamar monitoring_packages, no todo el archivo sls:

Falla:

salt:/srv # salt-ssh w123 state.sls_id monitoring_packages  monitoring
w123:
    Data failed to compile:
----------
    No matching sls found for 'monitoring' in env 'base'

Falla:

salt:/srv # salt-ssh w123 state.single monitoring.monitoring_packages
w123:
    TypeError encountered executing state.single: single() takes at least 2 arguments (1 given)

Pregunta

¿Cómo llamar a mi estado único monitoring_packages?

Versión

salt:/srv # salt-ssh --version
salt-ssh 2015.8.3 (Beryllium)
guettli
fuente

Respuestas:

11

Me encontré con esta publicación mientras intentaba descubrir cómo hacer esto con llamadas regulares de sal (es decir, no salt-ssh ).

Si tiene el siguiente archivo SLS (foo.sls):

bar:
   file.managed:
       - source: salt://some/file

Puede ejecutar el siguiente comando para ejecutar solo esa entrada en el archivo de estado:

salt '*' state.sls_id bar foo

Y de nuevo, tampoco sabía esto. Encontré la respuesta en un comentario en una discusión grupal de Google que apuntaba a una confirmación aquí .

Miguel
fuente
0
salt '*target*' state.sls  monitoring.<sls_file_name> <task name> -l debug

Ejemplo: supongamos que tengo un estado para elasticserach con un archivo sls llamado settings.sls y dentro de ese archivo supongamos que tengo la tarea restart_elastic_search, ahora quiero llamar a esta tarea específica.

salt '*elastic*' state.sls  elasticsearch.settings restart_elastic_search -l debug
Vaibhav Jain
fuente