Conceito e mecanismo
Um playbook útil descreve as condições necessárias ao resultado, incluindo as dependências que um administrador pode ter criado manualmente. Executá-lo num host antigo pode esconder essa preparação. Nos objetivos EX294, os playbooks são aplicados a sistemas novos e as configurações devem persistir após reinício. Por isso, distingue execução sem erro, estado pretendido e recuperação desse estado no arranque. Uma montagem ativa agora não prova que existe configuração persistente. Uma diretoria com leitura para o grupo também precisa de search para permitir atravessá-la. O modo deve representar o requisito de acesso, sem acrescentar escrita apenas para eliminar um erro.
Aplicação guiada
Num projeto fictício de batch, reproduz a configuração num host descartável e compara a primeira execução com uma repetição. Um módulo de estado pode evitar alterações desnecessárias; um command não se torna idempotente apenas por usar register. Creates pode impedir repetição quando existe um marcador fiável, criado apenas após sucesso validado. Esse marcador não substitui a validação da migração que representa. Num resultado registado, rc, stdout e changed dizem coisas diferentes. Documenta quais códigos são aceitáveis antes de construir condições. Facts também são observações: ansible_date_time recolhido no início não avança como um relógio vivo. Para medir uma fase posterior, recolhe evidência temporal adequada ao momento.
A montagem funciona antes do reboot; o ensaio só termina quando se confirma o recurso montado depois dele.
Armadilhas comuns
Host preparado como prova universal; changed como sucesso; marcador criado antes da validação.
Tópicos relacionados: Inventários, variáveis e configuração · Acesso e ambiente de execução · Git, dev containers e ensaios
Representa pré-condições e verifica o resultado que a operação realmente precisa.
Referência: EX294 Advanced System Administrator in Ansible objectives · EX294 current objectives inspected 2026-09-30; RHCE in Ansible framework effective 2026-05-11; booking product version not publicly pinned