Search in sources :

Example 1 with Volume

use of io.fabric8.kubernetes.api.model.Volume in project che by eclipse.

the class OpenShiftConnector method getVolumeMountsFrom.

private List<VolumeMount> getVolumeMountsFrom(String[] volumes, String workspaceID) {
    List<VolumeMount> vms = new ArrayList<>();
    for (String volume : volumes) {
        String mountPath = volume.split(":", 3)[1];
        String volumeName = getVolumeName(volume);
        VolumeMount vm = new VolumeMountBuilder().withMountPath(mountPath).withName("ws-" + workspaceID + "-" + volumeName).build();
        vms.add(vm);
    }
    return vms;
}
Also used : ArrayList(java.util.ArrayList) VolumeMount(io.fabric8.kubernetes.api.model.VolumeMount) VolumeMountBuilder(io.fabric8.kubernetes.api.model.VolumeMountBuilder)

Example 2 with Volume

use of io.fabric8.kubernetes.api.model.Volume in project camel by apache.

the class KubernetesPersistentVolumesProducer method doGetPersistentVolume.

protected void doGetPersistentVolume(Exchange exchange, String operation) throws Exception {
    PersistentVolume pv = null;
    String pvName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_NAME, String.class);
    if (ObjectHelper.isEmpty(pvName)) {
        LOG.error("Get a specific Persistent Volume require specify a Persistent Volume name");
        throw new IllegalArgumentException("Get a specific Persistent Volume require specify a Persistent Volume name");
    }
    pv = getEndpoint().getKubernetesClient().persistentVolumes().withName(pvName).get();
    MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true);
    exchange.getOut().setBody(pv);
}
Also used : DoneablePersistentVolume(io.fabric8.kubernetes.api.model.DoneablePersistentVolume) PersistentVolume(io.fabric8.kubernetes.api.model.PersistentVolume)

Example 3 with Volume

use of io.fabric8.kubernetes.api.model.Volume in project kubernetes by ballerinax.

the class PersistentVolumeClaimHandler method generate.

@Override
public String generate() throws KubernetesPluginException {
    Quantity quantity = new QuantityBuilder().withAmount(volumeClaimModel.getVolumeClaimSize()).build();
    Map<String, Quantity> requests = new HashMap<>();
    requests.put("storage", quantity);
    PersistentVolumeClaim secret = new PersistentVolumeClaimBuilder().withNewMetadata().withName(volumeClaimModel.getName()).endMetadata().withNewSpec().withAccessModes(volumeClaimModel.getAccessMode()).withNewResources().withRequests(requests).endResources().endSpec().build();
    try {
        return SerializationUtils.dumpWithoutRuntimeStateAsYaml(secret);
    } catch (JsonProcessingException e) {
        String errorMessage = "Error while parsing yaml file for volume claim: " + volumeClaimModel.getName();
        throw new KubernetesPluginException(errorMessage, e);
    }
}
Also used : QuantityBuilder(io.fabric8.kubernetes.api.model.QuantityBuilder) HashMap(java.util.HashMap) Quantity(io.fabric8.kubernetes.api.model.Quantity) PersistentVolumeClaimBuilder(io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder) PersistentVolumeClaim(io.fabric8.kubernetes.api.model.PersistentVolumeClaim) KubernetesPluginException(org.ballerinax.kubernetes.exceptions.KubernetesPluginException) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException)

Example 4 with Volume

use of io.fabric8.kubernetes.api.model.Volume in project fabric8-maven-plugin by fabric8io.

the class ContainerHandlerTest method getVolumeMountWithoutMountTest.

@Test
public void getVolumeMountWithoutMountTest() {
    ContainerHandler handler = new ContainerHandler(project, envVarHandler, probeHandler);
    images.clear();
    images.add(imageConfiguration1);
    // volume config without mount
    VolumeConfig volumeConfig1 = new VolumeConfig.Builder().name("first").build();
    volumes1.add(volumeConfig1);
    ResourceConfig config1 = new ResourceConfig.Builder().volumes(volumes1).build();
    containers = handler.getContainers(config1, images);
    assertTrue(containers.get(0).getVolumeMounts().isEmpty());
}
Also used : ResourceConfig(io.fabric8.maven.core.config.ResourceConfig) VolumeConfig(io.fabric8.maven.core.config.VolumeConfig) Test(org.junit.Test)

Example 5 with Volume

use of io.fabric8.kubernetes.api.model.Volume in project fabric8-maven-plugin by fabric8io.

the class ContainerHandlerTest method getVolumeMountWithMultipleMountTest.

@Test
public void getVolumeMountWithMultipleMountTest() {
    ContainerHandler handler = new ContainerHandler(project, envVarHandler, probeHandler);
    images.clear();
    images.add(imageConfiguration1);
    List<String> mounts = new ArrayList<>();
    mounts.add("/path/etc");
    // volume config with name and multiple mount
    mounts.add("/path/system");
    mounts.add("/path/sys");
    VolumeConfig volumeConfig4 = new VolumeConfig.Builder().name("test").mounts(mounts).build();
    volumes1.clear();
    volumes1.add(volumeConfig4);
    ResourceConfig config4 = new ResourceConfig.Builder().volumes(volumes1).build();
    containers = handler.getContainers(config4, images);
    assertEquals(3, containers.get(0).getVolumeMounts().size());
    for (int i = 0; i <= 2; i++) assertEquals("test", containers.get(0).getVolumeMounts().get(i).getName());
}
Also used : ArrayList(java.util.ArrayList) ResourceConfig(io.fabric8.maven.core.config.ResourceConfig) VolumeConfig(io.fabric8.maven.core.config.VolumeConfig) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)26 Volume (io.fabric8.kubernetes.api.model.Volume)22 ArrayList (java.util.ArrayList)18 VolumeBuilder (io.fabric8.kubernetes.api.model.VolumeBuilder)14 HashMap (java.util.HashMap)13 VolumeConfig (io.fabric8.maven.core.config.VolumeConfig)12 FlinkPod (org.apache.flink.kubernetes.kubeclient.FlinkPod)12 VolumeMount (io.fabric8.kubernetes.api.model.VolumeMount)11 KeyToPath (io.fabric8.kubernetes.api.model.KeyToPath)10 List (java.util.List)10 Map (java.util.Map)10 Collectors (java.util.stream.Collectors)9 KeyToPathBuilder (io.fabric8.kubernetes.api.model.KeyToPathBuilder)8 ResourceConfig (io.fabric8.maven.core.config.ResourceConfig)8 BuildImageConfiguration (io.fabric8.maven.docker.config.BuildImageConfiguration)8 File (java.io.File)8 IOException (java.io.IOException)8 Container (io.fabric8.kubernetes.api.model.Container)7 Pod (io.fabric8.kubernetes.api.model.Pod)6 ConfigMap (io.fabric8.kubernetes.api.model.ConfigMap)5