[KEYCLOAK-17227] Wildfly 23 upgrade

Base fixes:
    * [KEYCLOAK-17228] Upgrade Keycloak to Wildfly 23.0.0.Final / Wildfly Core 15.0.0.Final

    Other (related) fixes:
    * [KEYCLOAK-17477] Update org.wildfly.common to 1.5.4.Final
    * [KEYCLOAK-17478] Update wildfly-galleon-maven-plugin to 5.1.0.Final
    * [KEYCLOAK-17479] Keycloak Galleon Feature Pack: Adapter fails to build on top of Wildfly 23
    * [KEYCLOAK-17482] Sync Wildfly 23 model changes to Keycloak
    * [KEYCLOAK-17508] Apply workaround for WFCORE-5335
    * [KEYCLOAK-17231] Update org.keycloak.testsuite.metrics.MetricsRestServiceTest
      to work with org.wildfly.extension.health
    * [KEYCLOAK-17585] Fix Quarkus startup failure post applying Wildfly 23 upgrade changes
    * [KEYCLOAK-17583] Fix ConfigMigrationTest post applying Wildfly 23 model changes
    * [KEYCLOAK-17584] Fix ActionTokenCrossDCTest#sendResetPasswordEmailSuccessWorksInCrossDc
      test failure post applying Wildfly 23 upgrade changes

Signed-off-by: Jan Lieskovsky <jlieskov@redhat.com>
This commit is contained in:
Jan Lieskovsky 2021-03-16 08:10:32 +01:00 committed by Hynek Mlnařík
parent 60fac7c3c4
commit 6df5ba0f1c
42 changed files with 255 additions and 128 deletions

View file

@ -4,88 +4,88 @@
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId> <artifactId>bcpkix-jdk15on</artifactId>
<version>1.67</version> <version>1.68</version>
<licenses> <licenses>
<license> <license>
<name>MIT License</name> <name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv67/LICENSE.html</url> <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv68/LICENSE.html</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId> <artifactId>bcprov-jdk15on</artifactId>
<version>1.67</version> <version>1.68</version>
<licenses> <licenses>
<license> <license>
<name>MIT License</name> <name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv67/LICENSE.html</url> <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv68/LICENSE.html</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.11.3/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.12.1/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId> <artifactId>jackson-core</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.11.3/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.12.1/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.11.3/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.12.1/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId> <groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId> <artifactId>jackson-jaxrs-base</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.11.3/json/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.12.1/json/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId> <groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId> <artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.11.3/json/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.12.1/json/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.module</groupId> <groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId> <artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.11.3/json/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.12.1/json/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>

View file

@ -4,88 +4,88 @@
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId> <artifactId>bcpkix-jdk15on</artifactId>
<version>1.67</version> <version>1.68</version>
<licenses> <licenses>
<license> <license>
<name>MIT License</name> <name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv67/LICENSE.html</url> <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv68/LICENSE.html</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId> <artifactId>bcprov-jdk15on</artifactId>
<version>1.67</version> <version>1.68</version>
<licenses> <licenses>
<license> <license>
<name>MIT License</name> <name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv67/LICENSE.html</url> <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv68/LICENSE.html</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.11.3/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.12.1/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId> <artifactId>jackson-core</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.11.3/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.12.1/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.11.3/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.12.1/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId> <groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId> <artifactId>jackson-jaxrs-base</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.11.3/base/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.12.1/base/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId> <groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId> <artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.11.3/json/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.12.1/json/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.module</groupId> <groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId> <artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.11.3</version> <version>2.12.1</version>
<licenses> <licenses>
<license> <license>
<name>Apache Software License 2.0</name> <name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-modules-base/jackson-modules-base-2.11.3/jaxb/src/main/resources/META-INF/LICENSE</url> <url>https://raw.githubusercontent.com/FasterXML/jackson-modules-base/jackson-modules-base-2.12.1/jaxb/src/main/resources/META-INF/LICENSE</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>

View file

@ -17,7 +17,7 @@
~ limitations under the License. ~ limitations under the License.
--> -->
<domain xmlns="urn:jboss:domain:15.0"> <domain xmlns="urn:jboss:domain:16.0">
<extensions> <extensions>
<?EXTENSIONS?> <?EXTENSIONS?>

View file

@ -22,7 +22,7 @@
is also started by this host controller file. The other instance must be started is also started by this host controller file. The other instance must be started
via host-slave.xml via host-slave.xml
--> -->
<host name="master" xmlns="urn:jboss:domain:15.0"> <host name="master" xmlns="urn:jboss:domain:16.0">
<extensions> <extensions>
<?EXTENSIONS?> <?EXTENSIONS?>
</extensions> </extensions>

View file

@ -17,7 +17,7 @@
~ limitations under the License. ~ limitations under the License.
--> -->
<host xmlns="urn:jboss:domain:15.0"> <host xmlns="urn:jboss:domain:16.0">
<extensions> <extensions>
<?EXTENSIONS?> <?EXTENSIONS?>
</extensions> </extensions>

View file

@ -23,7 +23,7 @@
via host-slave.xml via host-slave.xml
--> -->
<host name="master" xmlns="urn:jboss:domain:15.0"> <host name="master" xmlns="urn:jboss:domain:16.0">
<extensions> <extensions>
<?EXTENSIONS?> <?EXTENSIONS?>
</extensions> </extensions>

View file

@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<server xmlns="urn:jboss:domain:15.0"> <server xmlns="urn:jboss:domain:16.0">
<extensions> <extensions>
<?EXTENSIONS?> <?EXTENSIONS?>

View file

@ -729,4 +729,25 @@ if (outcome == failed) of /profile=$clusteredProfile/subsystem=elytron/server-ss
echo echo
end-if end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-executor-service' from INT to LONG
if (result == 0) of /profile=$clusteredProfile/subsystem=ee/managed-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed executor service to default value (0 miliseconds)
/profile=$clusteredProfile/subsystem=ee/managed-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-scheduled-executor-service' from INT to LONG
if (result == 0) of /profile=$clusteredProfile/subsystem=ee/managed-scheduled-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed scheduled executor service to default value (0 miliseconds)
/profile=$clusteredProfile/subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Set value of JPA default-datasource from empty string to 'undefined'
if (outcome == success) && (result == "") of /profile=$clusteredProfile/subsystem=jpa:read-attribute(name=default-datasource)
echo Setting value of to default-datasource attribute in JPA subsystem to 'undefined'
/profile=$clusteredProfile/subsystem=jpa:undefine-attribute(name=default-datasource)
echo
end-if
echo *** End Migration of /profile=$clusteredProfile *** echo *** End Migration of /profile=$clusteredProfile ***

View file

@ -630,4 +630,25 @@ if (outcome == failed) of /profile=$standaloneProfile/subsystem=elytron/server-s
echo echo
end-if end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-executor-service' from INT to LONG
if (result == 0) of /profile=$standaloneProfile/subsystem=ee/managed-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed executor service to default value (0 miliseconds)
/profile=$standaloneProfile/subsystem=ee/managed-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-scheduled-executor-service' from INT to LONG
if (result == 0) of /profile=$standaloneProfile/subsystem=ee/managed-scheduled-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed scheduled executor service to default value (0 miliseconds)
/profile=$standaloneProfile/subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Set value of JPA default-datasource from empty string to 'undefined'
if (outcome == success) && (result == "") of /profile=$standaloneProfile/subsystem=jpa:read-attribute(name=default-datasource)
echo Setting value of to default-datasource attribute in JPA subsystem to 'undefined'
/profile=$standaloneProfile/subsystem=jpa:undefine-attribute(name=default-datasource)
echo
end-if
echo *** End Migration of /profile=$standaloneProfile *** echo *** End Migration of /profile=$standaloneProfile ***

View file

@ -857,4 +857,25 @@ if (outcome == failed) of /subsystem=elytron/server-ssl-context=applicationSSC:r
echo echo
end-if end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-executor-service' from INT to LONG
if (result == 0) of /subsystem=ee/managed-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed executor service to default value (0 miliseconds)
/subsystem=ee/managed-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-scheduled-executor-service' from INT to LONG
if (result == 0) of /subsystem=ee/managed-scheduled-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed scheduled executor service to default value (0 miliseconds)
/subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Set value of JPA default-datasource from empty string to 'undefined'
if (outcome == success) && (result == "") of /subsystem=jpa:read-attribute(name=default-datasource)
echo Setting value of to default-datasource attribute in JPA subsystem to 'undefined'
/subsystem=jpa:undefine-attribute(name=default-datasource)
echo
end-if
echo *** End Migration *** echo *** End Migration ***

View file

@ -710,4 +710,25 @@ if (outcome == failed) of /subsystem=elytron/server-ssl-context=applicationSSC:r
echo echo
end-if end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-executor-service' from INT to LONG
if (result == 0) of /subsystem=ee/managed-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed executor service to default value (0 miliseconds)
/subsystem=ee/managed-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Convert type of 'hung-task-termination-period' attribute for 'managed-scheduled-executor-service' from INT to LONG
if (result == 0) of /subsystem=ee/managed-scheduled-executor-service=default:read-attribute(name=hung-task-termination-period)
echo Setting period for automatic termination of hung tasks for managed scheduled executor service to default value (0 miliseconds)
/subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=hung-task-termination-period,value=0L)
echo
end-if
## Set value of JPA default-datasource from empty string to 'undefined'
if (outcome == success) && (result == "") of /subsystem=jpa:read-attribute(name=default-datasource)
echo Setting value of to default-datasource attribute in JPA subsystem to 'undefined'
/subsystem=jpa:undefine-attribute(name=default-datasource)
echo
end-if
echo *** End Migration *** echo *** End Migration ***

View file

@ -1,3 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- <!--
~ Copyright 2016 Red Hat, Inc. and/or its affiliates ~ Copyright 2016 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags. ~ and other contributors as indicated by the @author tags.
@ -14,8 +15,7 @@
~ See the License for the specific language governing permissions and ~ See the License for the specific language governing permissions and
~ limitations under the License. ~ limitations under the License.
--> -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent> <parent>
<groupId>org.keycloak</groupId> <groupId>org.keycloak</groupId>
<artifactId>galleon-feature-packs-parent</artifactId> <artifactId>galleon-feature-packs-parent</artifactId>
@ -32,7 +32,7 @@
<properties> <properties>
<feature-pack.resources.directory>${basedir}/../../feature-packs/adapter-feature-pack/src/main/resources</feature-pack.resources.directory> <feature-pack.resources.directory>${basedir}/../../feature-packs/adapter-feature-pack/src/main/resources</feature-pack.resources.directory>
<version.org.wildfly.galleon-plugins>4.2.6.Final</version.org.wildfly.galleon-plugins> <version.org.wildfly.galleon-plugins>5.1.0.Final</version.org.wildfly.galleon-plugins>
<xmlFileSource>${feature-pack.resources.directory}/licenses/${product.slot}/licenses.xml</xmlFileSource> <xmlFileSource>${feature-pack.resources.directory}/licenses/${product.slot}/licenses.xml</xmlFileSource>
<outputDirectory>${basedir}/target/resources/packages/licenses/content/docs/licenses-${product.slot}</outputDirectory> <outputDirectory>${basedir}/target/resources/packages/licenses/content/docs/licenses-${product.slot}</outputDirectory>
</properties> </properties>

View file

@ -14,22 +14,8 @@
~ limitations under the License. ~ limitations under the License.
--> -->
<build xmlns="urn:wildfly:feature-pack-build:3.0" producer="org.keycloak:keycloak-adapter-galleon-pack"> <build xmlns="urn:wildfly:feature-pack-build:3.1" producer="org.keycloak:keycloak-adapter-galleon-pack">
<transitive> <transitive>
<dependency group-id="org.wildfly.core" artifact-id="wildfly-core-galleon-pack">
<name>org.wildfly.core:wildfly-core-galleon-pack</name>
<packages inherit="false">
<exclude name="product.conf"/>
</packages>
<default-configs inherit="false"/>
</dependency>
<dependency group-id="org.wildfly" artifact-id="wildfly-servlet-galleon-pack">
<name>org.wildfly:wildfly-servlet-galleon-pack</name>
<packages inherit="false">
<exclude name="product.conf"/>
</packages>
<default-configs inherit="false"/>
</dependency>
<dependency group-id="org.wildfly" artifact-id="wildfly-ee-galleon-pack"> <dependency group-id="org.wildfly" artifact-id="wildfly-ee-galleon-pack">
<name>org.wildfly:wildfly-ee-galleon-pack</name> <name>org.wildfly:wildfly-ee-galleon-pack</name>
<packages inherit="false"> <packages inherit="false">

View file

@ -4,22 +4,22 @@
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId> <artifactId>bcpkix-jdk15on</artifactId>
<version>1.67</version> <version>1.68</version>
<licenses> <licenses>
<license> <license>
<name>MIT License</name> <name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv67/LICENSE.html</url> <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv68/LICENSE.html</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId> <artifactId>bcprov-jdk15on</artifactId>
<version>1.67</version> <version>1.68</version>
<licenses> <licenses>
<license> <license>
<name>MIT License</name> <name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv67/LICENSE.html</url> <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv68/LICENSE.html</url>
</license> </license>
</licenses> </licenses>
</dependency> </dependency>

View file

@ -52,6 +52,7 @@ __all__ = [
'saveUrlToNamedTemporaryFile' 'saveUrlToNamedTemporaryFile'
'updateAdapterLicenseFile', 'updateAdapterLicenseFile',
'performMainKeycloakPomFileUpdateTask', 'performMainKeycloakPomFileUpdateTask',
'performAdapterGalleonPackPomFileUpdateTask',
'performKeycloakAdapterLicenseFilesUpdateTask', 'performKeycloakAdapterLicenseFilesUpdateTask',
'synchronizeInfinispanSubsystemXmlNamespaceWithWildfly' 'synchronizeInfinispanSubsystemXmlNamespaceWithWildfly'
] ]
@ -598,7 +599,10 @@ def mergeTwoGavDictionaries(firstGavDictionary, secondGavDictionary):
_excludedProperties = [ _excludedProperties = [
# Intentionally avoid Apache DS downgrade from "2.0.0.AM26" to Wildfly's current # Intentionally avoid Apache DS downgrade from "2.0.0.AM26" to Wildfly's current
# "2.0.0-M24" version due to recent KEYCLOAK-14162 # "2.0.0-M24" version due to recent KEYCLOAK-14162
"apacheds.version" "apacheds.version",
# KEYCLOAK-17585 Prevent microprofile-metrics-api upgrades from version "2.3" due to:
# https://issues.redhat.com/browse/KEYCLOAK-17585?focusedCommentId=16002705&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16002705
"microprofile-metrics-api.version"
] ]
# List of Keycloak specific properties listed in main Keycloak pom.xml file. These entries: # List of Keycloak specific properties listed in main Keycloak pom.xml file. These entries:
@ -804,36 +808,12 @@ def _scanMainKeycloakPomFileForUnknownArtifacts():
artifactName not in itertools.chain(_excludedProperties, _keycloakSpecificProperties, _keycloakToWildflyProperties.keys()) artifactName not in itertools.chain(_excludedProperties, _keycloakSpecificProperties, _keycloakToWildflyProperties.keys())
) )
# Empirical list of artifacts to retrieve from Wildfly-Core's pom.xml rather than from Wildfly's pom.xml
_wildflyCoreProperties = [
"wildfly.build-tools.version",
"aesh.version",
"apache.httpcomponents.version",
"apache.httpcomponents.httpcore.version",
"jboss.dmr.version",
"bouncycastle.version",
"jboss.logging.version",
"jboss.logging.tools.version",
"log4j.version",
"slf4j-api.version",
"slf4j.version",
"javax.xml.bind.jaxb.version",
"undertow.version",
"elytron.version",
"elytron.undertow-server.version",
"woodstox.version",
"glassfish.json.version",
"picketbox.version",
"commons-lang.version",
"commons-io.version",
"junit.version",
]
def performMainKeycloakPomFileUpdateTask(wildflyPomFile, wildflyCorePomFile, forceUpdates = False): def performMainKeycloakPomFileUpdateTask(wildflyPomFile, wildflyCorePomFile, forceUpdates = False):
""" """
Synchronize the versions of artifacts listed as properties in the main Synchronize the versions of artifacts listed as properties in the main
Keycloak pom.xml file with their counterparts taken from 'wildflyPomFile' Keycloak pom.xml file with their counterparts taken from 'wildflyPomFile'
and 'wildflyCorePomFile'. or 'wildflyCorePomFile'.
""" """
wildflyXmlTreeRoot = getXmlRoot(wildflyPomFile) wildflyXmlTreeRoot = getXmlRoot(wildflyPomFile)
wildflyCoreXmlTreeRoot = getXmlRoot(wildflyCorePomFile) wildflyCoreXmlTreeRoot = getXmlRoot(wildflyCorePomFile)
@ -853,11 +833,11 @@ def performMainKeycloakPomFileUpdateTask(wildflyPomFile, wildflyCorePomFile, for
if keycloakElemName == "wildfly.version": if keycloakElemName == "wildfly.version":
wildflyElem = getElementsByXPath(wildflyXmlTreeRoot, '/pom:project/pom:version') wildflyElem = getElementsByXPath(wildflyXmlTreeRoot, '/pom:project/pom:version')
# Artifact is one of those listed above to be fetched from Wildfly Core's pom.xml
elif keycloakElemName in _wildflyCoreProperties:
wildflyElem = getPomProperty(wildflyCoreXmlTreeRoot, wildflyElemName)
# Otherwise fetch artifact version from Wildfly's pom.xml
else: else:
# Try to fetch updated artifact version from Wildfly Core's pom.xml first
wildflyElem = getPomProperty(wildflyCoreXmlTreeRoot, wildflyElemName)
# If not found, fetch it from Wildfly's pom.xml file
if not wildflyElem:
wildflyElem = getPomProperty(wildflyXmlTreeRoot, wildflyElemName) wildflyElem = getPomProperty(wildflyXmlTreeRoot, wildflyElemName)
if wildflyElem: if wildflyElem:
@ -893,6 +873,46 @@ def performMainKeycloakPomFileUpdateTask(wildflyPomFile, wildflyCorePomFile, for
stepLogger.info("Done syncing artifact version changes to: '%s'!" % mainKeycloakPomPath.replace(getKeycloakGitRepositoryRoot(), '.')) stepLogger.info("Done syncing artifact version changes to: '%s'!" % mainKeycloakPomPath.replace(getKeycloakGitRepositoryRoot(), '.'))
stepLogger.debug("Wrote updated main Keycloak pom.xml file to: '%s'" % mainKeycloakPomPath) stepLogger.debug("Wrote updated main Keycloak pom.xml file to: '%s'" % mainKeycloakPomPath)
def performAdapterGalleonPackPomFileUpdateTask(wildflyCorePomFile, forceUpdates = False):
"""
Synchronize Keycloak's version of 'version.org.wildfly.galleon-plugins' artifact in the adapter Galleon pack
with its corresponding version from Wildfly Core
"""
wildflyGalleonMavenPluginProperty = "version.org.wildfly.galleon-plugins"
wildflyCoreXmlTreeRoot = getXmlRoot(wildflyCorePomFile)
wildflyGalleonMavenPluginWildflyCoreElem = getPomProperty(wildflyCoreXmlTreeRoot, wildflyGalleonMavenPluginProperty)
wildflyGalleonMavenPluginWildflyCoreVersion = wildflyGalleonMavenPluginWildflyCoreElem[0].text
# Absolute path to the pom.xml file of the adapter Galleon pack within the repo
adapterGalleonPackPomPath = getKeycloakGitRepositoryRoot() + "/distribution/galleon-feature-packs/adapter-galleon-pack/pom.xml"
adapterGalleonPackXmlTreeRoot = getXmlRoot(adapterGalleonPackPomPath)
wildflyGalleonMavenPluginAdapterGalleonPackElem = getPomProperty(adapterGalleonPackXmlTreeRoot, wildflyGalleonMavenPluginProperty)
wildflyGalleonMavenPluginKeycloakVersion = wildflyGalleonMavenPluginAdapterGalleonPackElem[0].text
taskLogger = getTaskLogger('Update pom.xml of adapter Galleon pack')
taskLogger.info('Synchronizing Wildfly Core artifact versions to the pom.xml file of Keycloak adapter Galleon pack...')
stepLogger = getStepLogger()
if (
forceUpdates or
compareMavenVersions(wildflyGalleonMavenPluginWildflyCoreVersion, wildflyGalleonMavenPluginKeycloakVersion) > 0
):
stepLogger.debug(
"Updating version of '%s' artifact to '%s'. Current '%s' version is less than that." %
(wildflyGalleonMavenPluginProperty, wildflyGalleonMavenPluginWildflyCoreVersion, wildflyGalleonMavenPluginKeycloakVersion)
)
wildflyGalleonMavenPluginAdapterGalleonPackElem[0].text = wildflyGalleonMavenPluginWildflyCoreElem[0].text
lxml.etree.ElementTree(adapterGalleonPackXmlTreeRoot).write(adapterGalleonPackPomPath, encoding = "UTF-8", pretty_print = True, xml_declaration = True)
stepLogger.info("Done syncing artifact version changes to: '%s'!" % adapterGalleonPackPomPath.replace(getKeycloakGitRepositoryRoot(), '.'))
stepLogger.debug("Wrote updated pom.xml file to: '%s'" % adapterGalleonPackPomPath)
else:
stepLogger.debug(
"Not updating version of '%s' artifact to '%s'. Current '%s' version is already up2date." %
(wildflyGalleonMavenPluginProperty, wildflyGalleonMavenPluginWildflyCoreVersion, wildflyGalleonMavenPluginKeycloakVersion)
)
# #
# Routing handling necessary updates of various # Routing handling necessary updates of various
# adapter license files related with a Wildfly upgrade # adapter license files related with a Wildfly upgrade

View file

@ -103,6 +103,8 @@ def upgradeKeycloakToWildflyTag(tag, forceUpdates = False, ssoAdapters = False):
# Subtask - Update main Keycloak pom.xml file # Subtask - Update main Keycloak pom.xml file
wu.performMainKeycloakPomFileUpdateTask(wildflyPomFile, wildflyCorePomFile, forceUpdates) wu.performMainKeycloakPomFileUpdateTask(wildflyPomFile, wildflyCorePomFile, forceUpdates)
# Subtask - Update adapter-galleon-pack pom.xml file if necessary
wu.performAdapterGalleonPackPomFileUpdateTask(wildflyCorePomFile, forceUpdates)
# Subtask - Update Keycloak adapters # Subtask - Update Keycloak adapters
wu.performKeycloakAdapterLicenseFilesUpdateTask(wildflyPomFile, wildflyCorePomFile, forceUpdates) wu.performKeycloakAdapterLicenseFilesUpdateTask(wildflyPomFile, wildflyCorePomFile, forceUpdates)

35
pom.xml
View file

@ -52,10 +52,10 @@
<product.rhsso.version>7.4.0.GA</product.rhsso.version> <product.rhsso.version>7.4.0.GA</product.rhsso.version>
<product.build-time>${timestamp}</product.build-time> <product.build-time>${timestamp}</product.build-time>
<wildfly.version>22.0.1.Final</wildfly.version> <wildfly.version>23.0.0.Final</wildfly.version>
<wildfly.build-tools.version>1.2.13.Final</wildfly.build-tools.version> <wildfly.build-tools.version>1.2.13.Final</wildfly.build-tools.version>
<eap.version>7.4.0.CD20-redhat-00001</eap.version> <eap.version>7.4.0.CD20-redhat-00001</eap.version>
<wildfly.core.version>14.0.1.Final</wildfly.core.version> <wildfly.core.version>15.0.0.Final</wildfly.core.version>
<jboss.as.version>7.2.0.Final</jboss.as.version> <jboss.as.version>7.2.0.Final</jboss.as.version>
<jboss.as.subsystem.test.version>7.5.22.Final-redhat-1</jboss.as.subsystem.test.version> <jboss.as.subsystem.test.version>7.5.22.Final-redhat-1</jboss.as.subsystem.test.version>
@ -67,18 +67,18 @@
<apache.httpcomponents.httpcore.version>4.4.14</apache.httpcomponents.httpcore.version> <apache.httpcomponents.httpcore.version>4.4.14</apache.httpcomponents.httpcore.version>
<apache.mime4j.version>0.6</apache.mime4j.version> <apache.mime4j.version>0.6</apache.mime4j.version>
<jboss.dmr.version>1.5.1.Final</jboss.dmr.version> <jboss.dmr.version>1.5.1.Final</jboss.dmr.version>
<bouncycastle.version>1.67</bouncycastle.version> <bouncycastle.version>1.68</bouncycastle.version>
<cxf.version>3.3.7</cxf.version> <cxf.version>3.3.9</cxf.version>
<cxf.jetty.version>3.3.7</cxf.jetty.version> <cxf.jetty.version>3.3.9</cxf.jetty.version>
<cxf.jaxrs.version>3.3.7</cxf.jaxrs.version> <cxf.jaxrs.version>3.3.9</cxf.jaxrs.version>
<cxf.undertow.version>3.3.7</cxf.undertow.version> <cxf.undertow.version>3.3.9</cxf.undertow.version>
<dom4j.version>2.1.3</dom4j.version> <dom4j.version>2.1.3</dom4j.version>
<h2.version>1.4.197</h2.version> <h2.version>1.4.197</h2.version>
<jakarta.persistence.version>2.2.3</jakarta.persistence.version> <jakarta.persistence.version>2.2.3</jakarta.persistence.version>
<hibernate.core.version>5.3.20.Final</hibernate.core.version> <hibernate.core.version>5.3.20.Final</hibernate.core.version>
<hibernate.c3p0.version>5.3.20.Final</hibernate.c3p0.version> <hibernate.c3p0.version>5.3.20.Final</hibernate.c3p0.version>
<infinispan.version>11.0.8.Final</infinispan.version> <infinispan.version>11.0.9.Final</infinispan.version>
<jackson.version>2.11.3</jackson.version> <jackson.version>2.12.1</jackson.version>
<jackson.databind.version>${jackson.version}</jackson.databind.version> <jackson.databind.version>${jackson.version}</jackson.databind.version>
<jackson.annotations.version>${jackson.databind.version}</jackson.annotations.version> <jackson.annotations.version>${jackson.databind.version}</jackson.annotations.version>
<jakarta.mail.version>1.6.5</jakarta.mail.version> <jakarta.mail.version>1.6.5</jakarta.mail.version>
@ -89,7 +89,7 @@
<jboss.spec.javax.xml.bind.jboss-jaxb-api_2.3_spec.version>2.0.1.Final</jboss.spec.javax.xml.bind.jboss-jaxb-api_2.3_spec.version> <jboss.spec.javax.xml.bind.jboss-jaxb-api_2.3_spec.version>2.0.1.Final</jboss.spec.javax.xml.bind.jboss-jaxb-api_2.3_spec.version>
<jboss.spec.javax.servlet.jsp.jboss-jsp-api_2.3_spec.version>2.0.0.Final</jboss.spec.javax.servlet.jsp.jboss-jsp-api_2.3_spec.version> <jboss.spec.javax.servlet.jsp.jboss-jsp-api_2.3_spec.version>2.0.0.Final</jboss.spec.javax.servlet.jsp.jboss-jsp-api_2.3_spec.version>
<log4j.version>1.2.17</log4j.version> <log4j.version>1.2.17</log4j.version>
<resteasy.version>3.14.0.Final</resteasy.version> <resteasy.version>3.15.1.Final</resteasy.version>
<resteasy.undertow.version>${resteasy.version}</resteasy.undertow.version> <resteasy.undertow.version>${resteasy.version}</resteasy.undertow.version>
<owasp.html.sanitizer.version>20191001.1</owasp.html.sanitizer.version> <owasp.html.sanitizer.version>20191001.1</owasp.html.sanitizer.version>
<slf4j-api.version>1.7.30</slf4j-api.version> <slf4j-api.version>1.7.30</slf4j-api.version>
@ -100,19 +100,19 @@
<sun.xml.ws.version>2.3.1</sun.xml.ws.version> <sun.xml.ws.version>2.3.1</sun.xml.ws.version>
<sun.activation.version>1.2.2</sun.activation.version> <sun.activation.version>1.2.2</sun.activation.version>
<org.glassfish.jaxb.xsom.version>2.3.3-b02</org.glassfish.jaxb.xsom.version> <org.glassfish.jaxb.xsom.version>2.3.3-b02</org.glassfish.jaxb.xsom.version>
<undertow.version>2.2.4.Final</undertow.version> <undertow.version>2.2.5.Final</undertow.version>
<elytron.version>1.14.1.Final</elytron.version> <elytron.version>1.15.1.Final</elytron.version>
<elytron.undertow-server.version>1.8.0.Final</elytron.undertow-server.version> <elytron.undertow-server.version>1.9.0.Final</elytron.undertow-server.version>
<jetty92.version>9.2.4.v20141103</jetty92.version> <jetty92.version>9.2.4.v20141103</jetty92.version>
<jetty93.version>9.3.9.v20160517</jetty93.version> <jetty93.version>9.3.9.v20160517</jetty93.version>
<jetty94.version>9.4.29.v20200521</jetty94.version> <jetty94.version>9.4.29.v20200521</jetty94.version>
<woodstox.version>6.0.3</woodstox.version> <woodstox.version>6.0.3</woodstox.version>
<xmlsec.version>2.1.4</xmlsec.version> <xmlsec.version>2.1.6</xmlsec.version>
<glassfish.json.version>1.1.6</glassfish.json.version> <glassfish.json.version>1.1.6</glassfish.json.version>
<wildfly.common.version>1.5.2.Final</wildfly.common.version> <wildfly.common.version>1.5.4.Final</wildfly.common.version>
<ua-parser.version>1.4.3</ua-parser.version> <ua-parser.version>1.4.3</ua-parser.version>
<picketbox.version>5.0.3.Final-redhat-00007</picketbox.version> <picketbox.version>5.0.3.Final-redhat-00007</picketbox.version>
<google.guava.version>25.0-jre</google.guava.version> <google.guava.version>30.1-jre</google.guava.version>
<!-- Openshift --> <!-- Openshift -->
<version.com.openshift.openshift-restclient-java>8.0.0.Final</version.com.openshift.openshift-restclient-java> <version.com.openshift.openshift-restclient-java>8.0.0.Final</version.com.openshift.openshift-restclient-java>
@ -148,6 +148,9 @@
<selenium.version>2.35.0</selenium.version> <selenium.version>2.35.0</selenium.version>
<xml-apis.version>1.4.01</xml-apis.version> <xml-apis.version>1.4.01</xml-apis.version>
<subethasmtp.version>3.1.7</subethasmtp.version> <subethasmtp.version>3.1.7</subethasmtp.version>
<!-- KEYCLOAK-17585 Prevent microprofile-metrics-api upgrades from version "2.3" due to:
https://issues.redhat.com/browse/KEYCLOAK-17585?focusedCommentId=16002705&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16002705
-->
<microprofile-metrics-api.version>2.3</microprofile-metrics-api.version> <microprofile-metrics-api.version>2.3</microprofile-metrics-api.version>
<!-- Maven Plugins --> <!-- Maven Plugins -->

View file

@ -40,9 +40,9 @@
<app.server>undertow</app.server> <app.server>undertow</app.server>
<!-- Wildfly deprecated versions --> <!-- Wildfly deprecated versions -->
<wildfly.deprecated.version>21.0.2.Final</wildfly.deprecated.version> <wildfly.deprecated.version>22.0.1.Final</wildfly.deprecated.version>
<wildfly.deprecated.wildfly.core.version>13.0.3.Final</wildfly.deprecated.wildfly.core.version> <wildfly.deprecated.wildfly.core.version>14.0.1.Final</wildfly.deprecated.wildfly.core.version>
<wildfly.deprecated.arquillian.wildfly.container>2.2.0.Final</wildfly.deprecated.arquillian.wildfly.container> <wildfly.deprecated.arquillian.wildfly.container>3.0.1.Final</wildfly.deprecated.arquillian.wildfly.container>
<!--component versions--> <!--component versions-->
<arquillian-core.version>1.6.0.Final</arquillian-core.version> <arquillian-core.version>1.6.0.Final</arquillian-core.version>

View file

@ -38,8 +38,9 @@
<saml-adapter.version>${project.version}</saml-adapter.version> <saml-adapter.version>${project.version}</saml-adapter.version>
<skip.elytron.adapter.installation>true</skip.elytron.adapter.installation> <skip.elytron.adapter.installation>true</skip.elytron.adapter.installation>
<skip.adapter.offline.installation>true</skip.adapter.offline.installation> <skip.adapter.offline.installation>true</skip.adapter.offline.installation>
<!-- Workaround for WFCORE-5335 issue -->
<cli.executable>./jboss-cli.${script.suffix}</cli.executable> <cli.executable>bash</cli.executable>
<cli.jboss-cli.arg>jboss-cli.${script.suffix}</cli.jboss-cli.arg>
<cli.working.dir>${app.server.jboss.home}/bin</cli.working.dir> <cli.working.dir>${app.server.jboss.home}/bin</cli.working.dir>
<cli.win.working.dir/> <cli.win.working.dir/>
</properties> </properties>
@ -55,6 +56,8 @@
</activation> </activation>
<properties> <properties>
<cli.executable>run-jboss-cli.bat</cli.executable> <cli.executable>run-jboss-cli.bat</cli.executable>
<!-- Workaround for WFCORE-5335 - Intentionally kept empty for Windows (no special care needed there) -->
<cli.jboss-cli.arg/>
<cli.working.dir>${common.resources}/win</cli.working.dir> <cli.working.dir>${common.resources}/win</cli.working.dir>
<cli.win.working.dir>${app.server.jboss.home}/bin</cli.win.working.dir> <cli.win.working.dir>${app.server.jboss.home}/bin</cli.win.working.dir>
</properties> </properties>
@ -271,6 +274,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${common.resources}/cli/add-adapter-log-level.cli</argument> <argument>--file=${common.resources}/cli/add-adapter-log-level.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -295,6 +299,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${common.resources}/cli/add-adapter-log-level.cli</argument> <argument>--file=${common.resources}/cli/add-adapter-log-level.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -322,6 +327,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -347,6 +353,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -373,6 +380,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-saml-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-saml-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -398,6 +406,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-saml-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-elytron-install-saml-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -425,6 +434,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-install-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-install-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -450,6 +460,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-install-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-install-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -476,6 +487,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-install-saml-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-install-saml-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -501,6 +513,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${app.server.jboss.home}/bin/adapter-install-saml-offline.cli</argument> <argument>--file=${app.server.jboss.home}/bin/adapter-install-saml-offline.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -526,6 +539,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${common.resources}/cli/add-secured-deployments.cli</argument> <argument>--file=${common.resources}/cli/add-secured-deployments.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -551,6 +565,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${common.resources}/cli/configure-cluster-config.cli</argument> <argument>--file=${common.resources}/cli/configure-cluster-config.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows
@ -576,6 +591,7 @@
<JAVA_HOME>${app.server.java.home}</JAVA_HOME> <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
</environmentVariables> </environmentVariables>
<arguments> <arguments>
<argument>${cli.jboss-cli.arg}</argument>
<argument>--file=${common.resources}/cli/configure-crossdc-config.cli</argument> <argument>--file=${common.resources}/cli/configure-crossdc-config.cli</argument>
<!-- <!--
following attribute is required just for windows following attribute is required just for windows

View file

@ -49,7 +49,9 @@
<fileset dir="${cli.tmp.dir}" includes="*.cli"/> <fileset dir="${cli.tmp.dir}" includes="*.cli"/>
</concat> </concat>
<bin-chmod/> <bin-chmod/>
<exec osfamily="unix" dir="${auth.server.home}/bin" executable="./${jboss.cli.executable}" failonerror="true"> <!-- Workaround for WFCORE-5335 issue -->
<exec osfamily="unix" dir="${auth.server.home}/bin" executable="bash" failonerror="true">
<arg value="${jboss.cli.executable}"/>
<arg value="--file=${cli.tmp.dir}/result.cli"/> <arg value="--file=${cli.tmp.dir}/result.cli"/>
</exec> </exec>
<exec osfamily="windows" executable="powershell" failonerror="true"> <exec osfamily="windows" executable="powershell" failonerror="true">

View file

@ -16,11 +16,13 @@
*/ */
package org.keycloak.testsuite.crossdc; package org.keycloak.testsuite.crossdc;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.resource.UserResource; import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.common.Profile;
import org.keycloak.common.util.Retry;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider; import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.models.UserModel; import org.keycloak.models.UserModel;
import org.keycloak.representations.idm.UserRepresentation; import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.common.util.Retry;
import org.keycloak.testsuite.admin.ApiUtil; import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.page.LoginPasswordUpdatePage; import org.keycloak.testsuite.page.LoginPasswordUpdatePage;
import org.keycloak.testsuite.pages.ErrorPage; import org.keycloak.testsuite.pages.ErrorPage;
@ -35,6 +37,7 @@ import javax.mail.internet.MimeMessage;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import org.jboss.arquillian.graphene.page.Page; import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Assume;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
@ -90,6 +93,11 @@ public class ActionTokenCrossDCTest extends AbstractAdminCrossDCTest {
@JmxInfinispanChannelStatistics() InfinispanStatistics channelStatisticsCrossDc) throws Exception { @JmxInfinispanChannelStatistics() InfinispanStatistics channelStatisticsCrossDc) throws Exception {
log.debug("--DC: START sendResetPasswordEmailSuccessWorksInCrossDc"); log.debug("--DC: START sendResetPasswordEmailSuccessWorksInCrossDc");
// KEYCLOAK-17584: Temporarily disable the test for 'community' profile till KEYCLOAK-17628 isn't fixed. In other words till:
// * The test is either rewritten to start using the new Wildfly subsystem for base metrics introduced in Wildfly 22,
// * Or Keycloak is able to load the Eclipse MicroProfile Metrics subsystem from the microprofile Galleon feature-pack
Assume.assumeTrue("Ignoring test as product profile is not enabled", Profile.getName().equals("product"));
cacheDc0Node1Statistics.waitToBecomeAvailable(10, TimeUnit.SECONDS); cacheDc0Node1Statistics.waitToBecomeAvailable(10, TimeUnit.SECONDS);
Comparable originalNumberOfEntries = cacheDc0Node0Statistics.getSingleStatistics(Constants.STAT_CACHE_NUMBER_OF_ENTRIES_IN_MEMORY); Comparable originalNumberOfEntries = cacheDc0Node0Statistics.getSingleStatistics(Constants.STAT_CACHE_NUMBER_OF_ENTRIES_IN_MEMORY);

View file

@ -24,6 +24,7 @@ import javax.ws.rs.core.Response.Status;
import org.junit.Assert; import org.junit.Assert;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.keycloak.common.Profile;
import org.keycloak.representations.idm.RealmRepresentation; import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest; import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.util.AdminClientUtil; import org.keycloak.testsuite.util.AdminClientUtil;
@ -52,10 +53,15 @@ public class MetricsRestServiceTest extends AbstractKeycloakTest {
@Test @Test
public void testHealthEndpoint() { public void testHealthEndpoint() {
Client client = AdminClientUtil.createResteasyClient(); Client client = AdminClientUtil.createResteasyClient();
final String serverReportedRunningPerMicroProfileHealthSubsystem = "{\"status\":\"UP\",\"checks\":[{";
final String serverReportedRunningPerWildflyHealthSubsystem = "{\"name\" : \"server-state\", \"outcome\" : true, \"data\" : [{ \"value\" : \"running\" }]}";
// Post upgrade to Wildfly 22 expect output of Wildfly subsystem for health for community builds, and output of MicroProfile health subsystem for product builds
final String expectedString = Profile.getName().equals("community") ? serverReportedRunningPerWildflyHealthSubsystem : serverReportedRunningPerMicroProfileHealthSubsystem;
try (Response response = client.target("http://" + MGMT_HOST + ":" + MGMT_PORT + "/health").request().get()) { try (Response response = client.target("http://" + MGMT_HOST + ":" + MGMT_PORT + "/health").request().get()) {
Assert.assertThat(response, statusCodeIs(Status.OK)); Assert.assertThat(response, statusCodeIs(Status.OK));
Assert.assertThat(response, body(containsString("{\"status\":\"UP\",\"checks\":[{"))); Assert.assertThat(response, body(containsString(expectedString)));
} finally { } finally {
client.close(); client.close();
} }

View file

@ -18,12 +18,12 @@
<!-- See src/resources/configuration/ReadMe.txt for how the configuration assembly works --> <!-- See src/resources/configuration/ReadMe.txt for how the configuration assembly works -->
<config default-supplement="default"> <config default-supplement="default">
<extension-module>org.jboss.as.clustering.infinispan</extension-module> <extension-module>org.jboss.as.clustering.infinispan</extension-module>
<subsystem xmlns="urn:jboss:domain:infinispan:11.0"> <subsystem xmlns="urn:jboss:domain:infinispan:12.0">
<?CACHE-CONTAINERS?> <?CACHE-CONTAINERS?>
</subsystem> </subsystem>
<supplement name="default"> <supplement name="default">
<replacement placeholder="CACHE-CONTAINERS"> <replacement placeholder="CACHE-CONTAINERS">
<cache-container name="keycloak" module="org.keycloak.keycloak-model-infinispan"> <cache-container name="keycloak" modules="org.keycloak.keycloak-model-infinispan">
<local-cache name="realms"> <local-cache name="realms">
<heap-memory size="10000"/> <heap-memory size="10000"/>
</local-cache> </local-cache>
@ -49,12 +49,12 @@
<expiration max-idle="-1" interval="300000"/> <expiration max-idle="-1" interval="300000"/>
</local-cache> </local-cache>
</cache-container> </cache-container>
<cache-container name="server" default-cache="default" module="org.wildfly.clustering.server"> <cache-container name="server" default-cache="default" modules="org.wildfly.clustering.server">
<local-cache name="default"> <local-cache name="default">
<transaction mode="BATCH"/> <transaction mode="BATCH"/>
</local-cache> </local-cache>
</cache-container> </cache-container>
<cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan"> <cache-container name="web" default-cache="passivation" modules="org.wildfly.clustering.web.infinispan">
<local-cache name="passivation"> <local-cache name="passivation">
<locking isolation="REPEATABLE_READ"/> <locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/> <transaction mode="BATCH"/>
@ -66,14 +66,14 @@
</local-cache> </local-cache>
<local-cache name="routing"/> <local-cache name="routing"/>
</cache-container> </cache-container>
<cache-container name="ejb" aliases="sfsb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan"> <cache-container name="ejb" aliases="sfsb" default-cache="passivation" modules="org.wildfly.clustering.ejb.infinispan">
<local-cache name="passivation"> <local-cache name="passivation">
<locking isolation="REPEATABLE_READ"/> <locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/> <transaction mode="BATCH"/>
<file-store passivation="true" purge="false"/> <file-store passivation="true" purge="false"/>
</local-cache> </local-cache>
</cache-container> </cache-container>
<cache-container name="hibernate" module="org.infinispan.hibernate-cache"> <cache-container name="hibernate" modules="org.infinispan.hibernate-cache">
<local-cache name="entity"> <local-cache name="entity">
<heap-memory size="10000"/> <heap-memory size="10000"/>
<expiration max-idle="100000"/> <expiration max-idle="100000"/>
@ -88,7 +88,7 @@
</supplement> </supplement>
<supplement name="ha"> <supplement name="ha">
<replacement placeholder="CACHE-CONTAINERS"> <replacement placeholder="CACHE-CONTAINERS">
<cache-container name="keycloak" module="org.keycloak.keycloak-model-infinispan"> <cache-container name="keycloak" modules="org.keycloak.keycloak-model-infinispan">
<transport lock-timeout="60000"/> <transport lock-timeout="60000"/>
<local-cache name="realms"> <local-cache name="realms">
<heap-memory size="10000"/> <heap-memory size="10000"/>
@ -115,13 +115,13 @@
<expiration max-idle="-1" interval="300000"/> <expiration max-idle="-1" interval="300000"/>
</distributed-cache> </distributed-cache>
</cache-container> </cache-container>
<cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server"> <cache-container name="server" aliases="singleton cluster" default-cache="default" modules="org.wildfly.clustering.server">
<transport lock-timeout="60000"/> <transport lock-timeout="60000"/>
<replicated-cache name="default"> <replicated-cache name="default">
<transaction mode="BATCH"/> <transaction mode="BATCH"/>
</replicated-cache> </replicated-cache>
</cache-container> </cache-container>
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan"> <cache-container name="web" default-cache="dist" modules="org.wildfly.clustering.web.infinispan">
<transport lock-timeout="60000"/> <transport lock-timeout="60000"/>
<replicated-cache name="sso"> <replicated-cache name="sso">
<locking isolation="REPEATABLE_READ"/> <locking isolation="REPEATABLE_READ"/>
@ -134,7 +134,7 @@
</distributed-cache> </distributed-cache>
<distributed-cache name="routing"/> <distributed-cache name="routing"/>
</cache-container> </cache-container>
<cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan"> <cache-container name="ejb" aliases="sfsb" default-cache="dist" modules="org.wildfly.clustering.ejb.infinispan">
<transport lock-timeout="60000"/> <transport lock-timeout="60000"/>
<distributed-cache name="dist"> <distributed-cache name="dist">
<locking isolation="REPEATABLE_READ"/> <locking isolation="REPEATABLE_READ"/>
@ -142,7 +142,7 @@
<file-store/> <file-store/>
</distributed-cache> </distributed-cache>
</cache-container> </cache-container>
<cache-container name="hibernate" module="org.infinispan.hibernate-cache"> <cache-container name="hibernate" modules="org.infinispan.hibernate-cache">
<transport lock-timeout="60000"/> <transport lock-timeout="60000"/>
<local-cache name="local-query"> <local-cache name="local-query">
<heap-memory size="10000"/> <heap-memory size="10000"/>

View file

@ -24,7 +24,7 @@
<!-- See src/resources/configuration/ReadMe.txt for how the configuration assembly works --> <!-- See src/resources/configuration/ReadMe.txt for how the configuration assembly works -->
<config> <config>
<extension-module>org.wildfly.extension.undertow</extension-module> <extension-module>org.wildfly.extension.undertow</extension-module>
<subsystem xmlns="urn:jboss:domain:undertow:11.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}"> <subsystem xmlns="urn:jboss:domain:undertow:12.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}">
<buffer-cache name="default"/> <buffer-cache name="default"/>
<server name="default-server"> <server name="default-server">
<?AJP?> <?AJP?>