satellite6_content_views

Image

Статус сборки Роль Ansible

Важно: Так как я перешел на другую работу, я больше не использую Red Hat Satellite, поэтому не могу поддерживать эту роль легко (у меня нет лицензии на использование Satellite). Но не стесняйтесь подавать PR для улучшения роли или используйте свой собственный репозиторий. Надеюсь, вам это понравится!

Управление представлениями контента

Satellite6-content_views — это роль Ansible для удобного управления представлениями контента в RedHat Satellite 6.x, такие как:

  • Публикация новой версии представления контента
  • Продвижение версии в окружение
  • Удаление старых версий

Эта роль использует только HTTP API RedHat Satellite.

Требования

Чтобы использовать эту роль, вам потребуется:

  • Ansible > 2.0
  • Satellite 6.x
  • Авторизация доступа по HTTPS с вашего Ansible-машины к вашему Satellite
  • Пользователь Satellite с правами администратора

Начало работы

Ниже приведены несколько примеров плейбуков для использования этой роли.

Эта роль предполагает наличие пользователя satellite с достаточными правами.

Публикация новой версии

Иногда может быть полезно автоматически обновить конкретные представления контента, например представление контента базовой операционной системы. Satellite может запланировать синхронизацию репозиториев, но синхронизированный контент не будет доступен клиентам до тех пор, пока администратор не опубликует новую версию представления контента, содержащую эти репозитории.

ВНИМАНИЕ: В отношении составных представлений контента это обновит внутренние составные представления до их последней версии перед публикацией.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.example.com
    sat_user: satellite_user
    sat_password: satellite_password
    sat_org: satellite_organization
    sat_cv_name: content_view_name
  roles:
    - satellite6-content_views

Публикация и продвижение представления контента

Опубликуйте новую версию представления контента и продвигайте его в окружение satellite_env. После создания новой версии представления контента она доступна только в окружении «Библиотека». Чтобы сделать ее доступной для других окружений, необходимо произвести продвижение версии.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.example.com
    sat_user: satellite_user
    sat_password: satellite_password
    sat_org: satellite_organization
    sat_cv_name: content_view_name
    sat_promote: yes
    sat_env_name: satellite_env
  roles:
    - satellite6-content_views

По умолчанию продвижение будет следовать пути окружения и будет продвигать представление контента в каждое окружение, пока не достигнет указанного с sat_env_name.

Например, если задать следующий путь окружения Library -> Dev -> Testing -> Production, в приведенном выше примере установка sat_env_name: Production приведет к следующему:

  • Публикация новой версии в Библиотеку
  • Продвижение новой версии в Dev окружение
  • Продвижение новой версии в Testing окружение
  • Продвижение новой версии в Production окружение

Только продвижение представления контента

Продвигайте последнюю версию представления контента в окружение satellite_env.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.example.com
    sat_user: satellite_user
    sat_password: satellite_password
    sat_org: satellite_organization
    sat_cv_name: content_view_name
    sat_publish: no
    sat_promote: yes
    sat_env_name: satellite_env
  roles:
    - satellite6-content_views

Удаление старых представлений контента

При работе с Satellite 6 новые версии представлений контента создаются довольно часто, особенно когда тестируются модули Puppet и их необходимо сделать доступными для клиентов. Старые версии представлений контента в Satellite по умолчанию сохраняются, чтобы в будущем можно было вернуться к конкретной версии. Но хранение слишком большого количества старых версий делает интерфейс Satellite неясным, а фоновые задачи медленнее, так как им нужно анализировать больше данных.

По умолчанию сохраняются все версии представлений контента, которые были продвинуты в любое жизненное окружение, и 5 самых новых непродвиженных версий. Количество сохраняемых версий можно отрегулировать с помощью переменной sat_keep_old_cv.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.example.com
    sat_user: satellite_user
    sat_password: satellite_password
    sat_org: satellite_organization
    sat_cv_name: content_view_name
    sat_publish: no
    sat_remove_old_cv: yes
    sat_keep_old_cv: 5
  roles:
    - satellite6-content_views

Переменные роли

Вот список всех переменных по умолчанию для этой роли, которые также доступны в defaults/main.yml.

Имя переменной Обязательная По умолчанию Выборы Комментарии
sat_hostname да Нет N/A Хостнейм Satellite, может быть IP или DNS
sat_user да Нет N/A Имя пользователя Satellite, должно иметь права администратора
sat_password да Нет N/A Пароль Satellite для пользователя
sat_org да Нет N/A Организация Satellite, в которой представление контента
sat_cv_name да Нет N/A Имя представления контента, которое мы хотим опубликовать
sat_publish нет да да/нет
истина/ложь
Если установлено в «да», это опубликует новую версию
sat_remove_old_cv нет нет да/нет
истина/ложь
Если установлено в «да», это удалит старые представления контента, используйте переменную sat_keep_old_cv, чтобы указать количество представлений контента для хранения
sat_keep_old_cv нет 5 N/A Количество старых представлений контента для хранения
sat_promote нет нет да/нет
истина/ложь
Если установлено в «да», это продвигает представление контента в указанное окружение (с переменной sat_env_name)
sat_follow_env_path нет да да/нет
истина/ложь
Если установлено в «да», это будет продвигать во все окружения, содержащиеся в пути окружения, пока не достигнет sat_env_name (см. пример Публикация и продвижение)
sat_env_name нет Нет N/A Окружение, куда продвигать
sat_wait_task_retries нет 60 N/A Эти переменные могут быть увеличены, если продвижение Satellite длительное. Так как некоторые представления контента могут занять значительное время для публикации, вы можете настроить количество повторов и задержку. По умолчанию время ожидания задачи составляет sat_wait_task_retries x sat_wait_task_delay. По умолчанию 60 x 30 = 1800 секунд, то есть ansible будет ждать 30 минут, пока представление контента завершит публикацию/продвижение/удаление.
sat_wait_task_delay нет 30 N/A Задержка между двумя проверками задачи
sat_publish_description нет Автоматическая публикация из Ansible N/A Сообщение, которое будет отображаться в описании версии
sat_promote_description нет Автоматическое продвижение из Ansible N/A Сообщение, которое будет отображаться в описании продвижения

TODO

  • Публикация всех представлений контента одновременно
  • Продвижение конкретной версии представления контента
  • Публикация представления контента только в случае наличия новых пакетов/модулей puppet
  • Оптимизация поиска задач с точными фильтрами
  • Добавить множество тестов

Лицензия

GPLv3

Информация об авторе

Оливье Жербон

О проекте

Role to manage content views in RedHat Satellite

Установить
ansible-galaxy install ogerbron/satellite6-content_views
Лицензия
gpl-3.0
Загрузки
4700
Владелец
EM 👨‍🔧 @doctolib 🇫🇷🇬🇧 Triathlete 🏊🏻‍♂️🚴🏻🏃🏻