public static ContainerDescription fromPodContainerToContainerDescription(Container podContainer, PodSpec podSpec) { assertNotNull(podContainer, "pod container"); ContainerDescription description = new ContainerDescription(); description.name = podContainer.name; description.image = podContainer.image; List<String> containerDescCommand = fromPodContainerCommandToContainerDescriptionCommand (podContainer.command, podContainer.args); description.command = containerDescCommand.toArray(new String[containerDescCommand.size()]); description.workingDir = podContainer.workingDir; description.portBindings = fromPodContainerPortsToContainerDescriptionPortBindings( podContainer.ports); description.env = fromPodContainerEnvVarToContainerDescriptionEnv(podContainer.env); description.privileged = fromPodPrivilegedModeToContainerDescriptionPrivilegedMode (podContainer); description.restartPolicy = podSpec.restartPolicy.name().toLowerCase(); description.healthConfig = fromPodContainerProbeToContainerDescriptionHealthConfig (podContainer); setPodContainerResourcesToContainerDescriptionResources(podContainer, description); return description; }
@Test public void testFromPodContainerToContainerDescription() { Container podContainer = createPodContainer(); PodSpec spec = new PodSpec(); spec.restartPolicy = RestartPolicy.Always; ContainerDescription containerDescription = KubernetesConverter .fromPodContainerToContainerDescription(podContainer, spec); assertNotNull(containerDescription); assertEquals(podContainer.name, containerDescription.name); assertEquals(podContainer.image, containerDescription.image); assertEquals(podContainer.command, Arrays.asList(containerDescription.command[0])); assertEquals(podContainer.args, Arrays.asList(containerDescription.command[1])); assertEquals(podContainer.workingDir, containerDescription.workingDir); assertEquals(podContainer.ports.get(0).containerPort.toString(), containerDescription.portBindings[0].containerPort); assertEquals(podContainer.ports.get(0).hostPort.toString(), containerDescription.portBindings[0].hostPort); assertEquals(podContainer.ports.get(0).protocol, containerDescription.portBindings[0].protocol); assertEquals(podContainer.env.get(0).name + "=" + podContainer.env.get(0).value, containerDescription.env[0]); assertEquals(podContainer.securityContext.privileged, containerDescription.privileged); assertEquals(spec.restartPolicy.toString().toLowerCase(), containerDescription.restartPolicy); assertEquals(podContainer.livenessProbe.timeoutSeconds, Integer.valueOf(containerDescription.healthConfig.timeoutMillis / 1000)); }