use of org.eclipse.che.api.workspace.server.wsplugins.model.Volume in project devspaces-images by redhat-developer.
the class MachineResolverTest method shouldRefuseToMountProjectsManually.
@Test(expectedExceptions = InfrastructureException.class)
public void shouldRefuseToMountProjectsManually() throws InfrastructureException {
cheContainer.setMountSources(false);
Volume volume = new Volume();
volume.setName(Constants.PROJECTS_VOLUME_NAME);
volume.setMountPath("anything, like");
cheContainer.getVolumes().add(volume);
resolver.resolve();
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.Volume in project devspaces-images by redhat-developer.
the class ChePluginsVolumeApplier method provisionPVCPodVolume.
private io.fabric8.kubernetes.api.model.Volume provisionPVCPodVolume(Volume volume, KubernetesEnvironment.PodData pod, KubernetesEnvironment k8sEnv) {
String pvcName = volume.getName();
if (!k8sEnv.getPersistentVolumeClaims().containsKey(pvcName)) {
final PersistentVolumeClaim pvc = newPVC(pvcName, pvcAccessMode, pvcQuantity, pvcStorageClassName);
k8sEnv.getPersistentVolumeClaims().put(pvcName, pvc);
}
PodSpec podSpec = pod.getSpec();
Optional<io.fabric8.kubernetes.api.model.Volume> volumeOpt = podSpec.getVolumes().stream().filter(vm -> vm.getPersistentVolumeClaim() != null && pvcName.equals(vm.getPersistentVolumeClaim().getClaimName())).findAny();
io.fabric8.kubernetes.api.model.Volume podVolume;
if (volumeOpt.isPresent()) {
podVolume = volumeOpt.get();
} else {
podVolume = newVolume(pvcName, pvcName);
podSpec.getVolumes().add(podVolume);
}
return podVolume;
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.Volume in project che-server by eclipse-che.
the class MachineResolverTest method shouldRefuseToMountProjectsManually.
@Test(expectedExceptions = InfrastructureException.class)
public void shouldRefuseToMountProjectsManually() throws InfrastructureException {
cheContainer.setMountSources(false);
Volume volume = new Volume();
volume.setName(Constants.PROJECTS_VOLUME_NAME);
volume.setMountPath("anything, like");
cheContainer.getVolumes().add(volume);
resolver.resolve();
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.Volume in project devspaces-images by redhat-developer.
the class ChePluginsVolumeApplier method applyVolumes.
public void applyVolumes(KubernetesEnvironment.PodData pod, Container container, Collection<Volume> volumes, KubernetesEnvironment k8sEnv) {
for (Volume volume : volumes) {
String podVolumeName = provisionPodVolume(volume, pod, k8sEnv);
container.getVolumeMounts().add(newVolumeMount(podVolumeName, volume.getMountPath(), ""));
}
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.Volume in project devspaces-images by redhat-developer.
the class KubernetesPluginsToolingApplierTest method createContainer.
private CheContainer createContainer(String name, Command... commands) {
CheContainer cheContainer = new CheContainer();
cheContainer.setImage(TEST_IMAGE);
cheContainer.setName(name);
cheContainer.setEnv(singletonList(new EnvVar().name(ENV_VAR).value(ENV_VAR_VALUE)));
cheContainer.setVolumes(singletonList(new Volume().name(VOLUME_NAME).mountPath(VOLUME_MOUNT_PATH)));
cheContainer.setCommands(Arrays.asList(commands));
return cheContainer;
}
Aggregations