2014-09-04 6 views
36

In Ansible 1.7, posso usare --tags dalla riga di comando per eseguire solo un sottoinsieme di tali compiti di playbook.Ansible: In una cartella di gioco, filtra un ruolo per tag (s) senza passare alla riga di comando

Ma voglio entrare nel mio libro di gioco per eseguire una serie di ruoli con solo attività che corrispondono ai tag. Cioè, non voglio dover passare questo tramite la riga di comando poiché sarà lo stesso ogni volta.

All'inizio ho pensato che fosse questo comando, ma questo fa l'opposto: codificare le attività con questi tag invece di filtrarli in base a questo.

Posso immaginare di implementare questo condizionale usando condizionali, ma i tag sarebbero un modo molto più elegante per raggiungere questo obiettivo.

+0

A proposito, il motivo per cui voglio farlo è eseguire tutte le attività di installazione del pacchetto su più ruoli in modo da poter creare un AMI che memorizza nella cache tutti gli aggiornamenti/aggiornamenti/installazioni. Quindi posso usare questo come AMI di base. Avere lo script funzionante e basta specificare tramite la riga di comando per ora –

risposta

39

Hai solo le seguenti opzioni con la versione corrente di Ansible:

  1. Specificare i tag nella riga di comando
  2. Utilizzare una variabile invece di un tag a compiti condizionalmente gestiti
  3. Dividi il tuo server web ruolo in più ruoli e utilizzare le dipendenze dei ruoli per le attività comuni

Questa richiesta di funzionalità has come up on the mailing list a few times e non ho visto alcuna indicazione dal team di sviluppo t sarà aggiunto come una nuova funzionalità.

+14

Sorpreso che più persone non chiedono a gran voce per questo! Grazie per la risposta su questo –

0

L'uso di condizionali può soddisfare le vostre esigenze.

È possibile visualizzare ulteriori informazioni nella mia risposta alla domanda simile di un'altra persona here.

Problemi correlati