Como aplicar uma variável a um grupo de hosts quando os grupos se sobrepõem

0

Estou tentando configurar um roteiro Ansible (esperançosamente) simples para verificar um branch git. Existem três ambientes: dev, qa e live. Cada um abrange dois hosts. Mas dev e qa usam os mesmos hosts, usando apenas diretórios diferentes.

Gostaria de ter um arquivo de inventário como este:

[dev]
internal1.example.com
internal2.example.com

[dev:vars]
dir = /opt/dev

[qa]
internal1.example.com
internal2.example.com

[qa:vars]
dir = /opt/qa

[live]
live1.example.com
live2.example.com

[live:vars]
dir = /opt/live

Mas isso não funciona. Valores variáveis são obtidos de todos os grupos aos quais eles pertencem. Então internal1.example.com pega o valor dir tanto do dev como do qa, independentemente de qual deles eu estou tentando implantar.

Como posso atribuir uma variável que se aplica a um host, dependendo de qual grupo eu estou segmentando?

Estou usando o Ansible versão 1.5.4.

    
por Matthew Exon 10.12.2017 / 10:56

1 resposta

-1

link

Você pode usar variáveis específicas do grupo com arquivos localizados em [ansible_base_dir] / group_vars / [group-name]

Então você teria os arquivos:

[ansible_base_dir] / group_vars / dev

---
dir: /opt/dev

[ansible_base_dir] / group_vars / qa

---
dir: /opt/qa

[ansible_base_dir] / group_vars / live

---
dir: /opt/live
    
por 19.01.2018 / 02:47

Tags