2016-02-11 9 views
18

Czy istnieje sposób sprawdzenia składni i zmiennych w skrypcie?Odpowiedź. Szybki sposób sprawdzania składni?

Próbuję uruchomić na sucho (- sprawdź), ale z pewnych powodów działa bardzo wolno. Wygląda na to, że próbuje wykonać działanie, a nie tylko sprawdzić składnię

Chcę pominąć pl błędów tak:

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

Odpowiedz

19

Jest to oczekiwane zachowanie zgodnie z dokumentacją:

Gdy ansibli-playbook jest uruchamiany z opcją --check, nie spowoduje żadnych zmian w systemach zdalnych. Zamiast tego, każdy moduł zaprojektowany do obsługi trybu sprawdzania "(który zawiera większość podstawowych modułów podstawowych, ale jest to nie jest wymagane, aby wszystkie moduły to robiły) będzie raportował, jakie zmiany zostałyby wprowadzone, a nie je wykonał. Inne moduły, które nie obsługują trybu sprawdzania, również nie będą podejmować żadnych działań, ale po prostu nie będą informować o zmianach, które mogły zostać wykonane przez .

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

Jeśli chcesz sprawdzić składnię YAML można używać składni-czek.

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

Więc nie ma sposobu, aby szybko sprawdzić, czy wszystkie zmienne są zadeklarowane? szkoda, że ​​błędnie wpisano jakieś nazwisko na końcu długiego playbooka – kharandziuk

+0

Istnieją dwa rodzaje kontroli: sprawdzanie składni i dry-run, nie jestem świadomy innego rodzaju kontroli od teraz. – Istvan

+1

Zachowaj ostrożność, używając '--check'. Ponieważ Ansible 2.2 można wymusić uruchomienie zadania w trybie normalnym i wprowadzanie zmian w systemie, nawet przy wywołaniu playbooka za pomocą '--check'. Przeczytaj: [Włączanie lub wyłączanie trybu sprawdzania dla zadań] (http://docs.ansible.com/ansible/playbooks_checkmode.html#enabling-lub-discabling-check-mode-for-tasks) – usterk