クロスDC機能テスト
Keycloakアプリケーションの実際のクロスデータセンターセットアップにおけるKeycloakのクロスデータセンター機能を検証します。その一環として、現在keycloak-benchmark-crossdc-testsでホストされているテストスイートを作成しました。
CrossDCテストフレームワーク
現在のフレームワークは、以下のコンポーネントで構成されています。
- テストスイートのルートディレクトリ
-
keycloak-benchmark/provision/rosa-cross-dc
- テストランナー
-
JUnit5。
- テストデータ
-
データセットプロバイダーを使用してください。
- キャッシュメトリクス
-
ISPN Http REST clientを使用して、外部ISPNサーバーのキャッシュ統計にアクセスします。また、組み込みのInfinispanキャッシュについては、データセットプロバイダーに依存しています。
- 実行ターゲット
-
2つのKeycloakおよびInfinispanデータセンターのURLにアクセスできるCrossDCクラスター。
クロスDCクラスターを立ち上げるために、開発中に既存のROSA OCPクラスターベースのデプロイメントを使用します。 |
実行方法
テストを実行するには、テストスイートのルートディレクトリから以下のコマンドを実行します。
mvn clean install -DcrossDCTests \ -Dmain.password=<PASSWORD> \(1) -Ddeployment.type=active-active|active-passive \(2) -Ddeployment.namespace=runner-keycloak \(3) -Dkubernetes.1.context=<CONTEXT_1> \(4) -Dkubernetes.2.context=<CONTEXT_1> (5)
1 | Keycloakデプロイメントのメインパスワード |
2 | テスト対象のデプロイメントのタイプ。"active-active"または"active-passive"のいずれかです。省略した場合、デフォルトは"active-passive"です。 |
3 | 4および5で指定されたKubernetesクラスター内のKeycloakデプロイメントを含む名前空間。 |
4 | クラスター1のKubeconfigコンテキスト |
5 | クラスター2のKubeconfigコンテキスト |
または、ROSAスタイルのプロビジョニングセットアップを使用してMAIN_PASSWORD
をオンザフライでフェッチする場合、run-crossdc-tests.sh
(テストスイートのルートディレクトリにあります)ディレクトリを使用してテストを実行できます。
使用例
ACTIVE_ACTIVE=true|false \ DEPLOYMENT_NAMESPACE=runner-keycloak \ KUBERNETES_1_CONTEXT=<CONTEXT_1> \ KUBERNETES_2_CONTEXT=<CONTEXT_2> \ ./run-crossdc-tests.sh