Temos poucos servidores de aplicativos e dois balanceadores de carga (HAProxy). Cloud in implementado com SaltStack. Quando há necessidade de desativar determinado servidor de aplicativos, fazemos login no mestre de sal e executamos:
for i in {1..20}; do salt '*.lb-app' haproxy.disable_server 1.app app; done
Como haproxy está sendo executado com nbproc 4
, apenas uma chamada não alterna o tráfego. Então, ao chamar 20 vezes, há uma probabilidade decente de que todos os 4 processos desativem o servidor.
Eu queria saber se existe uma solução mais elegante.