Перейти к основному содержимому

Роль common

Роль common — подготовительная Ansible-роль, которая предназначена для поиска RPM-файлов в директории и сохранения путей к ним в переменные для их последующего использования в ролях:

  • copywala
  • pbr_agent
  • agent_manager
  • storage_manager
  • task_manager
  • recovery_manager
  • storage_service

Роль common выполняет следующие действия:

  1. Загружает список компонентов из файла vars/components.yml (относительно директории плейбука).
  2. Проверяет, что путь к директории с RPM-пакетами задан в переменной common_rpm_dir_path.
  3. Для каждого компонента ищет соответствующий RPM-файл в указанной директории.
  4. Создает переменные *_rpm_path с полными путями к найденным пакетам.
Важно

Роль common не предназначена для самостоятельного запуска. Она должна использоваться вместе с ролями установки компонентов в одном запуске плейбука. Переменные, создаваемые ролью (agent_manager_rpm_path, storage_manager_rpm_path и другие), существуют только в памяти Ansible во время выполнения и недоступны после завершения плейбука.

Переменные Ansible-роли common

Название переменной

Описание

Значение по умолчанию

Обязательность заполнения

common_rpm_dir_path

Путь к директории с RPM-файлами CopyWala, например, для компонента PBRA: /pbr/owned/pbra/rpms/

''

Да

Пример файла playbook.yml для установки компонентов DBBR


- name: Get rpm
hosts: dbbr
roles:
- common
vars:
common_rpm_dir_path: /path/to/rpms

- name: Install DBBR
hosts: dbbr
roles:
- role: agent_manager
become: true
- role: task_manager
become: true
- role: storage_manager
become: true
vars:
# КОД ПРОПУЩЕН: переменные ролей