Asserções personalizadas com o módulo fail
Interrompa um play com uma mensagem clara.
Asserções personalizadas com o módulo fail é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Pare com uma mensagem clara
Às vezes, você quer interromper uma execução de propósito, apresentando um motivo útil. O módulo fail faz exatamente isso. 🛑
O módulo fail
ansible.builtin.fail interrompe o host atual com uma mensagem personalizada escrita por você, em vez de exibir um erro enigmático.
- name: Refuse unsupported OS
ansible.builtin.fail:
msg: "This playbook supports Ubuntu only"Condicione fail com when
Um fail isolado sempre interrompe a execução, portanto combine-o com when. A execução falha somente se sua condição de proteção for atendida.
- ansible.builtin.fail:
msg: "app_version is required"
when: app_version is not definedFalhe rápido e cedo
Coloque as verificações de proteção no início da execução. Detectar uma entrada inválida cedo é melhor do que falhar no meio de uma implantação.
O módulo assert
ansible.builtin.assert é mais adequado para validações: forneça condições em that, e ele falhará se alguma for falsa.
- ansible.builtin.assert:
that:
- app_port is defined
- app_port | int > 1024Mensagens personalizadas do assert
Adicione fail_msg e success_msg a assert para exibir uma mensagem amigável em qualquer resultado. Feedback claro em todas as execuções.
- ansible.builtin.assert:
that: disk_free > 500
fail_msg: "Need at least 500MB free"
success_msg: "Disk space OK"assert verifica várias condições de uma vez
assert recebe uma lista em that. Todas as condições devem ser verdadeiras; a primeira condição falsa faz a tarefa falhar com a sua mensagem.
fail versus assert
Use fail para uma única interrupção deliberada, com a lógica em when; use assert para validar um conjunto de condições de forma concisa.
Interpole valores
Sua msg pode incluir variáveis para fornecer contexto. Mostre o valor inválido para que o operador saiba exatamente o que corrigir.
- ansible.builtin.fail:
msg: "Port {{ app_port }} is out of range"Asserções como documentação
Boas asserções também funcionam como documentação viva: expressam as expectativas de um playbook e as impõem em um só lugar. 📝
Modo quiet do assert
Defina quiet como true em assert para omitir a saída de cada condição. É útil quando você só se importa com falhas, não com verificações aprovadas.
- ansible.builtin.assert:
that: app_port is defined
quiet: trueVerificação rápida
Vamos escolher a ferramenta certa.
Recapitulação
O módulo fail interrompe uma execução com uma mensagem clara, enquanto assert valida condições de forma organizada. Proteja seus playbooks de maneira proativa. ✅
Perguntas Frequentes
A aula “Asserções personalizadas com o módulo fail” é grátis?
Sim — o texto completo de “Asserções personalizadas com o módulo fail” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Asserções personalizadas com o módulo fail”?
Interrompa um play com uma mensagem clara. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Asserções personalizadas com o módulo fail”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Agrupe tarefas com block
- Try / catch com rescue e always
- Controle de falhas: failed_when e ignore_errors
- Asserções personalizadas com o módulo fail