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 <[email protected]>
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)));
+ }
}