Skip to content
This repository was archived by the owner on Sep 21, 2021. It is now read-only.

Commit 89c010c

Browse files
tsterndiemol
authored andcommitted
Remove placement constraints for browser containers
1 parent 2d08f9b commit 89c010c

File tree

2 files changed

+20
-71
lines changed

2 files changed

+20
-71
lines changed

src/main/java/de/zalando/ep/zalenium/container/swarm/SwarmContainerClient.java

+20-34
Original file line numberDiff line numberDiff line change
@@ -245,46 +245,32 @@ private ContainerSpec buildContainerSpec(List<String> flattenedEnvVars, String i
245245
}
246246

247247
private TaskSpec buildTaskSpec(ContainerSpec containerSpec) {
248-
try {
249-
final RestartPolicy restartPolicy = RestartPolicy.builder()
250-
.condition("on-failure")
251-
.build();
252-
String hostname = SwarmUtilities.getHubHostname();
253-
final List<String> placementList = new ArrayList<>();
254-
255-
placementList.add("node.hostname != " + hostname);
256-
257-
final Placement placement = Placement.create(placementList);
258-
259-
260-
Resources.Builder resourceBuilder = Resources.builder();
261-
String cpuLimit = getSeleniumContainerCpuLimit();
262-
String memLimit = getSeleniumContainerMemoryLimit();
248+
final RestartPolicy restartPolicy = RestartPolicy.builder()
249+
.condition("on-failure")
250+
.build();
263251

264-
if (!Strings.isNullOrEmpty(cpuLimit)) {
265-
resourceBuilder.nanoCpus(Long.valueOf(cpuLimit));
266-
}
252+
Resources.Builder resourceBuilder = Resources.builder();
253+
String cpuLimit = getSeleniumContainerCpuLimit();
254+
String memLimit = getSeleniumContainerMemoryLimit();
267255

268-
if (!Strings.isNullOrEmpty(memLimit)) {
269-
resourceBuilder.memoryBytes(Long.valueOf(memLimit));
270-
}
256+
if (!Strings.isNullOrEmpty(cpuLimit)) {
257+
resourceBuilder.nanoCpus(Long.valueOf(cpuLimit));
258+
}
271259

272-
ResourceRequirements resourceRequirements = ResourceRequirements.builder()
273-
.limits(resourceBuilder.build())
274-
.build();
260+
if (!Strings.isNullOrEmpty(memLimit)) {
261+
resourceBuilder.memoryBytes(Long.valueOf(memLimit));
262+
}
275263

276-
final TaskSpec.Builder taskSpecBuilder = TaskSpec.builder()
277-
.resources(resourceRequirements)
278-
.restartPolicy(restartPolicy)
279-
.placement(placement)
280-
.containerSpec(containerSpec);
264+
ResourceRequirements resourceRequirements = ResourceRequirements.builder()
265+
.limits(resourceBuilder.build())
266+
.build();
281267

282-
return taskSpecBuilder.build();
283-
} catch (DockerException | InterruptedException e) {
284-
e.printStackTrace();
285-
}
268+
final TaskSpec.Builder taskSpecBuilder = TaskSpec.builder()
269+
.resources(resourceRequirements)
270+
.restartPolicy(restartPolicy)
271+
.containerSpec(containerSpec);
286272

287-
return null;
273+
return taskSpecBuilder.build();
288274
}
289275

290276
private ServiceSpec buildServiceSpec(TaskSpec taskSpec, String nodePort, String noVncPort) {

src/main/java/de/zalando/ep/zalenium/container/swarm/SwarmUtilities.java

-37
Original file line numberDiff line numberDiff line change
@@ -108,27 +108,6 @@ public static synchronized Task getTaskByContainerId(String containerId) throws
108108
return null;
109109
}
110110

111-
public static synchronized Task getTaskByContainerLabel(String labelKey, String labelValue) throws DockerException, InterruptedException {
112-
List<Task> tasks = dockerClient.listTasks();
113-
114-
for (Task task : CollectionUtils.emptyIfNull(tasks)) {
115-
ContainerStatus containerStatus = task.status().containerStatus();
116-
117-
if (containerStatus != null) {
118-
ContainerInfo containerInfo = dockerClient.inspectContainer(containerStatus.containerId());
119-
ImmutableMap<String, String> labels = containerInfo.config().labels();
120-
boolean hasLabel = labels != null && labels.containsKey(labelKey);
121-
boolean labelHasValue = labels != null && labels.get(labelKey).equals(labelValue);
122-
123-
if (hasLabel && labelHasValue) {
124-
return task;
125-
}
126-
}
127-
}
128-
129-
return null;
130-
}
131-
132111
public static synchronized Task getTaskByServiceId(String serviceId) throws DockerException, InterruptedException {
133112
String serviceName = dockerClient.inspectService(serviceId).spec().name();
134113
Task.Criteria criteria = Task.Criteria.builder().serviceName(serviceName).build();
@@ -170,22 +149,6 @@ public static String getSwarmIp(ContainerInfo containerInfo) {
170149
return ipAddress;
171150
}
172151

173-
174-
public static synchronized String getHubHostname () throws DockerException, InterruptedException {
175-
String hubLabelKey = "de.zalando.gridRole";
176-
String hubLabelValue = "hub";
177-
Task task = getTaskByContainerLabel(hubLabelKey, hubLabelValue);
178-
179-
if (task != null) {
180-
String nodeId = task.nodeId();
181-
NodeInfo nodeInfo = dockerClient.inspectNode(nodeId);
182-
183-
return nodeInfo.description().hostname();
184-
}
185-
186-
return null;
187-
}
188-
189152
public static boolean isSwarmActive() {
190153
return !overlayNetwork.isEmpty();
191154
}

0 commit comments

Comments
 (0)