第1章 アップグレード中にデータを移行する
Red Hat Trusted Profile Analyzer (RHTPA) バージョン 1.2 のリリースでは、取り込まれた Software Bill of Materials (SBOM) および Vulnerability Exploitability eXchange (VEX) データ用の新しいスキーマが実装されました。アップグレードする前に、SBOM および VEX データのこの新しいスキーマへのデータ移行を実行するように、RHTPA 1.2 値ファイルを設定する必要があります。このデータ移行は、RHTPA バージョン 1.2 へのアップグレードプロセス中に行われます。
前提条件
- Red Hat OpenShift への RHTPA 1.1.2 のインストール。
- 新しい PostgreSQL データベース。
-
oc
およびhelm
バイナリーがインストールされたワークステーション。
手順
ワークステーションでターミナルを開き、コマンドラインインターフェイスを使用して OpenShift にログインします。
構文
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
例
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
注記OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。ユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。
RHTPA プロジェクト namespace をエクスポートします。
構文
export NAMESPACE=RHTPA_NAMESPACE
例
$ export NAMESPACE=trusted_profile_analyzer
RHTPA 1.1.2 のインストールがプロジェクト namespace にあることを確認します。
例
$ helm list -n $NAMESPACE
RHTPA 1.1.2 をアンインストールします。
例
$ helm uninstall redhat-trusted-profile-analyzer -n $NAMESPACE
RHTPA 1.2 値ファイルを編集用に開き、次の内容を変更します。
- 新しい PostgreSQL データベースインスタンスを参照します。
- バージョン 1.1.2 で使用されたものと同じ Simple Storage Service (S3) ストレージを参照します。
- バージョン 1.1.2 で使用されたものと同じメッセージングキューを参照します。
modules.vexinationCollector.recollectVEX
およびmodules.bombasticCollector.recollectSBOM
オプションの値をtrue
に設定します。注記OpenShift 上の RHTPA デプロイメントで使用される値ファイルテンプレートは、デプロイメントガイド の付録を参照してください。
OpenShift 用の更新された RHTPA 1.2 Helm チャートを使用してアップグレードを開始します。
構文
helm install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URL
例
$ helm install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --set-string appDomain=$APP_DOMAIN_URL
注記この Helm チャートを何度も実行して、値ファイルから現在設定されている状態を適用できます。
データ移行が成功したことを確認します。
SBOM および VEX インデクサーログを表示し、
Reindexing all documents
およびReindexing finished
というメッセージを探します。例
$ oc logs bombastic-indexer -n $NAMESPACE $ oc logs vexination-indexer -n $NAMESPACE
次のエラーメッセージも表示されます。
Error syncing index: Open("Schema error: 'An index exists but the schema does not match.'"), keeping old Error loading initial index: Open("Schema error: 'An index exists but the schema does not match.'")
このスキーマの不一致のため、
bombastic-collector
およびvexination-collector
Pod は recollect コンテナーを起動して、既存の SBOM および VEX データをすべて収集します。recollect-sbom
とrecollect-vex
の両方の init-containers が正常に完了して停止するはずです。移行が完了すると、既存の SBOM および VEX データがすべて RHTPA コンソールに表示されます。