2016-02-11 15 views
18

C'è un modo per controllare la sintassi e le variabili del playbook?Ansible. Modo veloce per controllare la sintassi?

Sto provando a funzionare a secco (- check) ma per alcuni motivi funziona molto lentamente. Sembra che tenta di eseguire un'azione invece di controllare la sintassi

voglio omettere en errori come questo:

..."msg": "AnsibleUndefinedVariable: ERROR! 'application_name' is undefined"} 

risposta

19

Questo comportamento è previsto in base alla documentazione:

Quando ansible-playbook viene eseguito con --check non effettuerà nessuna modifica sui sistemi remoti. Invece, qualsiasi modulo strumentato per supportare la "modalità controllo" (che contiene la maggior parte dei moduli core primari, ma non è richiesto che tutti i moduli lo facciano) segnalerà ciò che cambierà invece di crearli. Altri moduli che non supportano la modalità di controllo non eseguiranno alcuna azione, ma semplicemente non lo saranno segnalando quali modifiche potrebbero aver apportato.

http://docs.ansible.com/ansible/playbooks_checkmode.html

Se si desidera controllare la sintassi YAML è possibile utilizzare la sintassi-check.

ansible-playbook rds_prod.yml --syntax-check 
playbook: rds_prod.yml 
+0

Quindi, non c'è modo di eseguire il controllo rapido che tutte le variabili siano dichiarate? è un peccato scoprire che hai digitato in modo errato un nome alla fine del lungo playbook – kharandziuk

+0

Esistono due tipi di controlli: sintassi-check e dry-run, non sono a conoscenza di altri tipi di controllo fin da ora. – Istvan

+1

Fai attenzione con '--check'. Dal momento che Ansible 2.2 è in grado di forzare un'attività in modalità normale e apportare modifiche al sistema, anche quando il playbook viene chiamato con '--check'. Leggi questo: [Abilitare o disabilitare la modalità di controllo per le attività] (http://docs.ansible.com/ansible/playbooks_checkmode.html#enabling-or-disabling-check-mode-for-tasks) – usterk

Problemi correlati