You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2023/08/24 08:15:24 UTC
[james-project] 02/05: JAMES-3500 delete dynamic cassandra image after usage
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 8999fd2c1cf686df0dc441b090019177dd591b45
Author: Tung Tran <vt...@linagora.com>
AuthorDate: Fri Aug 18 08:57:17 2023 +0700
JAMES-3500 delete dynamic cassandra image after usage
---
.../apache/james/backends/cassandra/DockerCassandra.java | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
index 7d5e2d4920..cc7a74210d 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
@@ -117,11 +117,15 @@ public class DockerCassandra {
// If available try to access the image shared by all maven projects
// This avoids rebuilding one for each maven surefire fork.
// BUILD_ID should be set by the execution context, here JenkinsFile
- return Optional.ofNullable(System.getenv("BUILD_ID"))
+ return getFixedBuildId()
// Default to an image discriminator specific to this JVM
.orElse(UUID.randomUUID().toString());
}
+ private static Optional<String> getFixedBuildId() {
+ return Optional.ofNullable(System.getenv("BUILD_ID"));
+ }
+
private static final int CASSANDRA_PORT = 9042;
private static final int CASSANDRA_MEMORY = 1024;
@@ -133,10 +137,12 @@ public class DockerCassandra {
@SuppressWarnings("resource")
public DockerCassandra() {
- this("cassandra_4_1_3-" + buildSpecificImageDiscriminator(), AdditionalDockerFileStep.IDENTITY);
+ this("cassandra_4_1_3-" + buildSpecificImageDiscriminator(),
+ getFixedBuildId().isEmpty(),
+ AdditionalDockerFileStep.IDENTITY);
}
- private DockerCassandra(String imageName, AdditionalDockerFileStep additionalSteps) {
+ private DockerCassandra(String imageName, boolean deleteImageAfterUsage, AdditionalDockerFileStep additionalSteps) {
client = DockerClientFactory.instance().client();
EventsCmd eventsCmd = client.eventsCmd().withEventTypeFilter(EventType.IMAGE).withImageFilter(imageName);
eventsCmd.exec(new ResultCallback<Event>() {
@@ -163,9 +169,8 @@ public class DockerCassandra {
public void close() {
}
});
- boolean doNotDeleteImageAfterUsage = false;
cassandraContainer = new GenericContainer<>(
- new ImageFromDockerfile(imageName,doNotDeleteImageAfterUsage)
+ new ImageFromDockerfile(imageName,deleteImageAfterUsage)
.withDockerfileFromBuilder(builder ->
additionalSteps.applyStep(builder
.from("cassandra:4.1.3")
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org