KEYCLOAK-4189 add possibility to use jdg as cache server
This commit is contained in:
parent
a34f890453
commit
5d72def1bc
6 changed files with 157 additions and 34 deletions
|
@ -431,12 +431,20 @@ The cross DC requires setting a profile specifying used cache server (currently
|
||||||
|
|
||||||
#### Run Cross-DC Tests from Maven
|
#### Run Cross-DC Tests from Maven
|
||||||
|
|
||||||
First compile the Infinispan test server via the following command:
|
First compile the Infinispan/JDG test server via the following command:
|
||||||
|
|
||||||
`mvn -Pcache-server-infinispan -f testsuite/integration-arquillian -DskipTests clean install`
|
`mvn -Pcache-server-infinispan -f testsuite/integration-arquillian -DskipTests clean install`
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
`mvn -Pcache-server-jdg -f testsuite/integration-arquillian -DskipTests clean install`
|
||||||
|
|
||||||
Then you can run the tests using the following command (adjust the test specification according to your needs):
|
Then you can run the tests using the following command (adjust the test specification according to your needs):
|
||||||
|
|
||||||
`mvn -Pcache-server-infinispan -Dtest=*.crossdc.* -pl testsuite/integration-arquillian/tests/base test`
|
`mvn -Pcache-server-infinispan -Dtest=*.crossdc.* -pl testsuite/integration-arquillian/tests/base test`
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
`mvn -Pcache-server-jdg -Dtest=*.crossdc.* -pl testsuite/integration-arquillian/tests/base test`
|
||||||
|
|
||||||
_Someone using IntelliJ IDEA, please describe steps for that IDE_
|
_Someone using IntelliJ IDEA, please describe steps for that IDE_
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
|
||||||
|
~ and other contributors as indicated by the @author tags.
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<parent>
|
||||||
|
<groupId>org.keycloak.testsuite</groupId>
|
||||||
|
<artifactId>integration-arquillian-servers-cache-server-jboss</artifactId>
|
||||||
|
<version>3.2.0.CR1-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>integration-arquillian-servers-cache-server-jdg</artifactId>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
<name>Cache Server - JDG</name>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<cache.server>jdg</cache.server>
|
||||||
|
<cache.server.container>cache-server-${cache.server}</cache.server.container>
|
||||||
|
<cache.server.home>${containers.home}/${cache.server.container}</cache.server.home>
|
||||||
|
|
||||||
|
<cache.server.jboss.groupId>org.infinispan.server</cache.server.jboss.groupId>
|
||||||
|
<cache.server.jboss.artifactId>infinispan-server</cache.server.jboss.artifactId>
|
||||||
|
<cache.server.jboss.version>${jdg.version}</cache.server.jboss.version>
|
||||||
|
<cache.server.jboss.unpacked.folder.name>${cache.server.jboss.artifactId}-${jdg.version}</cache.server.jboss.unpacked.folder.name>
|
||||||
|
|
||||||
|
<cache.server.worker.io-threads>${cache.default.worker.io-threads}</cache.server.worker.io-threads>
|
||||||
|
<cache.server.worker.task-max-threads>${cache.default.worker.task-max-threads}</cache.server.worker.task-max-threads>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1 @@
|
||||||
|
This file is to mark this Maven project as a valid option for building cache server artifact
|
|
@ -205,6 +205,12 @@
|
||||||
<module>infinispan</module>
|
<module>infinispan</module>
|
||||||
</modules>
|
</modules>
|
||||||
</profile>
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>cache-server-jdg</id>
|
||||||
|
<modules>
|
||||||
|
<module>jdg</module>
|
||||||
|
</modules>
|
||||||
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
|
|
||||||
<!-- cache server versions -->
|
<!-- cache server versions -->
|
||||||
<infinispan.version>9.0.1.Final</infinispan.version>
|
<infinispan.version>9.0.1.Final</infinispan.version>
|
||||||
|
<jdg.version>8.4.0.Final-redhat-2</jdg.version><!-- JDG 7.1.0 -->
|
||||||
|
|
||||||
<jboss.default.worker.io-threads>16</jboss.default.worker.io-threads>
|
<jboss.default.worker.io-threads>16</jboss.default.worker.io-threads>
|
||||||
<jboss.default.worker.task-max-threads>128</jboss.default.worker.task-max-threads>
|
<jboss.default.worker.task-max-threads>128</jboss.default.worker.task-max-threads>
|
||||||
|
|
|
@ -41,7 +41,8 @@
|
||||||
<properties>
|
<properties>
|
||||||
<auth.server>undertow</auth.server>
|
<auth.server>undertow</auth.server>
|
||||||
<auth.server.undertow>true</auth.server.undertow>
|
<auth.server.undertow>true</auth.server.undertow>
|
||||||
<auth.server.undertow.crossdc>true</auth.server.undertow.crossdc>
|
<auth.server.undertow.crossdc>false</auth.server.undertow.crossdc>
|
||||||
|
<auth.server.crossdc>false</auth.server.crossdc>
|
||||||
|
|
||||||
<auth.server.container>auth-server-${auth.server}</auth.server.container>
|
<auth.server.container>auth-server-${auth.server}</auth.server.container>
|
||||||
<auth.server.home>${containers.home}/${auth.server.container}</auth.server.home>
|
<auth.server.home>${containers.home}/${auth.server.container}</auth.server.home>
|
||||||
|
@ -67,7 +68,7 @@
|
||||||
<auth.server.profile/>
|
<auth.server.profile/>
|
||||||
<auth.server.feature/>
|
<auth.server.feature/>
|
||||||
|
|
||||||
<cache.server>infinispan</cache.server>
|
<cache.server>undefined</cache.server>
|
||||||
<cache.server.container>cache-server-${cache.server}</cache.server.container>
|
<cache.server.container>cache-server-${cache.server}</cache.server.container>
|
||||||
<cache.server.home>${containers.home}/${cache.server.container}</cache.server.home>
|
<cache.server.home>${containers.home}/${cache.server.container}</cache.server.home>
|
||||||
<cache.server.port.offset>1010</cache.server.port.offset>
|
<cache.server.port.offset>1010</cache.server.port.offset>
|
||||||
|
@ -240,6 +241,22 @@
|
||||||
<client.key.passphrase>${client.key.passphrase}</client.key.passphrase>
|
<client.key.passphrase>${client.key.passphrase}</client.key.passphrase>
|
||||||
|
|
||||||
<auth.server.ocsp.responder.enabled>${auth.server.ocsp.responder.enabled}</auth.server.ocsp.responder.enabled>
|
<auth.server.ocsp.responder.enabled>${auth.server.ocsp.responder.enabled}</auth.server.ocsp.responder.enabled>
|
||||||
|
|
||||||
|
<!--cache server properties-->
|
||||||
|
<auth.server.crossdc>${auth.server.crossdc}</auth.server.crossdc>
|
||||||
|
<auth.server.undertow.crossdc>${auth.server.undertow.crossdc}</auth.server.undertow.crossdc>
|
||||||
|
|
||||||
|
<cache.server>${cache.server}</cache.server>
|
||||||
|
<cache.server.port.offset>${cache.server.port.offset}</cache.server.port.offset>
|
||||||
|
<cache.server.container>${cache.server.container}</cache.server.container>
|
||||||
|
<cache.server.home>${cache.server.home}</cache.server.home>
|
||||||
|
<cache.server.console.output>${cache.server.console.output}</cache.server.console.output>
|
||||||
|
<cache.server.management.port>${cache.server.management.port}</cache.server.management.port>
|
||||||
|
|
||||||
|
<keycloak.connectionsInfinispan.remoteStorePort>${keycloak.connectionsInfinispan.remoteStorePort}</keycloak.connectionsInfinispan.remoteStorePort>
|
||||||
|
<keycloak.connectionsInfinispan.remoteStoreServer>${keycloak.connectionsInfinispan.remoteStoreServer}</keycloak.connectionsInfinispan.remoteStoreServer>
|
||||||
|
|
||||||
|
<keycloak.connectionsJpa.url.crossdc>${keycloak.connectionsJpa.url.crossdc}</keycloak.connectionsJpa.url.crossdc>
|
||||||
</systemPropertyVariables>
|
</systemPropertyVariables>
|
||||||
<properties>
|
<properties>
|
||||||
<property>
|
<property>
|
||||||
|
@ -336,6 +353,8 @@
|
||||||
<id>cache-server-infinispan</id>
|
<id>cache-server-infinispan</id>
|
||||||
<properties>
|
<properties>
|
||||||
<cache.server>infinispan</cache.server>
|
<cache.server>infinispan</cache.server>
|
||||||
|
<auth.server.undertow.crossdc>true</auth.server.undertow.crossdc>
|
||||||
|
<auth.server.crossdc>true</auth.server.crossdc>
|
||||||
<cache.server.jboss>true</cache.server.jboss>
|
<cache.server.jboss>true</cache.server.jboss>
|
||||||
<cache.server.config.dir>${cache.server.home}/standalone/configuration</cache.server.config.dir>
|
<cache.server.config.dir>${cache.server.home}/standalone/configuration</cache.server.config.dir>
|
||||||
</properties>
|
</properties>
|
||||||
|
@ -344,17 +363,6 @@
|
||||||
<groupId>org.wildfly.arquillian</groupId>
|
<groupId>org.wildfly.arquillian</groupId>
|
||||||
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- <dependency>
|
|
||||||
<groupId>org.infinispan.arquillian.container</groupId>
|
|
||||||
<artifactId>infinispan-arquillian-impl</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>org.infinispan</groupId>
|
|
||||||
<artifactId>infinispan-core</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>-->
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -410,26 +418,79 @@
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
</plugins>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
</pluginManagement>
|
||||||
<configuration>
|
</build>
|
||||||
<systemPropertyVariables>
|
</profile>
|
||||||
|
|
||||||
|
<profile>
|
||||||
|
<id>cache-server-jdg</id>
|
||||||
|
<properties>
|
||||||
|
<cache.server>jdg</cache.server>
|
||||||
|
<auth.server.undertow.crossdc>true</auth.server.undertow.crossdc>
|
||||||
<auth.server.crossdc>true</auth.server.crossdc>
|
<auth.server.crossdc>true</auth.server.crossdc>
|
||||||
<auth.server.undertow.crossdc>${auth.server.undertow.crossdc}</auth.server.undertow.crossdc>
|
<cache.server.jboss>true</cache.server.jboss>
|
||||||
|
<cache.server.config.dir>${cache.server.home}/standalone/configuration</cache.server.config.dir>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.wildfly.arquillian</groupId>
|
||||||
|
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
<cache.server>${cache.server}</cache.server>
|
<build>
|
||||||
<cache.server.port.offset>${cache.server.port.offset}</cache.server.port.offset>
|
<plugins>
|
||||||
<cache.server.container>${cache.server.container}</cache.server.container>
|
<plugin>
|
||||||
<cache.server.home>${cache.server.home}</cache.server.home>
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||||||
<cache.server.console.output>${cache.server.console.output}</cache.server.console.output>
|
<executions>
|
||||||
<cache.server.management.port>${cache.server.management.port}</cache.server.management.port>
|
<execution>
|
||||||
|
<goals>
|
||||||
<keycloak.connectionsInfinispan.remoteStorePort>${keycloak.connectionsInfinispan.remoteStorePort}</keycloak.connectionsInfinispan.remoteStorePort>
|
<goal>enforce</goal>
|
||||||
<keycloak.connectionsInfinispan.remoteStoreServer>${keycloak.connectionsInfinispan.remoteStoreServer}</keycloak.connectionsInfinispan.remoteStoreServer>
|
</goals>
|
||||||
|
<configuration>
|
||||||
<keycloak.connectionsJpa.url.crossdc>${keycloak.connectionsJpa.url.crossdc}</keycloak.connectionsJpa.url.crossdc>
|
<rules>
|
||||||
</systemPropertyVariables>
|
<!--requireActiveProfile 'auth-server-wildfly/eap' doesn't work unless the profiles are defined in all submodule poms
|
||||||
|
using requireProperty instead-->
|
||||||
|
<requireProperty>
|
||||||
|
<property>cache.server</property>
|
||||||
|
<regex>(infinispan)|(jdg)</regex>
|
||||||
|
<regexMessage>Profile "cache-server-jdg" requires activation of profile "cache-server-infinispan" or "cache-server-jdg".</regexMessage>
|
||||||
|
</requireProperty>
|
||||||
|
</rules>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-antrun-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>unpack-cache-server-jdg</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>unpack</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<artifactItems>
|
||||||
|
<artifactItem>
|
||||||
|
<groupId>org.keycloak.testsuite</groupId>
|
||||||
|
<artifactId>integration-arquillian-servers-cache-server-jdg</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>zip</type>
|
||||||
|
<outputDirectory>${containers.home}</outputDirectory>
|
||||||
|
</artifactItem>
|
||||||
|
</artifactItems>
|
||||||
|
<overWriteIfNewer>true</overWriteIfNewer>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</pluginManagement>
|
</pluginManagement>
|
||||||
|
|
Loading…
Reference in a new issue