8.15. オーバークラウドのオペレーティングシステムの登録

director Operator がノードにオーバークラウドソフトウェアを設定する前に、全ノードのオペレーティングシステムを Red Hat カスタマーポータルまたは Red Hat Satellite Server のいずれかに登録して、ノードのリポジトリーを有効にする必要があります。

OpenStackControlPlane リソースの一部として、director Operator はリモートシェル経由でアクセスする OpenStackClient Pod を作成し、Red Hat OpenStack Platform (RHOSP) コマンドを実行します。この Pod には、/home/cloud-admin/ctlplane-ansible-inventory という名前の ansible インベントリースクリプトも含まれています。

ノードを登録するには、redhat_subscription Ansible モジュールを OpentackClient Pod のインベントリースクリプトと共に使用できます。

前提条件

  • OpenShift Container Platform クラスターが稼働し、director Operator が正しくインストールされていることを確認する。
  • oc コマンドラインツールがワークステーションにインストールされていることを確認する。
  • OpenStackControlPlane リソースを使用してコントロールプレーンを作成します。
  • OpenStackBareMetalSet リソースを使用して、ベアメタルの Compute ノードを作成します。

手順

  1. openstackclient のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
  2. cloud-admin ホームディレクトリーに移動します。

    $ cd /home/cloud-admin
  3. ノードを登録する redhat_subscription モジュールを使用して Playbook を作成します。たとえば、以下の Playbook はコントローラーノードを登録します。

    ---
    - name: Register Controller nodes
      hosts: Controller
      become: yes
      vars:
        repos:
          - rhel-8-for-x86_64-baseos-eus-rpms
          - rhel-8-for-x86_64-appstream-eus-rpms
          - rhel-8-for-x86_64-highavailability-eus-rpms
          - ansible-2.9-for-rhel-8-x86_64-rpms
          - openstack-16.2-for-rhel-8-x86_64-rpms
          - fast-datapath-for-rhel-8-x86_64-rpms
      tasks:
        - name: Register system
          redhat_subscription:
            username: myusername
            password: p@55w0rd!
            org_id: 1234567
            release: 8.4
            pool_ids: 1a85f9223e3d5e43013e3d6e8ff506fd
        - name: Disable all repos
          command: "subscription-manager repos --disable *"
        - name: Enable Controller node repos
          command: "subscription-manager repos --enable {{ item }}"
          with_items: "{{ repos }}"

    このプレイには、以下の 3 つのタスクが含まれます。

    • ノードを登録します。
    • 自動的に有効化されるリポジトリーをすべて無効にする。
    • コントローラーノードに関連するリポジトリーだけを有効にする。リポジトリーは repos 変数でリストされます。
  4. 必要なリポジトリーにオーバークラウドノードを登録します。

    ansible-playbook -i /home/cloud-admin/ctlplane-ansible-inventory ./rhsm.yaml