Manual do Ansible para implantar em um novo servidor e remover de outros

Manual do Ansible para implantar em um novo servidor e remover de outros

Estou brincando com a ideia de ter um manual que execute uma determinada tarefa quando um servidor estiver em um grupo e outra tarefa quando não estiver em um grupo.

Digamos que eu tenha office1 com todos os servidores e tenha um servidor DHCP primário:

[office1]
server1
server2
server3

[dhcp]
server2

Quero ter certeza de que tenho apenas um servidor DHCP:

- include: tasks/add-dhcp.yml
  when: inventory_hostname in dhcp
- include: tasks/remove-dhcp.yml
  when: inventory_hostname not in dhcp

Assim, quando eu alterar o DHCP para server3, ele será instalado em 3 e removido de 2. A rolagem será executada em todos os servidores office1 quando uma nova implantação de DHCP for concluída.

Alguma idéia com isso? É uma má ideia? Como resolveria este problema?

Responder1

Se essa abordagem funcionar para você, siga em frente. Não há nada de bom ou ruim na maneira como você define a configuração. Fora isso, você pode usar variáveis.

A condicional, entretanto, deve ser semelhante a abaixo:

- include_tasks: tasks/remove-dhcp.yml
  when: `dhcp` not in group_names

group_namesé umvariável mágicaque contém uma lista de todos os grupos aos quais o alvo em execução pertence.

informação relacionada