Search in sources :

Example 6 with StorageDomainsService

use of org.ovirt.engine.sdk4.services.StorageDomainsService in project ovirt-engine-sdk-java by oVirt.

the class AddNfsDataStorageDomain method main.

public static void main(String[] args) throws Exception {
    // Create the connection to the server:
    Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
    // Get the reference to the storage domains service:
    StorageDomainsService sdsService = connection.systemService().storageDomainsService();
    // Create a new NFS storage domain:
    StorageDomain sd = sdsService.add().storageDomain(storageDomain().name("mydata").description("My data").type(StorageDomainType.DATA).host(host().name("myhost")).storage(hostStorage().type(StorageType.NFS).address("server0.example.com").path("/nfs/ovirt/40/mydata"))).send().storageDomain();
    // Wait till the storage domain is unattached:
    StorageDomainService sdService = sdsService.storageDomainService(sd.id());
    for (; ; ) {
        Thread.sleep(5 * 1000);
        sd = sdService.get().send().storageDomain();
        if (sd.status() == StorageDomainStatus.UNATTACHED) {
            break;
        }
    }
    // Close the connection to the server:
    connection.close();
}
Also used : StorageDomainsService(org.ovirt.engine.sdk4.services.StorageDomainsService) StorageDomainService(org.ovirt.engine.sdk4.services.StorageDomainService) StorageDomain(org.ovirt.engine.sdk4.types.StorageDomain) Connection(org.ovirt.engine.sdk4.Connection)

Example 7 with StorageDomainsService

use of org.ovirt.engine.sdk4.services.StorageDomainsService in project ovirt-engine-sdk-java by oVirt.

the class AttachNfsIsoStorageDomain method main.

public static void main(String[] args) throws Exception {
    // Create the connection to the server:
    Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
    // Locate the service that manages the storage domains, and use it to search for the storage domain:
    StorageDomainsService sdsService = connection.systemService().storageDomainsService();
    StorageDomain sd = sdsService.list().search("name=myiso").send().storageDomains().get(0);
    // Locate the service that manages the data centers and use it to search for the data center:
    DataCentersService dcsService = connection.systemService().dataCentersService();
    DataCenter dc = dcsService.list().search("name=mydc").send().dataCenters().get(0);
    // Locate the service that manages the data center where we want to attach the storage domain:
    DataCenterService dcService = dcsService.dataCenterService(dc.id());
    // Locate the service that manages the storage domains that are attached to the data center:
    AttachedStorageDomainsService attachedSdsService = dcService.storageDomainsService();
    // Use the "add" method of the service that manages the attached storage domains to attach it:
    attachedSdsService.add().storageDomain(storageDomain().id(sd.id())).send();
    // Wait till the storage domain is active:
    AttachedStorageDomainService attachedSdService = attachedSdsService.storageDomainService(sd.id());
    for (; ; ) {
        Thread.sleep(5 * 1000);
        sd = attachedSdService.get().send().storageDomain();
        if (sd.status() == StorageDomainStatus.ACTIVE) {
            break;
        }
    }
    // Close the connection to the server:
    connection.close();
}
Also used : AttachedStorageDomainsService(org.ovirt.engine.sdk4.services.AttachedStorageDomainsService) StorageDomainsService(org.ovirt.engine.sdk4.services.StorageDomainsService) StorageDomain(org.ovirt.engine.sdk4.types.StorageDomain) DataCentersService(org.ovirt.engine.sdk4.services.DataCentersService) DataCenter(org.ovirt.engine.sdk4.types.DataCenter) AttachedStorageDomainService(org.ovirt.engine.sdk4.services.AttachedStorageDomainService) Connection(org.ovirt.engine.sdk4.Connection) DataCenterService(org.ovirt.engine.sdk4.services.DataCenterService) AttachedStorageDomainsService(org.ovirt.engine.sdk4.services.AttachedStorageDomainsService)

Example 8 with StorageDomainsService

use of org.ovirt.engine.sdk4.services.StorageDomainsService in project ovirt-engine-sdk-java by oVirt.

the class ImportGlanceImage method main.

public static void main(String[] args) throws Exception {
    // Create the connection to the server:
    Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
    // Get the root of the services tree:
    SystemService systemService = connection.systemService();
    // Find the Glance storage domain that is available for default in any oVirt installation:
    StorageDomainsService sdsService = systemService.storageDomainsService();
    StorageDomain sd = sdsService.list().search("name=ovirt-image-repository").send().storageDomains().get(0);
    // Find the servie that manages the Glance storage domain:
    StorageDomainService sdService = sdsService.storageDomainService(sd.id());
    // Find the service that manages the images available in that storage domain:
    ImagesService imagesService = sdService.imagesService();
    // The images service doesn't support search, so in roder to find an image we need to retrieve all of them and
    // do the filtering explicitly:
    List<Image> images = imagesService.list().send().images();
    Image image = null;
    for (Image i : images) {
        if (Objects.equals(i.name(), "CirrOS 0.3.4 for x86_64")) {
            image = i;
            break;
        }
    }
    // Find the service that manages the image that we found in the previous step:
    ImageService imageService = imagesService.imageService(image.id());
    // Import the image:
    imageService.import_().importAsTemplate(true).template(template().name("mytemplate")).cluster(cluster().name("mycluster")).storageDomain(storageDomain().name("mydata")).send();
    // Close the connection to the server:
    connection.close();
}
Also used : StorageDomainsService(org.ovirt.engine.sdk4.services.StorageDomainsService) StorageDomainService(org.ovirt.engine.sdk4.services.StorageDomainService) StorageDomain(org.ovirt.engine.sdk4.types.StorageDomain) SystemService(org.ovirt.engine.sdk4.services.SystemService) Connection(org.ovirt.engine.sdk4.Connection) ImagesService(org.ovirt.engine.sdk4.services.ImagesService) Image(org.ovirt.engine.sdk4.types.Image) ImageService(org.ovirt.engine.sdk4.services.ImageService)

Example 9 with StorageDomainsService

use of org.ovirt.engine.sdk4.services.StorageDomainsService in project ovirt-engine-sdk-java by oVirt.

the class RegisterVm method main.

public static void main(String[] args) throws Exception {
    // Create the connection to the server:
    Connection connection = connection().url("https://engine/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
    // Get the reference to the "StorageDomains" service:
    StorageDomainsService storageDomainsService = connection.systemService().storageDomainsService();
    // Find the storage domain with unregistered VM:
    StorageDomain sd = storageDomainsService.list().search("name=mysd").send().storageDomains().get(0);
    // Locate the service that manages the storage domain, as that is where the action methods are defined:
    StorageDomainService storageDomainService = storageDomainsService.storageDomainService(sd.id());
    // Locate the service that manages the VMs in storage domain:
    StorageDomainVmsService storageDomainVmsService = storageDomainService.vmsService();
    // Find the the unregistered VM we want to register:
    List<Vm> unregisteredVms = storageDomainVmsService.list().unregistered(true).send().vm();
    Vm vm = null;
    for (Vm x : unregisteredVms) {
        if ("myvm".equals(x.name())) {
            vm = x;
            break;
        }
    }
    // Locate the service that manages virtual machine in the storage domain, as that is where the action methods
    // are defined:
    StorageDomainVmService storageDomainVmService = storageDomainVmsService.vmService(vm.id());
    // Register the VM into the system:
    storageDomainVmService.register().vm(vm().name("exported_myvm")).cluster(cluster().name("mycluster")).vnicProfileMappings(vnicProfileMapping().sourceNetworkName("mynetwork").sourceNetworkProfileName("mynetwork").targetVnicProfile(vnicProfile().name("mynetwork"))).reassignBadMacs(true).send();
    // Close the connection to the server:
    connection.close();
}
Also used : StorageDomainsService(org.ovirt.engine.sdk4.services.StorageDomainsService) StorageDomainService(org.ovirt.engine.sdk4.services.StorageDomainService) StorageDomain(org.ovirt.engine.sdk4.types.StorageDomain) Vm(org.ovirt.engine.sdk4.types.Vm) Connection(org.ovirt.engine.sdk4.Connection) StorageDomainVmsService(org.ovirt.engine.sdk4.services.StorageDomainVmsService) StorageDomainVmService(org.ovirt.engine.sdk4.services.StorageDomainVmService)

Example 10 with StorageDomainsService

use of org.ovirt.engine.sdk4.services.StorageDomainsService in project ovirt-engine-sdk-java by oVirt.

the class SetVmLeaseStorageDomain method main.

public static void main(String[] args) throws Exception {
    // Create the connection to the server:
    Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
    // Get the reference to the root of the tree of services:
    SystemService systemService = connection.systemService();
    // Find the virtual machine:
    VmsService vmsService = systemService.vmsService();
    Vm vm = vmsService.list().search("name=myvm").send().vms().get(0);
    // Find the storage domain:
    StorageDomainsService sdsService = systemService.storageDomainsService();
    StorageDomain sd = sdsService.list().search("name=mydata").send().storageDomains().get(0);
    // Update the virtual machine so that high availability is enabled and the lease is created in the selected
    // storage domain:
    VmService vmService = vmsService.vmService(vm.id());
    vmService.update().vm(vm().highAvailability(highAvailability().enabled(true)).lease(storageDomainLease().storageDomain(storageDomain().id(sd.id())))).send();
    // Close the connection to the server:
    connection.close();
}
Also used : StorageDomainsService(org.ovirt.engine.sdk4.services.StorageDomainsService) StorageDomain(org.ovirt.engine.sdk4.types.StorageDomain) SystemService(org.ovirt.engine.sdk4.services.SystemService) Vm(org.ovirt.engine.sdk4.types.Vm) VmService(org.ovirt.engine.sdk4.services.VmService) Connection(org.ovirt.engine.sdk4.Connection) VmsService(org.ovirt.engine.sdk4.services.VmsService)

Aggregations

Connection (org.ovirt.engine.sdk4.Connection)12 StorageDomainsService (org.ovirt.engine.sdk4.services.StorageDomainsService)12 StorageDomain (org.ovirt.engine.sdk4.types.StorageDomain)12 StorageDomainService (org.ovirt.engine.sdk4.services.StorageDomainService)6 SystemService (org.ovirt.engine.sdk4.services.SystemService)6 Vm (org.ovirt.engine.sdk4.types.Vm)4 DataCenterService (org.ovirt.engine.sdk4.services.DataCenterService)3 DataCentersService (org.ovirt.engine.sdk4.services.DataCentersService)3 VmsService (org.ovirt.engine.sdk4.services.VmsService)3 DataCenter (org.ovirt.engine.sdk4.types.DataCenter)3 AttachedStorageDomainService (org.ovirt.engine.sdk4.services.AttachedStorageDomainService)2 AttachedStorageDomainsService (org.ovirt.engine.sdk4.services.AttachedStorageDomainsService)2 ImagesService (org.ovirt.engine.sdk4.services.ImagesService)2 StorageDomainVmsService (org.ovirt.engine.sdk4.services.StorageDomainVmsService)2 VmService (org.ovirt.engine.sdk4.services.VmService)2 Disk (org.ovirt.engine.sdk4.types.Disk)2 Image (org.ovirt.engine.sdk4.types.Image)2 HashMap (java.util.HashMap)1 Map (java.util.Map)1 ClustersService (org.ovirt.engine.sdk4.services.ClustersService)1