You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/30 18:15:17 UTC
[camel] branch camel-4.0.x updated: CAMEL-19810: Infinispan container in network host mode (#11242)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.0.x by this push:
new b869c2d0a30 CAMEL-19810: Infinispan container in network host mode (#11242)
b869c2d0a30 is described below
commit b869c2d0a30acd36153ac3e63f553c60db601237
Author: Marco Carletti <mc...@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 340095db55b..e08057d1fd2 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)));
+ }
}