/** * Create container port exposure configuration for a job. * * @return The exposed ports. */ private Set<String> containerExposedPorts() { final Set<String> ports = Sets.newHashSet(); for (final Map.Entry<String, PortMapping> entry : job.getPorts().entrySet()) { final PortMapping mapping = entry.getValue(); ports.add(containerPort(mapping.getInternalPort(), mapping.getProtocol())); } return ports; }
@Override public String apply(final PortMapping input) { final StringBuilder builder = new StringBuilder(); if (input.getIp() != null) { builder.append(input.getIp()); } builder.append(":").append(input.getInternalPort()); if (input.getExternalPort() != null) { builder.append(":").append(input.getExternalPort()); } if (input.getProtocol() != null) { builder.append("/").append(input.getProtocol()); } return builder.toString(); } };
/** * Create a port binding configuration for the job. * * @return The port bindings. */ private Map<String, List<PortBinding>> portBindings() { final Map<String, List<PortBinding>> bindings = Maps.newHashMap(); for (final Map.Entry<String, PortMapping> e : job.getPorts().entrySet()) { final PortMapping mapping = e.getValue(); final Integer jobDefinedExtPort = mapping.getExternalPort(); // If the job didn't specify an external port, use dynamically allocated ports final String externalPort = jobDefinedExtPort == null ? ports.get(e.getKey()).toString() : jobDefinedExtPort.toString(); final PortBinding binding = PortBinding.of(mapping.getIp(), externalPort); final String entry = containerPort(mapping.getInternalPort(), mapping.getProtocol()); bindings.put(entry, Collections.singletonList(binding)); } return bindings; }
public void task(final JobId jobId, final String host, final TaskStatus ts, final Deployment deployment) { final String goal = (deployment == null) ? "" : deployment.getGoal().toString(); final int maxContainerId = full ? Integer.MAX_VALUE : 7; final String jobIdString = full ? jobId.toString() : jobId.toShortString(); if (ts == null) { table.row(jobIdString, host, goal, "", "", ""); } else { final List<String> portMappings = new ArrayList<>(); for (final Map.Entry<String, PortMapping> entry : ts.getPorts().entrySet()) { final PortMapping portMapping = entry.getValue(); portMappings.add(String.format("%s=%d:%d", entry.getKey(), portMapping.getInternalPort(), portMapping.getExternalPort())); } String state = ts.getState().toString(); if (ts.getThrottled() != ThrottleState.NO) { state += " (" + ts.getThrottled() + ")"; } final String ports = Joiner.on(" ").join(portMappings); final String cid = truncate(fromNullable(ts.getContainerId()).or(""), maxContainerId, ""); table.row(jobIdString, host, goal, state, cid, ports); } }
errors.add(format("Invalid port mapping protocol: %s", mapping.getProtocol())); if (!legalPort(mapping.getInternalPort())) { errors.add(format("Invalid internal port: %d", mapping.getInternalPort()));
assertEquals(ServicePorts.of("bar"), job.getRegistration().get(ServiceEndpoint.of("bar-service", "http"))); assertEquals(4711, job.getPorts().get("foo").getInternalPort()); assertEquals(PortMapping.of(5000, externalPort), job.getPorts().get("bar")); assertEquals("f00d", job.getEnv().get("BAD"));
/** * Create container port exposure configuration for a job. * @return The exposed ports. */ private Set<String> containerExposedPorts() { final Set<String> ports = Sets.newHashSet(); for (final Map.Entry<String, PortMapping> entry : job.getPorts().entrySet()) { final PortMapping mapping = entry.getValue(); ports.add(containerPort(mapping.getInternalPort(), mapping.getProtocol())); } return ports; }
/** * Create a port binding configuration for the job. * @return The port bindings. */ private Map<String, List<PortBinding>> portBindings() { final Map<String, List<PortBinding>> bindings = Maps.newHashMap(); for (final Map.Entry<String, PortMapping> e : job.getPorts().entrySet()) { final PortMapping mapping = e.getValue(); final PortBinding binding = new PortBinding(); final Integer externalPort = mapping.getExternalPort(); if (externalPort == null) { binding.hostPort(ports.get(e.getKey()).toString()); } else { binding.hostPort(externalPort.toString()); } final String entry = containerPort(mapping.getInternalPort(), mapping.getProtocol()); bindings.put(entry, Collections.singletonList(binding)); } return bindings; }
@Override public String apply(final PortMapping input) { String s = String.valueOf(input.getInternalPort()); if (input.getExternalPort() != null) { s += ":" + input.getExternalPort(); } if (input.getProtocol() != null) { s += "/" + input.getProtocol(); } return s; } };
public void task(final JobId jobId, final String host, final TaskStatus ts, final Deployment deployment) { final String goal = (deployment == null) ? "" : deployment.getGoal().toString(); final int maxContainerId = full ? Integer.MAX_VALUE : 7; final String jobIdString = full ? jobId.toString() : jobId.toShortString(); if (ts == null) { table.row(jobIdString, host, goal, "", "", ""); } else { final List<String> portMappings = new ArrayList<>(); for (Map.Entry<String, PortMapping> entry : ts.getPorts().entrySet()) { final PortMapping portMapping = entry.getValue(); portMappings.add(String.format("%s=%d:%d", entry.getKey(), portMapping.getInternalPort(), portMapping.getExternalPort())); } String state = ts.getState().toString(); if (ts.getThrottled() != ThrottleState.NO) { state += " (" + ts.getThrottled() + ")"; } final String ports = Joiner.on(" ").join(portMappings); final String cid = truncate(fromNullable(ts.getContainerId()).or(""), maxContainerId, ""); table.row(jobIdString, host, goal, state, cid, ports); } }