From 9183cba02e4fe0765f11a5bf0eed1adafea25789 Mon Sep 17 00:00:00 2001 From: Tomas Kyjovsky Date: Tue, 17 Apr 2018 18:33:50 +0200 Subject: [PATCH] KEYCLOAK-7189 Customizable provisioning parameters for admin user --- .../performance/README.provisioning-parameters.md | 2 ++ .../performance/docker-compose-db-failover.yml | 4 ++-- .../keycloak/src/main/scripts/docker-entrypoint.sh | 4 ++-- testsuite/performance/tests/docker-compose.sh | 4 ++++ .../docker-compose/2cpus/singlenode.properties | 2 ++ .../docker-compose/4cpus/cluster.properties | 2 ++ .../docker-compose/4cpus/crossdc.properties | 2 ++ .../docker-compose/4cpus/singlenode.properties | 2 ++ testsuite/performance/tests/pom.xml | 14 +++++++------- .../cluster/docker-compose-keycloak.yml | 4 ++-- .../crossdc/docker-compose-keycloak_dc1.yml | 4 ++-- .../src/main/docker-compose/docker-compose.yml | 4 ++-- .../keycloak/AdminConsoleScenarioBuilder.scala | 4 ++-- 13 files changed, 33 insertions(+), 19 deletions(-) diff --git a/testsuite/performance/README.provisioning-parameters.md b/testsuite/performance/README.provisioning-parameters.md index b282ff4f8c..707a40ab5c 100644 --- a/testsuite/performance/README.provisioning-parameters.md +++ b/testsuite/performance/README.provisioning-parameters.md @@ -24,6 +24,8 @@ | Category | Setting | Property | Default Value | |-------------|-------------------------------|------------------------------------|--------------------------------------------------------------------| | Keycloak | Server version | `server.version` | `${project.version}` from the project `pom.xml` file. | +| | Admin user | `keycloak.admin.user` | `admin` | +| | Admin user's password | `keycloak.admin.password` | `admin` | | Scaling[1] | Scale for cluster | `keycloak.scale` | Maximum size[2] of cluster. | | | Scale for DC1 | `keycloak.dc1.scale` | Maximum size of DC1. | | | Scale for DC2 | `keycloak.dc2.scale` | Maximum size of DC2. | diff --git a/testsuite/performance/docker-compose-db-failover.yml b/testsuite/performance/docker-compose-db-failover.yml index 81e7231e33..e20369e568 100644 --- a/testsuite/performance/docker-compose-db-failover.yml +++ b/testsuite/performance/docker-compose-db-failover.yml @@ -82,8 +82,8 @@ services: MARIADB_DATABASE: keycloak MARIADB_USER: keycloak MARIADB_PASSWORD: keycloak - KEYCLOAK_USER: admin - KEYCLOAK_PASSWORD: admin + KEYCLOAK_ADMIN_USER: admin + KEYCLOAK_ADMIN_PASSWORD: admin # docker-compose syntax note: ${ENV_VAR:-} JAVA_OPTS: ${KEYCLOAK_JVM_MEMORY:--Xms64m -Xmx2g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true HTTP_MAX_CONNECTIONS: ${KEYCLOAK_HTTP_MAX_CONNECTIONS:-500} diff --git a/testsuite/performance/keycloak/src/main/scripts/docker-entrypoint.sh b/testsuite/performance/keycloak/src/main/scripts/docker-entrypoint.sh index eb44c09a8a..e3c68e44be 100644 --- a/testsuite/performance/keycloak/src/main/scripts/docker-entrypoint.sh +++ b/testsuite/performance/keycloak/src/main/scripts/docker-entrypoint.sh @@ -10,8 +10,8 @@ echo "Server startup params: $PARAMS" # Note: External container connectivity is always provided by eth0 -- irrespective of which is considered public/private by KC. # In case the container needs to be accessible on the host computer override -b $PUBLIC_IP by adding: `-b 0.0.0.0` to the docker command. -if [ $KEYCLOAK_USER ] && [ $KEYCLOAK_PASSWORD ]; then - $JBOSS_HOME/bin/add-user-keycloak.sh --user $KEYCLOAK_USER --password $KEYCLOAK_PASSWORD +if [ $KEYCLOAK_ADMIN_USER ] && [ $KEYCLOAK_ADMIN_PASSWORD ]; then + $JBOSS_HOME/bin/add-user-keycloak.sh --user $KEYCLOAK_ADMIN_USER --password $KEYCLOAK_ADMIN_PASSWORD fi exec /opt/jboss/keycloak/bin/standalone.sh $PARAMS diff --git a/testsuite/performance/tests/docker-compose.sh b/testsuite/performance/tests/docker-compose.sh index 5c79884500..af8cd5e80b 100755 --- a/testsuite/performance/tests/docker-compose.sh +++ b/testsuite/performance/tests/docker-compose.sh @@ -119,6 +119,8 @@ function generateProvisionedSystemProperties() { echo "infinispan.servers.jmx=service:jmx:remote+http://localhost:$ISPN_DC1_PORT service:jmx:remote+http://localhost:$ISPN_DC2_PORT" >> $PROVISIONED_SYSTEM_PROPERTIES_FILE ;; esac + echo "keycloak.admin.user=$KEYCLOAK_ADMIN_USER" >> $PROVISIONED_SYSTEM_PROPERTIES_FILE + echo "keycloak.admin.password=$KEYCLOAK_ADMIN_PASSWORD" >> $PROVISIONED_SYSTEM_PROPERTIES_FILE } function loadProvisionedSystemProperties() { @@ -126,6 +128,8 @@ function loadProvisionedSystemProperties() { echo "Loading $PROVISIONED_SYSTEM_PROPERTIES_FILE" export DEPLOYMENT=$( sed -n -e '/deployment=/ s/.*\= *//p' $PROVISIONED_SYSTEM_PROPERTIES_FILE ) export KEYCLOAK_SERVICES=$( sed -n -e '/keycloak.docker.services=/ s/.*\= *//p' $PROVISIONED_SYSTEM_PROPERTIES_FILE ) + export KEYCLOAK_ADMIN_USER=$( sed -n -e '/keycloak.admin.user=/ s/.*\= *//p' $PROVISIONED_SYSTEM_PROPERTIES_FILE ) + export KEYCLOAK_ADMIN_PASSWORD=$( sed -n -e '/keycloak.admin.password=/ s/.*\= *//p' $PROVISIONED_SYSTEM_PROPERTIES_FILE ) else echo "$PROVISIONED_SYSTEM_PROPERTIES_FILE not found." fi diff --git a/testsuite/performance/tests/parameters/provisioning/docker-compose/2cpus/singlenode.properties b/testsuite/performance/tests/parameters/provisioning/docker-compose/2cpus/singlenode.properties index 4bd870874b..43efbe23c8 100644 --- a/testsuite/performance/tests/parameters/provisioning/docker-compose/2cpus/singlenode.properties +++ b/testsuite/performance/tests/parameters/provisioning/docker-compose/2cpus/singlenode.properties @@ -13,6 +13,8 @@ keycloak.ds.min-pool-size=10 keycloak.ds.max-pool-size=100 keycloak.ds.pool-prefill=true keycloak.ds.ps-cache-size=100 +keycloak.admin.user=admin +keycloak.admin.password=admin # Database Settings db.docker.cpusets=0 diff --git a/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/cluster.properties b/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/cluster.properties index d9b1c9d9db..3ccf9ae50e 100644 --- a/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/cluster.properties +++ b/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/cluster.properties @@ -14,6 +14,8 @@ keycloak.ds.min-pool-size=10 keycloak.ds.max-pool-size=100 keycloak.ds.pool-prefill=true keycloak.ds.ps-cache-size=100 +keycloak.admin.user=admin +keycloak.admin.password=admin # Database Settings db.docker.cpusets=1 diff --git a/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/crossdc.properties b/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/crossdc.properties index 4a5083f235..1548a26bd8 100644 --- a/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/crossdc.properties +++ b/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/crossdc.properties @@ -16,6 +16,8 @@ keycloak.ds.min-pool-size=10 keycloak.ds.max-pool-size=100 keycloak.ds.pool-prefill=true keycloak.ds.ps-cache-size=100 +keycloak.admin.user=admin +keycloak.admin.password=admin # Database Settings db.dc1.docker.cpusets=1 diff --git a/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/singlenode.properties b/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/singlenode.properties index e4a52c0f7d..5c436ab188 100644 --- a/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/singlenode.properties +++ b/testsuite/performance/tests/parameters/provisioning/docker-compose/4cpus/singlenode.properties @@ -13,6 +13,8 @@ keycloak.ds.min-pool-size=10 keycloak.ds.max-pool-size=100 keycloak.ds.pool-prefill=true keycloak.ds.ps-cache-size=100 +keycloak.admin.user=admin +keycloak.admin.password=admin # Database Settings db.docker.cpusets=1 diff --git a/testsuite/performance/tests/pom.xml b/testsuite/performance/tests/pom.xml index 0c7c77c8c9..aea77dc627 100644 --- a/testsuite/performance/tests/pom.xml +++ b/testsuite/performance/tests/pom.xml @@ -60,10 +60,6 @@ keycloak.OIDCLoginAndLogoutSimulation true - master - admin - admin - @@ -268,6 +264,8 @@ -Dproject.build.directory=${project.build.directory} -Dkeycloak.server.uris=${keycloak.frontend.servers} + -DauthUser=${keycloak.admin.user} + -DauthPassword=${keycloak.admin.password} -DnumOfRealms=${numOfRealms} -DusersPerRealm=${usersPerRealm} @@ -406,6 +404,9 @@ ${keycloak.ds.pool-prefill} ${keycloak.ds.ps-cache-size} + ${keycloak.admin.user} + ${keycloak.admin.password} + ${db.docker.cpusets} ${db.dc1.docker.cpusets} ${db.dc2.docker.cpusets} @@ -500,9 +501,8 @@ ${trustStoreArg} ${trustStorePasswordArg} -Dkeycloak.server.uris=${keycloak.frontend.servers} - -DauthRealm=${authRealm} - -DauthUser=${authUser} - -DauthPassword=${authPassword} + -DauthUser=${keycloak.admin.user} + -DauthPassword=${keycloak.admin.password} -DnumOfWorkers=${numOfWorkers} org.keycloak.performance.RealmsConfigurationLoader benchmark-realms.json diff --git a/testsuite/performance/tests/src/main/docker-compose/cluster/docker-compose-keycloak.yml b/testsuite/performance/tests/src/main/docker-compose/cluster/docker-compose-keycloak.yml index fdc549cea3..025f234fd7 100644 --- a/testsuite/performance/tests/src/main/docker-compose/cluster/docker-compose-keycloak.yml +++ b/testsuite/performance/tests/src/main/docker-compose/cluster/docker-compose-keycloak.yml @@ -16,8 +16,8 @@ MARIADB_DATABASE: keycloak MARIADB_USER: keycloak MARIADB_PASSWORD: keycloak - KEYCLOAK_USER: admin - KEYCLOAK_PASSWORD: admin + KEYCLOAK_ADMIN_USER: ${KEYCLOAK_ADMIN_USER:-admin} + KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin} JAVA_OPTS: ${KEYCLOAK_JVM_MEMORY:--Xms64m -Xmx2g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true HTTP_MAX_CONNECTIONS: ${KEYCLOAK_HTTP_MAX_CONNECTIONS:-50000} diff --git a/testsuite/performance/tests/src/main/docker-compose/crossdc/docker-compose-keycloak_dc1.yml b/testsuite/performance/tests/src/main/docker-compose/crossdc/docker-compose-keycloak_dc1.yml index cd72df1226..b197bb5328 100644 --- a/testsuite/performance/tests/src/main/docker-compose/crossdc/docker-compose-keycloak_dc1.yml +++ b/testsuite/performance/tests/src/main/docker-compose/crossdc/docker-compose-keycloak_dc1.yml @@ -20,8 +20,8 @@ MARIADB_DATABASE: keycloak MARIADB_USER: keycloak MARIADB_PASSWORD: keycloak - KEYCLOAK_USER: admin - KEYCLOAK_PASSWORD: admin + KEYCLOAK_ADMIN_USER: ${KEYCLOAK_ADMIN_USER:-admin} + KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin} INFINISPAN_HOST: infinispan_dc1 SITE: dc1 diff --git a/testsuite/performance/tests/src/main/docker-compose/docker-compose.yml b/testsuite/performance/tests/src/main/docker-compose/docker-compose.yml index 2d1ab26a89..bf902c9ae9 100644 --- a/testsuite/performance/tests/src/main/docker-compose/docker-compose.yml +++ b/testsuite/performance/tests/src/main/docker-compose/docker-compose.yml @@ -42,8 +42,8 @@ services: MARIADB_DATABASE: keycloak MARIADB_USER: keycloak MARIADB_PASSWORD: keycloak - KEYCLOAK_USER: admin - KEYCLOAK_PASSWORD: admin + KEYCLOAK_ADMIN_USER: ${KEYCLOAK_ADMIN_USER:-admin} + KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin} # docker-compose syntax note: ${ENV_VAR:-} JAVA_OPTS: ${KEYCLOAK_JVM_MEMORY:--Xms64m -Xmx2g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true HTTP_MAX_CONNECTIONS: ${KEYCLOAK_HTTP_MAX_CONNECTIONS:-50000} diff --git a/testsuite/performance/tests/src/test/scala/keycloak/AdminConsoleScenarioBuilder.scala b/testsuite/performance/tests/src/test/scala/keycloak/AdminConsoleScenarioBuilder.scala index 1a822b16c1..332aae8963 100644 --- a/testsuite/performance/tests/src/test/scala/keycloak/AdminConsoleScenarioBuilder.scala +++ b/testsuite/performance/tests/src/test/scala/keycloak/AdminConsoleScenarioBuilder.scala @@ -62,8 +62,8 @@ class AdminConsoleScenarioBuilder { "nonce" -> randomUUID(), "randomClientId" -> ("client_" + randomUUID()), "realm" -> realm, - "username" -> "admin", - "password" -> "admin", + "username" -> TestConfig.authUser, + "password" -> TestConfig.authPassword, "clientId" -> "security-admin-console" ) }).exitHereIfFailed