diff --git a/model/infinispan/src/main/java/org/keycloak/spi/infinispan/impl/remote/DefaultCacheRemoteConfigProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/spi/infinispan/impl/remote/DefaultCacheRemoteConfigProviderFactory.java index 9806e19d198..d22f88c9e62 100644 --- a/model/infinispan/src/main/java/org/keycloak/spi/infinispan/impl/remote/DefaultCacheRemoteConfigProviderFactory.java +++ b/model/infinispan/src/main/java/org/keycloak/spi/infinispan/impl/remote/DefaultCacheRemoteConfigProviderFactory.java @@ -63,14 +63,14 @@ import static org.wildfly.security.sasl.util.SaslMechanismInformation.Names.SCRA */ public class DefaultCacheRemoteConfigProviderFactory implements CacheRemoteConfigProviderFactory, CacheRemoteConfigProvider, EnvironmentDependentProviderFactory { - private static final String PROVIDER_ID = "default"; + public static final String PROVIDER_ID = "default"; private static final Logger logger = Logger.getLogger(MethodHandles.lookup().lookupClass()); // configuration private static final String PROPERTIES_FILE = "propertiesFile"; private static final String CLIENT_INTELLIGENCE = "clientIntelligence"; - private static final String HOSTNAME = "hostname"; - private static final String PORT = "port"; + public static final String HOSTNAME = "hostname"; + public static final String PORT = "port"; private static final String TLS_ENABLED = "tlsEnabled"; private static final String TLS_SNI_HOSTNAME = "tlsSniHostname"; private static final String USERNAME = "username"; @@ -199,15 +199,17 @@ public class DefaultCacheRemoteConfigProviderFactory implements CacheRemoteConfi } private void configureHostname(ConfigurationBuilder builder) { - var cacheRemoteHost = keycloakConfiguration.get(HOSTNAME); - if (cacheRemoteHost == null) { + var host = keycloakConfiguration.get(HOSTNAME); + if (host == null) { logger.debug("Hot Rod hostname not configured."); return; } + var port = keycloakConfiguration.getInt(PORT, ConfigurationProperties.DEFAULT_HOTROD_PORT); + logger.debugf("Hot Rod connecting to %s:%s", host, port); builder.addServer() - .host(cacheRemoteHost) - .port(keycloakConfiguration.getInt(PORT, ConfigurationProperties.DEFAULT_HOTROD_PORT)); + .host(host) + .port(port); } private void configureConnectionPool(ConfigurationBuilder builder) { diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json b/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json index 9f36c81bd95..aee5e9a7141 100755 --- a/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json +++ b/testsuite/integration-arquillian/tests/base/src/test/resources/META-INF/keycloak-server.json @@ -183,16 +183,14 @@ "async": "${keycloak.connectionsInfinispan.async:false}", "sessionsOwners": "${keycloak.connectionsInfinispan.sessionsOwners:1}", "l1Lifespan": "${keycloak.connectionsInfinispan.l1Lifespan:600000}", - "remoteStoreHost": "${keycloak.connectionsInfinispan.remoteStoreServer:localhost}", - "remoteStorePort": "${keycloak.connectionsInfinispan.remoteStorePort:11222}", "embedded": "${keycloak.connectionsInfinispan.embedded:true}" } }, "cacheRemote": { "default": { - "hostname": "${keycloak.connectionsInfinispan.remoteStoreServer:localhost}", - "port": "${keycloak.connectionsInfinispan.remoteStorePort:11222}" + "hostname": "${keycloak.cacheRemote.hostname:localhost}", + "port": "${keycloak.cacheRemote.port:11222}" } }, diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml index 8e22992bb77..360095162c6 100644 --- a/testsuite/integration-arquillian/tests/pom.xml +++ b/testsuite/integration-arquillian/tests/pom.xml @@ -170,9 +170,9 @@ ${dependency.keystore.root}/keycloak.jks secret - localhost - 12232 - 13232 + localhost + 12232 + 13232 jdbc:h2:mem:test-dc-shared %d{HH:mm:ss,SSS} %-5p [%c] %m%n @@ -582,9 +582,9 @@ ${cache.server.java.home} ${cache.server.auth} - ${keycloak.connectionsInfinispan.remoteStorePort} - ${keycloak.connectionsInfinispan.remoteStorePort.2} - ${keycloak.connectionsInfinispan.remoteStoreServer} + ${keycloak.cacheRemote.port} + ${keycloak.cacheRemote.port.2} + ${keycloak.cacheRemote.hostname} ${keycloak.connectionsInfinispan.sessionsOwners} ${keycloak.testsuite.logging.pattern} diff --git a/testsuite/model/src/test/java/org/keycloak/testsuite/model/parameters/RemoteInfinispan.java b/testsuite/model/src/test/java/org/keycloak/testsuite/model/parameters/RemoteInfinispan.java index cb4106c759f..6f4ca12c0ac 100644 --- a/testsuite/model/src/test/java/org/keycloak/testsuite/model/parameters/RemoteInfinispan.java +++ b/testsuite/model/src/test/java/org/keycloak/testsuite/model/parameters/RemoteInfinispan.java @@ -25,14 +25,14 @@ import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.keycloak.cluster.infinispan.remote.RemoteInfinispanClusterProviderFactory; import org.keycloak.connections.infinispan.remote.RemoteLoadBalancerCheckProviderFactory; -import org.keycloak.infinispan.util.InfinispanUtils; -import org.keycloak.models.UserSessionSpi; import org.keycloak.models.sessions.infinispan.remote.RemoteInfinispanAuthenticationSessionProviderFactory; import org.keycloak.models.sessions.infinispan.remote.RemoteInfinispanSingleUseObjectProviderFactory; import org.keycloak.models.sessions.infinispan.remote.RemoteStickySessionEncoderProviderFactory; import org.keycloak.models.sessions.infinispan.remote.RemoteUserLoginFailureProviderFactory; import org.keycloak.models.sessions.infinispan.remote.RemoteUserSessionProviderFactory; import org.keycloak.provider.ProviderFactory; +import org.keycloak.spi.infinispan.CacheRemoteConfigProviderSpi; +import org.keycloak.spi.infinispan.impl.remote.DefaultCacheRemoteConfigProviderFactory; import org.keycloak.testsuite.model.Config; import org.keycloak.testsuite.model.HotRodServerRule; import org.keycloak.testsuite.model.KeycloakModelParameters; @@ -66,16 +66,20 @@ public class RemoteInfinispan extends KeycloakModelParameters { @Override public void updateConfig(Config cf) { synchronized (lock) { - NODE_COUNTER.incrementAndGet(); + var nodeCounter = NODE_COUNTER.incrementAndGet(); + var siteName = siteName(nodeCounter); cf.spi("connectionsInfinispan") .provider("default") .config("embedded", "true") .config("clustered", "true") .config("useKeycloakTimeService", "true") - .config("nodeName", "node-" + NODE_COUNTER.get()) - .config("siteName", siteName(NODE_COUNTER.get())) - .config("remoteStorePort", siteName(NODE_COUNTER.get()).equals("site-2") ? "11333" : "11222") - .config("jgroupsUdpMcastAddr", mcastAddr(NODE_COUNTER.get())); + .config("nodeName", "node-" + nodeCounter) + .config("siteName", siteName) + .config("jgroupsUdpMcastAddr", mcastAddr(nodeCounter)); + cf.spi(CacheRemoteConfigProviderSpi.SPI_NAME) + .provider(DefaultCacheRemoteConfigProviderFactory.PROVIDER_ID) + .config(DefaultCacheRemoteConfigProviderFactory.HOSTNAME, "localhost") + .config(DefaultCacheRemoteConfigProviderFactory.PORT, siteName.equals("site-2") ? "11333" : "11222"); } } diff --git a/testsuite/utils/src/main/resources/META-INF/keycloak-server.json b/testsuite/utils/src/main/resources/META-INF/keycloak-server.json index 673df78a1f2..d68d68b55e7 100755 --- a/testsuite/utils/src/main/resources/META-INF/keycloak-server.json +++ b/testsuite/utils/src/main/resources/META-INF/keycloak-server.json @@ -132,9 +132,6 @@ "async": "${keycloak.connectionsInfinispan.async:}", "sessionsOwners": "${keycloak.connectionsInfinispan.sessionsOwners:}", "l1Lifespan": "${keycloak.connectionsInfinispan.l1Lifespan:}", - "remoteStoreEnabled": "${keycloak.connectionsInfinispan.remoteStoreEnabled:}", - "remoteStoreHost": "${keycloak.connectionsInfinispan.remoteStoreServer:}", - "remoteStorePort": "${keycloak.connectionsInfinispan.remoteStorePort:}", "embedded": "${keycloak.connectionsInfinispan.embedded:true}" } },