|
16 | 16 |
|
17 | 17 | package cd.go.contrib.elasticagents.dockerswarm.elasticagent; |
18 | 18 |
|
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 | | - |
35 | 19 | import cd.go.contrib.elasticagents.dockerswarm.elasticagent.requests.CreateAgentRequest; |
36 | 20 | import cd.go.contrib.elasticagents.dockerswarm.elasticagent.utils.Size; |
37 | 21 | import com.google.gson.Gson; |
38 | 22 | import com.spotify.docker.client.DockerClient; |
39 | 23 | import com.spotify.docker.client.exceptions.DockerException; |
40 | 24 | import com.spotify.docker.client.exceptions.ServiceNotFoundException; |
41 | 25 | 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.*; |
48 | 27 | import org.apache.commons.lang.StringUtils; |
49 | 28 | import org.joda.time.DateTime; |
50 | 29 |
|
| 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 | + |
51 | 39 | public class DockerService { |
52 | 40 | private static final Gson GSON = new Gson(); |
53 | 41 | private final DateTime createdAt; |
@@ -113,6 +101,8 @@ public static DockerService create(CreateAgentRequest request, PluginSettings se |
113 | 101 | containerSpecBuilder.mounts(dockerMounts.toMount(docker.listVolumes().volumes())); |
114 | 102 | final DockerSecrets dockerSecrets = DockerSecrets.fromString(request.properties().get("Secrets")); |
115 | 103 | 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())); |
116 | 106 | } |
117 | 107 |
|
118 | 108 | TaskSpec taskSpec = TaskSpec.builder() |
|
0 commit comments