satellite6_manage_content_views

Ansible Role

ahuffman.satellite6_manage_content_views

Ansible роль для управления публикацией и продвижением контентных представлений Satellite6 и составных контентных представлений.

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

Название переменной Обязательно Описание Значение по умолчанию Тип
sat6_fqdn да Полное доменное имя вашего сервера Satellite6. "" строка
sat6_user да Пользователь Satellite6 с правами на просмотр/чтение/удаление/публикацию/продвижение контентных представлений. "" строка
sat6_pass да Пароль пользователя sat6_user. Рекомендуется хранить это значение в зашифрованном виде в хранилище Ansible. "" строка
sat6_organization да Название организации Satellite6, в которой находятся контентные представления. "" строка
sat6_max_task_retries нет Максимальное количество попыток проверки статуса задачи в Satellite 6. Используется с sat6_retry_delay "240" целое число
sat6_retry_delay нет Время задержки в секундах между повторными попытками проверки статуса задач Satellite6. Используется с sat6_max_task_retries. Например, sat6_max_task_retries * sat6_retry_delay / 60 = 120 (1 час). Это время, в течение которого мы будем ожидать завершения действий по публикации, продвижению, созданию или удалению контентного представления. "30" целое число
sat6_content_views да Список контентных представлений для обработки с помощью роли. См. раздел sat6_content_views - Поля словаря для получения подробной информации. [] список словарей
sat6_content_view_show_stats нет Показывать ли сводку действий, выполненных ролью, на ваших контентных представлениях True логическое значение

sat6_content_views - Поля словаря

Название переменной Обязательно Описание Значение по умолчанию Тип
name да Название контентного представления для управления. N/A строка
create_on_missing нет Еще не реализовано False логическое значение
publish_new_version нет Публикует новую версию контентного представления, если True. False логическое значение
publish_description нет Описание изменений контентного представления во время публикации новой версии. При использовании с составным контентным представлением базовые контентные представления будут опубликованы с этим описанием, если используется components.publish_all: True. "" строка
publish_force_yum_metadata_regeneration нет Следует ли принудительно регенерировать метаданные yum во время публикации новой версии контентного представления. False логическое значение
promote_to нет Список жизненных окружений/путей для продвижения новейшего контентного представления. Мы пропустим продвижение в любые указанные окружения, где контентное представление уже было продвинуто. [] список
promote_description нет Описание изменений при продвижении контентного представления. При использовании с составным контентным представлением базовые контентные представления также будут продвинуты с этим описанием, если используется components.publish_all: True. "" строка
promote_force_yum_metadata_regeneration нет Следует ли принудительно регенерировать метаданные yum при продвижении контентного представления в жизненное окружение/путь. False логическое значение
promote_remove_previous_version нет Следует ли удалить предыдущую версию контентного представления при продвижении новой версии. Это требует, чтобы вы уже продвинули версии во все жизненные окружения, где предыдущая версия была продвинута (т.е. предыдущая версия не может все еще быть связана с жизненными окружениями). Это ограничение одинаково независимо от того, используете ли вы API Satellite6, UI или CLI. False логическое значение
keep_content_view_versions_count нет Количество версий контентного представления для сохранения. Не используйте, когда указываете remove_content_view_versions или promote_remove_previous_version, так как это, вероятно, приведет к ошибке или создаст полупредсказуемые результаты. '' целое число
promote_bypass_environment_path нет Принудительное продвижение в жизненное окружение/путь вне нормальных ограничений пути (т.е. пропуск предыдущих путей/окружений). False логическое значение
remove_content_view_versions нет Удалить список указанных версий контентного представления, соответствующих номеру версии (колонка "Версия" таблицы вкладки "Версии" контентного представления Satellite6). Это требует, чтобы запрашиваемые версии для удаления не были связаны с какими-либо жизненными окружениями в данный момент, включая Библиотеку, что является требованием Satellite6. Если вы хотите удалить версию контентного представления, связанную с жизненным окружением Библиотека, сначала удалите ее из этого окружения. [] список
components да Настройки для составных контентных представлений. Требуется только при работе с составными контентными представлениями. n/a словарь

sat6_content_views.components - Поля словаря

Название переменной Обязательно Описание Значение по умолчанию Тип
publish_all да Следует ли публиковать новые версии всех контентных представлений в составном контентном представлении. False логическое значение
content_views нет Список имен и версий контентных представлений для публикации составного контентного представления. n/a список словарей

sat6_content_views.components.content_views - Поля словаря

Название переменной Обязательно Описание Значение по умолчанию Тип
name да Название контентного представления в составном контентном представлении. n/a строка
version да Номер версии контентного представления в составном контентном представлении для публикации составного контентного представления. n/a строка

Специальные переменные для статистической отчетности

Название переменной Описание Тип
sat6_content_view_stats Сводка всех действий, выполненных этой ролью. Это позволяет для задач вне этой роли, таких как задача для отправки уведомления по электронной почте или логирование результатов в другое место, получить сводные значения. список

Примеры использования Playbook

---
- name: "Автоматизированная публикация и продвижение контентных представлений Satellite6"
  hosts: "localhost"
  gather_facts: False
  tasks:
    - name: "Управление контентными представлениями"
      vars_files:
        - "vars/secrets.yml"
      include_role:
        name: "ansible-satellite6_manage_content_views"
      vars:
        sat6_fqdn: "huff-satellite.huffnet.org"
        sat6_user: "admin"
        sat6_pass: "{{ vaulted_sat6_pass }}"
        sat6_organization: "Huffnet"
        sat6_content_views:
          - name: "RHEL7"
            publish_new_version: True
            publish_description: "Последний контент из Red Hat CDN"
            promote_to:
              - "RHEL7-Prod"
            promote_force_yum_metadata_regeneration: True
            promote_bypass_environment_path: True
          # Публикация новой версии, продвижение во все жизненные окружения, удаление старой версии контентного представления
          - name: "RHEL6"
            publish_new_version: True
            promote_to:
              - "RHEL6-Dev"
              - "RHEL6-QA"
              - "RHEL6-Prod"
            promote_remove_previous_version: True
          # Удаление указанных версий контентного представления
          - name: "RHEL7-HA Clustering"
            remove_content_view_versions:
              - "1.0"
              - "2.0"
              - "3.0"
          # публикация новых версий всех контентных представлений в составном представлении и отсутствие удаления предыдущей версии составного контентного представления, а также продвижение в Dev
          - name: "RHEL7 composite"
            publish_new_version: True
            components:
              publish_all: True
            promote_to:
              - "RHEL7-Dev"
          # публикация конкретных версий контентных представлений в составном контентном представлении с описаниями публикации и продвижения, удаление предыдущей версии составного контентного представления и продвижение в 2 жизненные окружения
          - name: "RHEL7 composite2"
            publish_new_version: True
            publish_description: "Опубликовано с помощью Ansible"
            promote_description: "Продвинуто с помощью Ansible"
            promote_remove_previous_version: True
            components:
              publish_all: False
              content_views:
                - name: "RHEL7"
                  version: "3.0"
                - name: "RHEL7-HA Clustering"
                  version: "5.0"
            promote_to:
              - "RHEL7-Dev"
              - "RHEL7-QA"
          # Оставить только 2 версии контентного представления и удалить остальные (можно использовать с функциями продвижения и публикации при желании)
          - name: "RHEL7"
            keep_content_view_versions_count: "2"

Лицензия

MIT

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

Эндрю Дж. Хаффман

О проекте

An Ansible Role to manage Satellite 6 Content Views

Установить
ansible-galaxy install ahuffman/ansible-satellite6_manage_content_views
Лицензия
mit
Загрузки
280
Владелец