ahuffman.satellite6_bootstrap

Ansible ロール

ahuffman.satellite6_bootstrap

このロールは、Ansibleを利用してSatellite 5クライアントをSatellite 6に簡単に移行する方法を提供します。また、このロールは、クライアントをSatellite 6に初めて登録する際や、既存のSatellite 6サーバーから再登録する際にも使えます。プロセスの一環として、すべてのRHN(Satellite 5)専用コンポーネントが削除されることを保証します。

すべての要件を満たしているか確認するために、ドキュメントの「依存関係」セクションをご覧ください

このロールを呼び出す際には、最初にファクトを収集しておく必要があることに注意してください

ロール変数

以下の変数は、ロールの defaults/main.yml ファイルで設定されています:

変数名 必須 説明 デフォルト値 変数タイプ
sat6_server はい 「マスター」Satellite 6サーバーのFQDN(例:Red Hat CDNからコンテンツが同期される場所)。これはカプセルサーバーではなく、Satellite 6 APIにアクセスする必要があります。 "" 文字列
sat6_capsule いいえ クライアントがカプセルサーバーに登録する必要がある場合、この変数は登録するSatellite 6カプセルサーバーのFQDNになります。指定されない場合は、sat6_serverにデフォルト設定されます(つまり、クライアントはsat6_serverに登録されます)。 N/A 文字列
sat6_user はい ホストを作成する権限を持つSatellite 6ユーザーのユーザー名。通常は管理者ユーザーです。 "" 文字列
sat6_pass はい ホストを作成する権限を持つsat6_userのパスワード。通常は管理者ユーザーです。 "" 文字列
sat6_organization はい Satellite 6サーバーにホストを登録するための組織名。Satellite 6で見つけた組織ラベルを使用してください。 "" 文字列
sat6_activation_key はい ホストをSatellite 6に登録するために使用するアクティベーションキー。 "" 文字列
sat6_location いいえ Satellite 6でホストを登録するための場所の名前。 "" 文字列
sat6_enable_repos いいえ Satellite 6の登録が完了した後に有効にするリポジトリのリスト。 [] リスト
sat6_remote_execution いいえ このロールの files ディレクトリに、[sat6_server]-id_rsa_foreman_proxy.pub という名前のファイルを置いてください。このファイルはSatellite 6サーバーから取得できます。ファイル名のプレフィックスは、sat6_serverまたはsat6_capsule変数で設定されたSatellite 6またはカプセルサーバー名と一致する必要があります。 False ブール値
sat6_remote_execution_user いいえ Satellite 6のリモート実行キーをインストールするユーザーアカウント。 "root" 文字列
sat6_remote_execution_auth_key_path いいえ 認証済みキーのファイルパスの場合、/home/<user>/.ssh/authorized_keysではない場合。 "" 文字列
sat6_puppet いいえ Puppetのインストールと設定を実行するかどうか。 False ブール値
sat6_puppet_environment いいえ クライアントのPuppetエージェントを設定するPuppet環境。 "production" 文字列
sat6_force_puppet いいえ クライアントのPuppetエージェントと設定をアンインストールしてクリーンアップするかどうか。 False ブール値
sat6_update_client いいえ プロセスの一環として登録されるクライアントを完全に更新(パッチ)するかどうか。 False ブール値
sat6_force_katello いいえ クライアントのkatelloエージェントコンポーネントをアンインストールしてクリーンアップするかどうか。ホストを再登録するためにTrueに設定してください。 False ブール値
sat6_https いいえ Satellite 6/Capsuleサーバーからkatello-ca-consumer-latestパッケージをインストールする際にhttpsを使用するかどうか。 False ブール値
sat6_legacy_purge いいえ 移行中にSatellite 5からホストエントリを削除するかどうか。実行時に/etc/sysconfig/rhn/systemidが存在しない場合は無視されます。 False ブール値
sat6_legacy_user いいえ ホストエントリを削除する権限を持つSatellite 5ユーザーのユーザー名。sat6_legacy_purgeTrueに設定されている場合は必要です。 "" 文字列
sat6_legacy_pass いいえ ホストエントリを削除する権限を持つSatellite 5ユーザーのパスワード。sat6_legacy_purgeTrueに設定されている場合は必要です。 "" 文字列
sat6_rhsm_port いいえ 非デフォルトのSatellite 6サブスクリプションマネージャーポートを強制します。/etc/rhsm/rhsm.confのサーバーセクションでポートキーを確認してください。 "443" 文字列
sat6_os_release いいえ 使用するオペレーティングシステムのリリースを設定します。 "" 文字列
sat6_host_group はい ホストに関連付けるホストグループのタイトル。 "" 文字列
sat6_update_existing いいえ すでにSatellite 6に存在するホストを、指定したパラメータに基づいて更新するかどうか(例:アクティベーションキー、ホストグループ、または場所などを更新したい場合)。 False ブール値

以下の変数は、ロールの vars/main.yml ファイルで設定されています。特別な理由がない限り、これらを変更しないことを推奨します:

変数名 必須 説明 デフォルト値 変数タイプ
sat6_rhn_tools いいえ クライアントからクリーンアップするSatellite 5(RHN)コンポーネントのリスト。 ["rhn-setup", "rhn-client-tools", "yum-rhn-plugin", "rhnsd", "rhn-check", "rhn-lib", "spacewalk-abrt", "spacewalk-oscap", "osad", "rh--rhui-client", "candlepin-cert-consumer-"] リスト
sat6_puppet_files いいえ sat6_force_puppetが設定されている場合にクライアントから削除されるべきファイルのリスト。 ["/var/lib/puppet", "/opt/puppetlabs/puppet/cache", "/opt/puppetlabs/puppet/ssl"] リスト
sat6_sub_mgr_pkgs いいえ サブスクリプションマネージャーとその関連コンポーネントが適切に機能するために、クライアント登録後に更新する必要があるパッケージのリスト。 ["yum", "openssl", "python", "subscription-manager", "subscription-manager-migration-*"] リスト
sat6_katello_pkgs いいえ sat6_force_katelloが設定されている場合にクライアントから削除されるべきパッケージのリスト。 ["katello-ca-consumer-*", "katello-agent", "gofer", "katello-host-tools", "katello-host-tools-fact-plugin"] リスト

依存関係

リリース1.0.3以降、このロールはahuffman.sat6_create_hostsロールを必要とします。この依存関係は、移行中にホスト位置(sat6_location)およびホストグループ(sat6_host_group)を指定できる機能を追加したためです。

必要なロールをインストールするには、ansible-galaxy install ahuffman.sat6_create_hostsを実行してください。

Ansible Tower/AWXを使用している場合、この依存関係はrequirements.ymlに指定することで事前インストールを避けることができます。

例 Playbook

---
- hosts: "servers"
  vars_files:
    - "vars/secrets.yml"
  roles:
    - role: "ahuffman.satellite6_bootstrap"
      sat6_server: "mysat6.foo.bar"
      sat6_user: "mysat6user"
      sat6_pass: "{{ sat6_user_pass_from_vault }}"
      sat6_legacy_purge: True
      sat6_legacy_user: "mysat5user"
      sat6_legacy_pass: "{{ sat5_legacy_user_pass_from_vault }}"
      sat6_activation_key: "mykey1"
      sat6_organization: "myorg1"
      sat6_update_existing: True #既存のsat6ホストを指定したものに更新する強制
      sat6_update_client: True #登録後にシステムをパッチ
      sat6_enable_repos:
        - "rhel-7-server-optional-rpms"
      sat6_remote_execution: True
      sat6_puppet: True
      sat6_host_group: "RHEL7/RHEL7-Virtual-Prod"
      sat6_location: "Raleigh"

ライセンス

MIT

作者

Andrew J. Huffman

プロジェクトについて

Provides a painless method to migrate clients between Satellite5/Spacewalk and Satellite6/Capsules.

インストール
ansible-galaxy install ahuffman.satellite6_bootstrap
ライセンス
mit
ダウンロード
2.5k