Search in sources :

Example 1 with Image

use of com.woorea.openstack.glance.model.Image in project ovirt-engine by oVirt.

the class OpenStackImageProviderProxy method createImageFromDiskImage.

public String createImageFromDiskImage(DiskImage diskImage) {
    Image glanceImage = new Image();
    glanceImage.setName(diskImage.getDiskAlias());
    if (diskImage.getVolumeFormat() == VolumeFormat.RAW) {
        glanceImage.setDiskFormat(GlanceImageFormat.RAW.getValue());
    } else if (diskImage.getVolumeFormat() == VolumeFormat.COW) {
        glanceImage.setDiskFormat(GlanceImageFormat.COW.getValue());
    } else {
        throw new OpenStackImageException(OpenStackImageException.ErrorType.UNSUPPORTED_DISK_FORMAT, "Unknown disk format: " + diskImage.getVolumeFormat());
    }
    glanceImage.setContainerFormat(GlanceImageContainer.BARE.getValue());
    Image retGlanceImage = getClient().images().create(glanceImage).execute();
    return retGlanceImage.getId();
}
Also used : Image(com.woorea.openstack.glance.model.Image) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) RepoImage(org.ovirt.engine.core.common.businessentities.storage.RepoImage)

Example 2 with Image

use of com.woorea.openstack.glance.model.Image in project ovirt-engine by oVirt.

the class OpenStackImageProviderProxy method getAllImagesAsRepoImages.

public List<RepoImage> getAllImagesAsRepoImages(Integer listSize, Integer totalListSize) {
    ArrayList<RepoImage> repoImages = new ArrayList<>();
    long currentTime = System.currentTimeMillis();
    Images images = null;
    do {
        OpenStackRequest<Images> listRequest = getClient().images().list(true).queryParam("limit", listSize).queryParam("sort_key", "name").queryParam("sort_dir", "asc");
        if (images != null) {
            listRequest.queryParam("marker", images.getList().get(images.getList().size() - 1).getId());
        }
        images = listRequest.execute();
        for (Image glanceImage : images) {
            RepoImage repoImage = imageToRepoImage(glanceImage);
            repoImage.setLastRefreshed(currentTime);
            repoImages.add(repoImage);
        }
    } while ((images.getList().size() >= listSize) && (totalListSize != null && repoImages.size() < totalListSize));
    return repoImages;
}
Also used : RepoImage(org.ovirt.engine.core.common.businessentities.storage.RepoImage) Images(com.woorea.openstack.glance.model.Images) ArrayList(java.util.ArrayList) Image(com.woorea.openstack.glance.model.Image) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) RepoImage(org.ovirt.engine.core.common.businessentities.storage.RepoImage)

Example 3 with Image

use of com.woorea.openstack.glance.model.Image in project ovirt-engine by oVirt.

the class OpenStackImageProviderProxy method getImageAsDiskImage.

public DiskImage getImageAsDiskImage(String id) {
    DiskImage diskImage = new DiskImage();
    Image glanceImage = getClient().images().show(id).execute();
    validateContainerFormat(glanceImage);
    String shortHash = glanceImage.getId().substring(0, 7);
    if (glanceImage.getName() != null) {
        diskImage.setDiskDescription(glanceImage.getName() + " (" + shortHash + ")");
    } else {
        diskImage.setDiskDescription("Glance disk: " + shortHash);
    }
    setDiskAttributes(diskImage, glanceImage);
    if (glanceImage.getDiskFormat().equals(GlanceImageFormat.RAW.getValue())) {
        diskImage.setVolumeFormat(VolumeFormat.RAW);
    } else if (glanceImage.getDiskFormat().equals(GlanceImageFormat.COW.getValue())) {
        diskImage.setVolumeFormat(VolumeFormat.COW);
    } else {
        throw new OpenStackImageException(OpenStackImageException.ErrorType.UNSUPPORTED_DISK_FORMAT, "Unknown disk format: " + glanceImage.getDiskFormat());
    }
    return diskImage;
}
Also used : Image(com.woorea.openstack.glance.model.Image) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) RepoImage(org.ovirt.engine.core.common.businessentities.storage.RepoImage) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Aggregations

Image (com.woorea.openstack.glance.model.Image)3 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)3 RepoImage (org.ovirt.engine.core.common.businessentities.storage.RepoImage)3 Images (com.woorea.openstack.glance.model.Images)1 ArrayList (java.util.ArrayList)1