ahuffman.satellite6_manage_content_views

Ansible Role

ahuffman.satellite6_manage_content_views

Satellite6のコンテンツビューおよびコンポジットコンテンツビューの公開とプロモーションを管理するAnsibleロールです。

ロール変数

変数名 必須 説明 デフォルト値 種類
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 いいえ 新しいバージョンのコンテンツビューをプロモートする際に以前のバージョンを削除するかどうか。以前のバージョンがプロモートされているすべてのライフサイクル環境に新しいバージョンをプロモートする必要があります(つまり、以前のバージョンをまだライフサイクル環境に付けることはできません)。 False ブール値
keep_content_view_versions_count いいえ 保持するコンテンツビューのバージョン数。 remove_content_view_versionsまたはpromote_remove_previous_versionを指定している場合は使用しないでください。失敗したり、予測不可能な結果を生む可能性があります。 '' 整数
promote_bypass_environment_path いいえ 通常のパス制限を越えてライフサイクル環境/パスにプロモーションを強制する False ブール値
remove_content_view_versions いいえ 指定されたコンテンツビューのバージョンを削除します。これは、Satellite6のコンテンツビューの「バージョン」タブの「バージョン」列にあるバージョン番号に対応します。このリクエストされたバージョンは現在どのライフサイクル環境とも関連付けられていない必要があります(Libraryを含む)。Libraryライフサイクル環境に関連付けられているコンテンツビューのバージョンを削除したい場合は、まずその環境から削除してください。 [] リスト
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 このロールによって完了したすべてのアクションの要約。この値を取得するためにこのロールの外でタスクを実行(例えば、メール通知を送信するタスクや結果を別にログするタスクなど)することができます。 リスト

プレイブックの使用例

---
- 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コンポジット"
            publish_new_version: True
            components:
              publish_all: True
            promote_to:
              - "RHEL7-Dev"
          # 公開およびプロモートの説明を持つコンポジットコンテンツビュー内の特定のコンテンツビューのバージョンを公開し、以前のコンポジットコンテンツビューのバージョンを削除し、2つのライフサイクル環境にプロモート
          - name: "RHEL7コンポジット2"
            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

作者情報

Andrew J. Huffman

プロジェクトについて

An Ansible Role to manage Satellite 6 Content Views

インストール
ansible-galaxy install ahuffman.satellite6_manage_content_views
ライセンス
mit
ダウンロード
304