SaltStack: chiama un singolo stato di un file sls


12

Non riesco a chiamare un singolo stato di un file sls.

Intero file sls funziona

Questo funziona:

salt-ssh w123 state.sls monitoring

Questo funziona:

salt-ssh w123 state.show_sls monitoring

Un elemento dell'output sopra:

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

Quello che ho provato

Ora voglio solo chiamare monitoring_packages, non l'intero file sls:

Non riesce:

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'

Non riesce:

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

Domanda

Come chiamare il mio stato singolo monitoring_packages?

Versione

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

Risposte:


11

Mi sono imbattuto in questo post mentre cercavo anche di capire come farlo con regolari chiamate salt (cioè non salt-ssh ).

Se si dispone del seguente file SLS (foo.sls):

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

È possibile eseguire il comando seguente per eseguire solo quella voce nel file di stato:

salt '*' state.sls_id bar foo

E ancora, non lo sapevo neanche io. Ho trovato la risposta in un commento in una discussione di gruppo di Google che ha indicato un impegno qui .



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

Esempio: supponiamo di avere uno stato per elasticserach con un file sls chiamato settings.sls e all'interno di quel file supponiamo che io abbia il compito restart_elastic_search, ora voglio chiamare questo specifico compito.

salt '*elastic*' state.sls  elasticsearch.settings restart_elastic_search -l debug
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.