Forçar Ansible a lançar erro quando vars está faltando no yml?


8

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

Respostas:


9

Sim, é possível. Verifique a documentação online, acessando 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

8

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

error_on_undefined_vars = True

Agora você receberá uma mensagem de erro se uma variável não estiver definida.


Acredito que essa opção exija 1,3, que será lançado em breve, mas ainda não foi lançado.
precisa saber é o seguinte

1

Defina suas variáveis ​​em

roles/<role_name>/defaults/main.yml

gostar:

SUPERVAR:
  VAR1:foo
  VAR2:bar

e depois faça

roles/<role_name>/tasks/main.yml

gostar:

- fail: msg="{{ item }} is not defined"
  when: not {{ item }}
  with_items:
    - SUPERVAR.VAR1
    - SUPERVAR.VAR2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.