第1章 アップグレード中にデータを移行する
Red Hat Trusted Profile Analyzer (RHTPA) バージョン 1.2 のリリースに伴い、取り込まれたソフトウェア部品表 (SBOM) および脆弱性悪用可能性交換 (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 プロジェクト名前空間をエクスポートします。
構文
export NAMESPACE=RHTPA_NAMESPACE
例
$ export NAMESPACE=trusted_profile_analyzer
RHTPA 1.1.2 のインストールがプロジェクト名前空間にあることを確認します。
例
$ helm list -n $NAMESPACE
RHTPA 1.1.2 をアンインストールします。
例
$ helm uninstall redhat-trusted-profile-analyzer -n $NAMESPACE
RHTPA 1.2 値ファイルを編集用に開き、次の内容を変更します。
- 新しい PostgreSQL データベースインスタンスを参照します。
- バージョン 1.1.2 で使用されたのと同じシンプルストレージサービス (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 インデクサーログを表示し、
すべてのドキュメントの再インデックスを実行しています
および再インデックスが完了しましたという
メッセージを探します。例
$ 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 Pod
とvexination-collector
Pod は recollect コンテナーを起動して、既存の SBOM および VEX データをすべて収集します。recollect-sbom
とrecollect-vex
の両方の init-containers が正常に完了して停止するはずです。移行が完了すると、既存の SBOM および VEX データがすべて RHTPA コンソールに表示されます。