第9章 コンポーザブルサービスおよびパラメーターの更新

オーバークラウドのアップグレードに向けた準備を行うには、いくつかのコンポーザブルサービス設定を完了する必要があります。

9.1. カスタム roles_data ファイルのコンポーザブルサービスの更新

本項では、新しいコンポーザブルサービスおよび非推奨のコンポーザブルサービスについて説明します。

  • デフォルトの roles_data ファイルを使用する場合は、これらのサービスが自動的に含まれます。
  • カスタムの roles_data ファイルを使用する場合は、該当するロールごとに新しいサービスを追加し非推奨のサービスを削除します。

コントローラーノード

コントローラーノードでは、以下のサービスが非推奨になっています。Controller ロールからこれらのサービスを削除します。

サービス理由

OS::TripleO::Services::AodhApi

OS::TripleO::Services::AodhEvaluator

OS::TripleO::Services::AodhListener

OS::TripleO::Services::AodhNotifier

OS::TripleO::Services::CeilometerApi

OS::TripleO::Services::CeilometerCollector

OS::TripleO::Services::CeilometerExpirer

OS::TripleO::Services::MongoDb

OS::TripleO::Services::PankoApi

OpenStack Platform には OpenStack Telemetry サービスが含まれなくなり、メトリクスおよびモニタリングに Service Telemetry Framework (STF) が使用されるようになったため。

OS::TripleO::Services::Congress

Congress はサポートされなくなったため。

OS::TripleO::Services::GlanceRegistry

OpenStack Platform Image サービス (glance) API v2 により、このサービスはサポートされなくなったため。

OS::TripleO::Services::NeutronCorePluginPlumgrid

OS::TripleO::Services::NeutronCorePluginMidonet

これらの OpenStack Networking (neutron) 用プラグインは非推奨になったため。

OS::TripleO::Services::NeutronLbaasv2Agent

OS::TripleO::Services::NeutronLbaasv2Api

Octavia を優先し、OpenStack Networking (neutron) Load Balancing as a Service は非推奨になったため。

OS::TripleO::Services::NovaConsoleauth

このサービスは非推奨になったため。

OS::TripleO::Services::NovaPlacement

OS::TripleO::Services::PlacementApi を優先し、非推奨になったため。

OS::TripleO::Services::OpenDaylightApi

OS::TripleO::Services::OpenDaylightOvs

OpenDaylight はサポートされなくなったため。

OS::TripleO::Services::RabbitMQ

このサービスは、2 つの新規サービスに置き換えられています。

OS::TripleO::Services::OsloMessagingRpc

OS::TripleO::Services::OsloMessagingNotify

OS::TripleO::Services::SkydiveAgent

OS::TripleO::Services::SkydiveAnalyzer

Skydive はサポートされなくなったため。

OS::TripleO::Services::Tacker

Tacker はサポートされなくなったため。

コントローラーノードの新規サービスは以下のとおりです。Controller ロールにこれらのサービスを追加します。

サービス理由

OS::TripleO::Services::CephGrafana

Ceph Dashboard サービスを有効にするタスク

OS::TripleO::Services::CinderBackendDellEMCPowermax

OS::TripleO::Services::CinderBackendDellEMCSc

OS::TripleO::Services::CinderBackendNVMeOF

Block Storage (cinder) の新規バックエンド

OS::TripleO::Services::ContainerImagePrepare

コマンドを実行して、オーバークラウドのサービスに関連するコンテナーイメージを自動的にプルして準備します。

OS::TripleO::Services::DesignateApi

OS::TripleO::Services::DesignateCentral

OS::TripleO::Services::DesignateProducer

OS::TripleO::Services::DesignateWorker

OS::TripleO::Services::DesignateMDNS

OS::TripleO::Services::DesignateSink

DNS-as-a-Service 用サービス (designate)

OS::TripleO::Services::IronicInspector

オーバークラウドのベアメタルイントロスペクション用サービス

OS::TripleO::Services::IronicNeutronAgent

OpenStack Bare Metal (ironic) 用ネットワークエージェント

OS::TripleO::Services::NeutronAgentsIBConfig

Mellanox InfiniBand OpenStack Networking (neutron) エージェント用サービス

OS::TripleO::Services::OpenStackClients

Red Hat OpenStack Platform コマンドラインツールをインストールするためのサービス

OS::TripleO::Services::OsloMessagingRpc

OS::TripleO::Services::OsloMessagingNotify

OS::TripleO::Services::RabbitMQ の代替サービス

OS::TripleO::Services::PlacementApi

Placement API 用サービス

コンピュートノード

コンピュートノードでは、以下のサービスが非推奨になっています。Compute ロールからこれらのサービスを削除します。

サービス理由

OS::TripleO::Services::OpenDaylightOvs

OpenDaylight はサポートされなくなったため。

OS::TripleO::Services::SkydiveAgent

Skydive はサポートされなくなったため。

コンピュートノードの新規サービスは以下のとおりです。Compute ロールにこれらのサービスを追加します。

サービス理由

OS::TripleO::Services::NovaAZConfig

OpenStack Compute (nova) でホストアグリゲートおよびアベイラビリティーゾーンを設定するためのサービス

全ノード

すべてのノードで、以下のサービスが非推奨になっています。すべてのロールからこれらのサービスを削除します。

サービス理由

OS::TripleO::Services::Docker

Podman に置き換わったため。

OS::TripleO::Services::Fluentd

OS::TripleO::Services::Rsyslog を優先し、非推奨になったため。

OS::TripleO::Services::Ntp

OS::TripleO::Services::Timesync を優先し、非推奨になったため。

OS::TripleO::Services::SensuClient

このサービスは非推奨になったため。

OS::TripleO::Services::Ptp

OS::TripleO::Services::Timesync を優先し、非推奨になったため。

全ノードでの新規サービスは以下のとおりです。すべてのロールにこれらのサービスを追加します。

サービス理由

OS::TripleO::Services::BootParams

カーネル引数、Tuned プロファイル、および CPU 分離を設定するためのサービス

OS::TripleO::Services::Collectd

Collectd を設定するためのサービス

OS::TripleO::Services::Multipathd

デフォルトで無効化されている Multipathd サービスを提供します。

OS::TripleO::Services::Podman

Podman をインストールし有効にするためのサービス

OS::TripleO::Services::Rear

Relax-and-Recover (ReaR) バックアップおよびリストアツールをインストールおよび有効にするためのサービス

OS::TripleO::Services::Rsyslog

集中ログコレクションを設定するためのサービス

OS::TripleO::Services::Timesync

時刻同期方法 (デフォルトでは Chronyd) を有効にするためのサービス

9.2. カスタム環境ファイルのコンポーザブルサービスの更新

resource_registry セクションのあるカスタム環境ファイルを使用している場合は、resource_registry セクションでコンポーザブルサービステンプレートのマッピングに変更がないか確認してください。Red Hat OpenStack Platform 16.1 では、コンポーザブルサービスのファイルは /usr/share/openstack-tripleo-heat-templates/ 内の新しい場所にあります。

Red Hat OpenStack Platform 13Red Hat OpenStack Platform 16.1

docker/services/

deployment

deployment ディレクトリーには、コンポーザブルサービスをグループ化するためのサブディレクトリーセットが含まれます。たとえば、keystone サブディレクトリーには、OpenStack Identity (keystone) のコンポーザブルサービステンプレートが含まれます。

カスタム環境ファイルのコンポーザブルサービスを再マッピングするには、現在のサービスマッピングのテンプレートの場所を確認し、マッピングを新しい場所に編集します。以下の手順では、例として ceph-mgr.yaml を使用しています。

重要

以下の手順は、コンポーザブルサービスを再マッピングする際のガイドとしてのみ提供されます。いずれかのマッピングが不明であれば、Red Hat に連絡して正しいマッピングについてアドバイスを求めてください。

手順

  1. コンポーザブルサービスを使用するカスタム環境ファイルを検索します。通常、カスタム環境ファイルは /home/stack/templates ディレクトリーに保存されます。

    $ cd ~/templates/
    $ grep "OS::TripleO::Services" *

    このシナリオでは、ファイルの 1 つに古くなったマッピングがあるとします。

      OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mgr.yaml
  2. /usr/share/openstack-tripleo-heat-templates/ で新しい ceph-mgr.yaml の場所を特定します。このファイルは、deployment/ceph-ansible ディレクトリーに置かれています。

    $ find /usr/share/openstack-tripleo-heat-templates/ -name ceph-mgr.yaml
    /usr/share/openstack-tripleo-heat-templates/deployment/ceph-ansible/ceph-mgr.yaml
  3. カスタム環境ファイルでサービスを編集します。

    resource_registry:
      OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/deployment/ceph-ansible/ceph-mgr.yaml

    ファイルを保存します。

9.3. アンダークラウドレジストリーへのアクセスの設定

アンダークラウドのコントロールプレーンのホスト名を、DockerInsecureRegistryAddress パラメーターに追加します。このパラメーターを containers-prepare-parameter.yaml ファイルに置き、パラメーターがこれ以降のオーバークラウドデプロイメントに含まれるようにします。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. アンダークラウドのコントロールプレーンのホスト名を取得します。

    $ sudo hiera container_image_prepare_node_names
    ["undercloud.ctlplane.localdomain"]
  3. containers-prepare-parameter.yaml ファイルを編集し、DockerInsecureRegistryAddress パラメーターを追加してアンダークラウドのコントロールプレーンのホスト名が含まれる YAML の一覧を指定します。

    parameter_defaults:
      DockerInsecureRegistryAddress:
      - undercloud.ctlplane.localdomain:8787
      ...

    ホスト名の値に、オーバークラウドレジストリーのポート番号も追加する必要があります。ポート番号は 8787 です。

9.4. 非推奨化および廃止された NovaSchedulerDefaultFilters パラメーターのフィルター

お使いの環境でカスタムの NovaSchedulerDefaultFilters パラメーターが使用されている場合は、パラメーターを編集して以下に示す非推奨化および廃止されたフィルターを削除します。

フィルターステータス

AggregateCoreFilter

非推奨

AggregateRamFilter

非推奨

AggregateDiskFilter

非推奨

ExactCoreFilter

廃止

ExactRamFilter

廃止

ExactDiskFilter

廃止

CoreFilter

廃止

RamFilter

廃止

DiskFilter

廃止

RetryFilter

非推奨

重要

非推奨 と識別されたフィルターを使用しないでください。Red Hat OpenStack Platform 16.1 には引き続き非推奨のフィルターが含まれていますが、Red Hat OpenStack Platform の今後のバージョンにはこれらのフィルターは含まれません。

9.5. Compute 名の形式の設定

Red Hat OpenStack Platform 13 では、コンピュートノードのデフォルト命名形式として %stackname%-compute-%index% が使用されます。Red Hat OpenStack Platform 16.1 では、コンピュートノードのデフォルト命名形式として %stackname%-novacompute-%index% が使用されます。デフォルトの命名形式を変更して、元の Red Hat OpenStack Platform 13 の命名形式を維持します。元の命名形式を使用しない場合には、director は新しい命名形式の新たな OpenStack Compute (nova) エージェントを設定し、古い命名形式の既存の OpenStack Compute (nova) エージェントを孤立サービスとして維持します。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. Compute の命名形式を設定します。

    • カスタムの roles_data ファイルを使用する場合は、カスタム roles_data ファイルを編集して Compute ロールの HostnameFormatDefault パラメーターを設定します。

      - name: Compute
        …​
        HostnameFormatDefault: '%stackname%-compute-%index%'
        …​

      カスタムの roles_data ファイルを保存します。

    • openstack-tripleo-heat-templates のデフォルト roles_data ファイルを使用する場合は、環境ファイルで命名形式を設定します。実際のノード数およびフレーバーに合わせて環境ファイルを編集します。このファイルは、通常 node-info.yaml という名前です。parameter_defaults セクションに ComputeHostnameFormat パラメーターを追加します。

      parameter_defaults:
        …​
        ComputeHostnameFormat: '%stackname%-compute-%index%'
        …​

      node-info.yaml ファイルを保存します。

9.6. SSL/TLS 設定の更新

resource_registry から NodeTLSData リソースを削除して、SSL/TLS 設定を更新します。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. source コマンドで stackrc ファイルを読み込みます。

    $ source ~/stackrc
  3. カスタムのオーバークラウド SSL/TLS パブリックエンドポイントファイルを編集します。このファイルは、通常 ~/templates/enable-tls.yaml という名前です。
  4. resource_registry から NodeTLSData リソースを削除します。

    resource_registry:
      OS::TripleO::NodeTLSData: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/tls/tls-cert-inject.yaml
      …​

    オーバークラウドデプロイメントは、HAProxy の新しいサービスを使用して SSL/TLS が有効かどうかを判断します。

    注記

    enable-tls.yaml ファイルの resource_registry セクションのリソースがこれだけであれば、resource_registry セクション全体を削除します。

  5. SSL/TLS パブリックエンドポイントファイルを保存します。

9.7. 設定後テンプレートの更新

登録に OS::TripleO::NodeExtraConfigPost リソースを使用し、設定後テンプレートを実行する場合は、テンプレートに EndpointMap パラメーターを追加する必要があります。

手順

  1. 設定後テンプレートを編集します。
  2. parameters セクションに EndpointMap パラメーターおよびそのサブパラメーターを追加します。

    parameters:
      servers:
        type: json
      nameserver_ip:
        type: string
      DeployIdentifier:
        type: string
      EndpointMap:
        default: {}
        type: json
  3. テンプレートを保存します。