Force Ansible para jogar fora o erro quando vars está faltando em yml?

6

É possível forçar o Ansible ao substituir o var nos arquivos yml, o que é indefinido, lançar um erro em vez de silenciosamente substituído por uma string vazia?

    
por Ryan 11.08.2013 / 12:33

3 respostas

8

Sim, é possível. Verifique a documentação on-line, em acesso a dados variáveis complexos .

Um exemplo é fornecido para fazer exatamente isso:

tasks:
    - shell: echo "I've got '{{ foo }}' and am not afraid to use it!"
      when: foo is defined

    - fail: msg="Bailing out: this play requires 'bar'"
      when: bar is not defined
    
por 11.08.2013 / 13:22
6

Adicione esta linha à seção [defaults] do seu ansible.cfg:

error_on_undefined_vars = True

Agora você receberá uma mensagem de erro se uma variável for indefinida.

    
por 12.08.2013 / 02:27
1

Defina suas variáveis em

roles/<role_name>/defaults/main.yml

como:

SUPERVAR:
  VAR1:foo
  VAR2:bar

e depois faça em

roles/<role_name>/tasks/main.yml

como:

- fail: msg="{{ item }} is not defined"
  when: not {{ item }}
  with_items:
    - SUPERVAR.VAR1
    - SUPERVAR.VAR2
    
por 17.10.2016 / 09:30

Tags