Skip to content

Commit 969ee8e

Browse files
authored
Bump up plugin version to 2.1.0 (#45)
1 parent 6d01e2c commit 969ee8e

3 files changed

Lines changed: 27 additions & 24 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
## 2.0.0 - 2017-09-20
1+
## 2.1.0 - 2017-09-28
2+
3+
### Added
24

5+
- Support to start service with volume mount.
6+
- Support to start a service with an existing network.
7+
- UI improvement for status report.
8+
9+
## 2.0.0 - 2017-09-20
310

411
### Added
512

src/main/java/cd/go/contrib/elasticagents/dockerswarm/elasticagent/DockerService.java

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,26 @@
1616

1717
package cd.go.contrib.elasticagents.dockerswarm.elasticagent;
1818

19-
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.Constants.CONFIGURATION_LABEL_KEY;
20-
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.Constants.CREATED_BY_LABEL_KEY;
21-
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.Constants.ENVIRONMENT_LABEL_KEY;
22-
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.DockerPlugin.LOG;
23-
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Util.dockerApiVersionAtLeast;
24-
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Util.splitIntoLinesAndTrimSpaces;
25-
import static org.apache.commons.lang.StringUtils.isBlank;
26-
27-
import java.util.Arrays;
28-
import java.util.Date;
29-
import java.util.HashMap;
30-
import java.util.HashSet;
31-
import java.util.Map;
32-
import java.util.Set;
33-
import java.util.UUID;
34-
3519
import cd.go.contrib.elasticagents.dockerswarm.elasticagent.requests.CreateAgentRequest;
3620
import cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Size;
3721
import com.google.gson.Gson;
3822
import com.spotify.docker.client.DockerClient;
3923
import com.spotify.docker.client.exceptions.DockerException;
4024
import com.spotify.docker.client.exceptions.ServiceNotFoundException;
4125
import com.spotify.docker.client.messages.ServiceCreateResponse;
42-
import com.spotify.docker.client.messages.swarm.ContainerSpec;
43-
import com.spotify.docker.client.messages.swarm.ResourceRequirements;
44-
import com.spotify.docker.client.messages.swarm.Resources;
45-
import com.spotify.docker.client.messages.swarm.Service;
46-
import com.spotify.docker.client.messages.swarm.ServiceSpec;
47-
import com.spotify.docker.client.messages.swarm.TaskSpec;
26+
import com.spotify.docker.client.messages.swarm.*;
4827
import org.apache.commons.lang.StringUtils;
4928
import org.joda.time.DateTime;
5029

30+
import java.util.*;
31+
32+
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.Constants.*;
33+
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.DockerPlugin.LOG;
34+
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Util.dockerApiVersionAtLeast;
35+
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Util.splitIntoLinesAndTrimSpaces;
36+
import static java.text.MessageFormat.format;
37+
import static org.apache.commons.lang.StringUtils.isBlank;
38+
5139
public class DockerService {
5240
private static final Gson GSON = new Gson();
5341
private final DateTime createdAt;
@@ -113,6 +101,8 @@ public static DockerService create(CreateAgentRequest request, PluginSettings se
113101
containerSpecBuilder.mounts(dockerMounts.toMount(docker.listVolumes().volumes()));
114102
final DockerSecrets dockerSecrets = DockerSecrets.fromString(request.properties().get("Secrets"));
115103
containerSpecBuilder.secrets(dockerSecrets.toSecretBind(docker.listSecrets()));
104+
} else {
105+
LOG.warn(format("Detected docker version and api version is {0} and {1} respectively. Docker with api version 1.26 or above is required to use volume mounts, secrets and host file entries. Please refer https://docs.docker.com/engine/api/v1.32/#section/Versioning for more information about docker release.", docker.version().version(), docker.version().apiVersion()));
116106
}
117107

118108
TaskSpec taskSpec = TaskSpec.builder()

src/test/java/cd/go/contrib/elasticagents/dockerswarm/elasticagent/BaseTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@
3434
import java.util.concurrent.atomic.AtomicInteger;
3535

3636
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.Constants.SWARM_SERVICE_NAME;
37+
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.DockerPlugin.LOG;
3738
import static cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Util.dockerApiVersionAtLeast;
3839
import static java.lang.System.getenv;
40+
import static java.text.MessageFormat.format;
3941
import static org.junit.Assert.assertNotNull;
4042
import static org.junit.Assert.fail;
4143
import static org.junit.Assume.assumeTrue;
@@ -77,21 +79,25 @@ private static void removeSecrets() throws Exception {
7779
}
7880
}
7981
});
82+
} else {
83+
LOG.warn(format("Detected docker version and api version is {0} and {1} respectively. Docker with api version 1.26 or above is required to use volume mounts, secrets and host file entries. Please referhttps://docs.docker.com/engine/api/v1.32/#section/Versioning for more information about docker release.", docker.version().version(), docker.version().apiVersion()));
8084
}
8185
}
8286

8387
private static void removeVolume() throws Exception {
8488
if (dockerApiVersionAtLeast(docker, "1.26")) {
8589
if (docker.listVolumes().volumes() != null) {
8690
docker.listVolumes().volumes().forEach(volume -> {
87-
if (volume.labels().containsKey("cd.go.contrib.elasticagents.dockerswarm.elasticagent.DockerPlugin")) {
91+
if (volume.labels() != null && volume.labels().containsKey("cd.go.contrib.elasticagents.dockerswarm.elasticagent.DockerPlugin")) {
8892
try {
8993
docker.removeVolume(volume.name());
9094
} catch (DockerException | InterruptedException e) {
9195
}
9296
}
9397
});
9498
}
99+
} else {
100+
LOG.warn(format("Detected docker version and api version is {0} and {1} respectively. Docker with api version 1.26 or above is required to use volume mounts, secrets and host file entries. Please refer https://docs.docker.com/engine/api/v1.32/#section/Versioning for more information about docker release.", docker.version().version(), docker.version().apiVersion()));
95101
}
96102
}
97103

0 commit comments

Comments
 (0)