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.