This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new f55249b1b4f CAMEL-19810: Infinispan container in network host mode (#11242) f55249b1b4f is described below commit f55249b1b4fec8c04bad8b566cb9448bd0470e67 Author: Marco Carletti <mcarl...@redhat.com> AuthorDate: Wed Aug 30 19:20:37 2023 +0200 CAMEL-19810: Infinispan container in network host mode (#11242) --- .../infinispan/common/InfinispanProperties.java | 2 ++ .../services/InfinispanLocalContainerService.java | 25 ++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/common/InfinispanProperties.java b/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/common/InfinispanProperties.java index 7c80d241a7d..6efc69073b3 100644 --- a/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/common/InfinispanProperties.java +++ b/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/common/InfinispanProperties.java @@ -25,6 +25,8 @@ public final class InfinispanProperties { public static final String SERVICE_USERNAME = "infinispan.service.username"; public static final String SERVICE_PASSWORD = "infinispan.service.password"; public static final int DEFAULT_SERVICE_PORT = 11222; + public static final String INFINISPAN_CONTAINER_NETWORK_MODE_HOST = "infinispan.service.network.mode.host"; + public static final boolean INFINISPAN_CONTAINER_NETWORK_MODE_HOST_DEFAULT = false; private InfinispanProperties() { diff --git a/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/services/InfinispanLocalContainerService.java b/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/services/InfinispanLocalContainerService.java index e94bafc5719..39ef4287049 100644 --- a/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/services/InfinispanLocalContainerService.java +++ b/test-infra/camel-test-infra-infinispan/src/test/java/org/apache/camel/test/infra/infinispan/services/InfinispanLocalContainerService.java @@ -37,16 +37,19 @@ public class InfinispanLocalContainerService implements InfinispanService, Conta private static final Logger LOG = LoggerFactory.getLogger(InfinispanLocalContainerService.class); private final GenericContainer container; + private final boolean isNetworkHost; public InfinispanLocalContainerService() { this(System.getProperty(InfinispanProperties.INFINISPAN_CONTAINER, CONTAINER_IMAGE)); } public InfinispanLocalContainerService(String containerImage) { + isNetworkHost = isHostNetworkMode(); container = initContainer(containerImage, CONTAINER_NAME); } public InfinispanLocalContainerService(GenericContainer container) { + isNetworkHost = isHostNetworkMode(); this.container = container; } @@ -54,16 +57,21 @@ public class InfinispanLocalContainerService implements InfinispanService, Conta final Logger containerLog = LoggerFactory.getLogger("container." + containerName); final Consumer<OutputFrame> logConsumer = new Slf4jLogConsumer(containerLog); - return new GenericContainer<>(imageName) + final GenericContainer c = new GenericContainer<>(imageName) .withNetworkAliases(containerName) .withEnv("USER", DEFAULT_USERNAME) .withEnv("PASS", DEFAULT_PASSWORD) .withLogConsumer(logConsumer) .withClasspathResourceMapping("infinispan.xml", "/user-config/infinispan.xml", BindMode.READ_ONLY) .withCommand("-c", "/user-config/infinispan.xml") - .withExposedPorts(InfinispanProperties.DEFAULT_SERVICE_PORT) - .waitingFor(Wait.forListeningPort()) .waitingFor(Wait.forLogMessage(".*Infinispan.*Server.*started.*", 1)); + if (isNetworkHost) { + c.withNetworkMode("host"); + } else { + c.withExposedPorts(InfinispanProperties.DEFAULT_SERVICE_PORT) + .waitingFor(Wait.forListeningPort()); + } + return c; } @Override @@ -73,6 +81,7 @@ public class InfinispanLocalContainerService implements InfinispanService, Conta System.setProperty(InfinispanProperties.SERVICE_ADDRESS, getServiceAddress()); System.setProperty(InfinispanProperties.SERVICE_USERNAME, DEFAULT_USERNAME); System.setProperty(InfinispanProperties.SERVICE_PASSWORD, DEFAULT_PASSWORD); + System.setProperty(InfinispanProperties.INFINISPAN_CONTAINER_NETWORK_MODE_HOST, String.valueOf(isNetworkHost)); } @Override @@ -94,6 +103,7 @@ public class InfinispanLocalContainerService implements InfinispanService, Conta System.clearProperty(InfinispanProperties.SERVICE_ADDRESS); System.clearProperty(InfinispanProperties.SERVICE_USERNAME); System.clearProperty(InfinispanProperties.SERVICE_PASSWORD); + System.clearProperty(InfinispanProperties.INFINISPAN_CONTAINER_NETWORK_MODE_HOST); } @Override @@ -108,7 +118,9 @@ public class InfinispanLocalContainerService implements InfinispanService, Conta @Override public int port() { - return container.getMappedPort(InfinispanProperties.DEFAULT_SERVICE_PORT); + return isNetworkHost + ? InfinispanProperties.DEFAULT_SERVICE_PORT + : container.getMappedPort(InfinispanProperties.DEFAULT_SERVICE_PORT); } @Override @@ -125,4 +137,9 @@ public class InfinispanLocalContainerService implements InfinispanService, Conta public String password() { return DEFAULT_PASSWORD; } + + private boolean isHostNetworkMode() { + return Boolean.parseBoolean(System.getProperty(InfinispanProperties.INFINISPAN_CONTAINER_NETWORK_MODE_HOST, + String.valueOf(InfinispanProperties.INFINISPAN_CONTAINER_NETWORK_MODE_HOST_DEFAULT))); + } }