Можно ли сделать так, чтобы мои ansible group_vars имели al oop, когда у меня есть аналогичные значения для N количества серверов с изменением только в одной переменной? - PullRequest
0 голосов
/ 04 марта 2020

У меня есть group_vars / all / vars_a.yml, у которого есть набор вложенных переменных. Когда я запускаю свой playbook, он ссылается на переменные в group_vars / all / vars_a.yml и копирует элементы, присутствующие в файле group_vars, в экземпляры из инвентаря. Существует N количество деталей сервера, которые необходимо скопировать в экземпляры, и я хотел бы выполнять их динамическую итерацию вместо записи каждый раз. Пожалуйста, обратитесь к приведенному ниже коду для большей ясности.

group_vars / all / vars_a.yml

---
server_checks:
  process:
    instances:
      - name: test
        string: a
      - name: playground
        string: b
    servers:
      logs:
        - name: test1
          path: "/etc/config/"
  php:
    instances:
      - name: server-1
        username: {{ username }}
        password: {{ pass }}
      - name: server-2
        username: {{ username }}
        password: {{ pass }}
        .
        .
      - name: server-N
        username: {{ username }}
        password: {{ pass }}

playbook.yml

---
- name: Ensure configuration directories are present for each server
  file:
    dest: "/etc/x-agent/server/{{ item }}.d"
    state: directory
  with_items: '{{ server_checks }}'

Моя проблема здесь, в нижеупомянутая часть group_vars

php:
  instances:
    - name: server-1
      username: {{ username }}
      password: {{ pass }}
    - name: server-2
      username: {{ username }}
      password: {{ pass }}
      .
      .
    - name: server-N
      username: {{ username }}
      password: {{ pass }}

Вместо добавления / записи групповых переменных каждый раз, когда в моем group_vars / all / vars_a.yml есть N серверов, я бы хотел ввести количество серверов итерируйте их и скопируйте в экземпляры, в которых запускается playbook.

Я старался изо всех сил, чтобы написать мою проблему здесь. Пожалуйста, не стесняйтесь комментировать, если я не прав в объяснении чего-либо. Любая идея высоко ценится, спасибо.

...