Variável Ansible acima dos hosts

1

Variável Ansible acima dos hosts

Olá, é possível criar uma variável para vários hosts como este?

  vars:
    some_vars: "./Prometheus/roles/" # <---- THIS Variable?
- hosts: lxd1
  vars_files:
    - Prometheus/vars/grafana_vars.yml
  become: true
  roles:
    - '{{ some_vars }}Stouts.grafana'   <--- var usage
- hosts: lxd1
  vars_files:
    - Prometheus/vars/exporters_common_vars.yml
  become: true
  roles:
    - './Prometheus/roles/ansible-prometheus-exporters-common'
    
por Robert Fil 12.10.2018 / 16:50

2 respostas

1

Não, isso não é uma sintaxe válida em um playbook. Não há como, dentro de um livro, incluir variantes que se apliquem a todas as jogadas.

Se você quiser que as variáveis sejam aplicadas a várias reproduções e, portanto, vários hosts de hosts as definam em seu inventário ou em group_vars.

Você também pode passar variáveis a partir da linha de comando, se precisar que as variáveis sejam aplicadas a muitas reproduções usando a opção -e .

    
por 13.10.2018 / 00:03
0

Como mencionado no post @Zoredache, eu usaria group_vars para definir um grupo para aplicar vars a todo o host.

Para fazer isso, eu usaria o seguinte arquivo de inventário:

[dev-servers]                       # inventory for dev servers
dev1.example.com
dev2.example.com

[production-servers]                # inventory for production servers
prod1.example.com
prod2.example.com

[allvars:children]                  # group vars to apply for all hosts
dev-servers
production-servers

[productionvars:children]           # group vars to apply for only production
production-servers

[devvars:children]                  # group vars to apply for only dev
dev-servers

Então você terá que criar uma dedicata group_vars file para allvars group , por favor encontre aqui um exemplo de layout de diretório:

inventory_host                       # inventory file

group_vars/
   allvars.yml             # here we assign variables to all hosts
   productionvars.yml      # here we assign variables to only prod hosts
   devvars.yml             # here we assign variables to only dev hosts
    
por 13.10.2018 / 18:53