Conceito e mecanismo
Uma alteração distribuída precisa de limitar a capacidade retirada e de observar o resultado antes de continuar. serial define quantos hosts completam o play em cada lote. forks limita workers concorrentes e throttle pode reduzir concorrência numa tarefa ou bloco; não aumenta um limite mais baixo já imposto. Não confundas estas opções com verificação de saúde: um lote pequeno ainda pode falhar em todos os seus membros. Na estratégia linear habitual, cada tarefa avança pelo lote antes da seguinte. Uma estratégia diferente pode alterar a coordenação entre hosts, pelo que os exemplos e pressupostos devem indicar o modo usado.
Aplicação guiada
Num exercício original, onze servidores usam serial=4: os lotes têm quatro, quatro e três hosts. Uma tarefa run_once executa uma vez por lote nesse modelo, podendo repetir três vezes uma migração que deveria ser global. Planeia essa ação numa etapa explicitamente única. Delegar tarefas de vários hosts para o mesmo servidor não elimina concorrência: vários workers podem escrever no mesmo ficheiro. Usa serialização ou uma operação agregada apropriada. Define também o critério de paragem. Com cinco hosts num lote e max_fail_percentage=20, uma falha iguala o limiar e duas excedem-no. Esse comportamento deve corresponder à tolerância de risco aprovada.
Onze hosts, serial=4: três lotes; run_once não significa automaticamente uma execução global.
Armadilhas comuns
Forks como lotes; delegate_to como mutex; limiar igual como excedido; serial como health check.
Tópicos relacionados: Inventário e contexto de execução · Tarefas e estado pretendido · Validação e handlers
Relaciona lote, concorrência, capacidade e decisão de continuar.
Referência: Controlling playbook execution: strategies and more · Ansible community 14 / ansible-core 2.21 documentation consulted 2026-09-30; executor, collection and plugin compatibility requires confirmation