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?

Ryan
fonte

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
dawud
fonte
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.

Lorin Hochstein
fonte
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
Ravindranath Akila
fonte