private PodTemplateSpec createPodTemplateSpec(Map<String, String> labels, List<Container> containers, MountSecret mountSecret) throws Exception { PodTemplateSpec pts = new PodTemplateSpec(); ObjectMeta objectMeta = new ObjectMeta(); pts.setMetadata(objectMeta); objectMeta.setLabels(labels); PodSpec ps = new PodSpec(); pts.setSpec(ps); ps.setContainers(containers); mountSecret(ps, mountSecret); return pts; }
@Override protected List<Container> getContainers() { return pod.getSpec().getContainers(); } }
@Override public void visit(Object element) { String serviceAccount = null; Set<Secret> secrets = new LinkedHashSet<>(); if (element instanceof PodBuilder) { PodBuilder builder = (PodBuilder) element; serviceAccount = builder.getSpec().getServiceAccountName(); secrets.addAll(generateSecrets(builder.getMetadata())); } else if (element instanceof PodTemplateSpecBuilder) { PodTemplateSpecBuilder builder = (PodTemplateSpecBuilder) element; serviceAccount = builder.getSpec().getServiceAccountName(); secrets.addAll(generateSecrets(builder.getMetadata())); } }
@Before public void setup() throws Exception { final Pod pod = new Pod("v1", "Pod", new ObjectMeta(), new PodSpec(), null); final ResourceHolder resourceHolder = new ResourceHolder(pod); when(openShiftClient.build(anyObject())).thenReturn(resourceHolder); when(openShiftClient.getClientExt()).thenReturn(openShiftClientExt); when(openShiftClientExt.routes()).thenReturn(routeOperations); when(routeOperations.list()).thenReturn(new RouteList()); when(cubeOpenShiftConfiguration.isNamespaceCleanupEnabled()).thenReturn(true); buildablePodCube = injectorInst.get().inject(new BuildablePodCube(pod, openShiftClient, cubeOpenShiftConfiguration)); buildablePodCube.holder = resourceHolder; }
private static void mountSecret(PodSpec ps, MountSecret mountSecret) { if (mountSecret != null) { Volume volume = new Volume(); volume.setName(mountSecret.volumeName()); SecretVolumeSource svc = new SecretVolumeSource(); svc.setSecretName(mountSecret.secretName()); volume.setSecret(svc); ps.setVolumes(Collections.singletonList(volume)); } }
@Override protected List<Container> getContainers() { return config.getSpec().getTemplate().getSpec().getContainers(); } }
public String deployPod(String name, String env, RCContext context) throws Exception { List<Container> containers = getContainers(name, context); PodSpec podSpec = new PodSpec(); podSpec.setContainers(containers); Map<String, String> podLabels = new HashMap<>(); podLabels.put("name", name + "-pod"); podLabels.putAll(context.getLabels()); ObjectMeta metadata = new ObjectMeta(); metadata.setName(name + "-pod"); metadata.setLabels(podLabels); mountSecret(podSpec, context.getMountSecret()); Pod pod = new Pod(); pod.setApiVersion(configuration.getApiVersion()); pod.setMetadata(metadata); pod.setSpec(podSpec); return client.pods().inNamespace(configuration.getNamespace()).create(pod).getMetadata().getName(); }
private void verifyServiceAccounts(DeploymentConfig dc) throws Exception { String serviceAccountName = dc.getSpec().getTemplate().getSpec().getServiceAccountName(); if (serviceAccountName != null) { ServiceAccount serviceAccount = client.serviceAccounts().inNamespace(configuration.getNamespace()).withName(serviceAccountName).get(); if (serviceAccount == null) { throw new Exception("Missing required ServiceAccount: " + serviceAccountName); } } }
for (Container container : resource.getSpec().getContainers()) { for (ContainerPort containerPort : container.getPorts()) { if (containerPort.getContainerPort() == null) {
@Override public <T extends HasMetadata> void onResourceNotReady(T resource) { try { PodList podList = podsOf(resource); if (podList == null) { return; } for (Pod pod : podList.getItems()) { //That should only happen in tests. if (pod.getSpec() == null || pod.getSpec().getContainers() == null) { continue; } displayPodEvents(pod); for (Container container : pod.getSpec().getContainers()) { displayContainerLogs(pod, container); } } } catch (Throwable t) { //ignore } }
@Override public <T extends HasMetadata> void onResourceNotReady(T resource) { try { PodList podList = podsOf(resource); if (podList == null) { return; } for (Pod pod : podList.getItems()) { //That should only happen in tests. if (pod.getSpec() == null || pod.getSpec().getContainers() == null) { continue; } displayPodEvents(pod); for (Container container : pod.getSpec().getContainers()) { displayContainerLogs(pod, container); } } } catch (Throwable t) { //ignore } }
Collection<Closeable> fds = new ArrayList<Closeable>(); List<Container> containers = client.pods().inNamespace(session.getNamespace()).withName(podName).get() .getSpec().getContainers(); if (containers.size() == 1) { fileName += String.format("-%s.log", podName);
Collection<Closeable> fds = new ArrayList<Closeable>(); List<Container> containers = client.pods().inNamespace(session.getNamespace()).withName(podName).get() .getSpec().getContainers(); if (containers.size() == 1) { fileName += String.format("-%s.log", podName);
private synchronized void podStarted() throws Exception { if (holder.getPod() != null && holder.getPod().getSpec() != null && holder.getPod().getSpec().getContainers() != null) { for (Container container : holder.getPod().getSpec().getContainers()) { for (ContainerPort containerPort : container.getPorts()) { if (containerPort.getContainerPort() == null) { continue; } final int port = containerPort.getContainerPort(); if (!proxiedPorts.containsKey(port)) { final Integer hostPort = containerPort.getHostPort(); if (hostPort != null) { // overwrite as hostIP info may have changed mappedPorts.put(port, new PortAddressImpl(containerPort.getHostIP(), hostPort)); } } } } } createProxies(); }
final DeployableScalableResource<DeploymentConfig, DoneableDeploymentConfig> ccr = client.deploymentConfigs().inNamespace(configuration.getNamespace()).withName(actualName); List<Container> containers = ccr.get().getSpec().getTemplate().getSpec().getContainers(); if (containers.size() > 0) {
public static Binding toBinding(Pod pod) { Binding binding = null; if (pod.getStatus() != null && pod.getStatus().getHostIP() != null) { // Running // pod binding = new Binding(pod.getStatus().getHostIP()); } else { // Configured pod binding = new Binding(null); } for (Container container : pod.getSpec().getContainers()) { for (ContainerPort port : container.getPorts()) { binding.addPortBinding(port.getContainerPort(), port.getHostPort()); } } return binding; }