Search in sources :

Example 6 with Action

use of org.ovirt.engine.sdk4.types.Action in project ovirt-engine-sdk-java by oVirt.

the class ActionReaderTest method testFaultAndStatusActionW.

/**
 * Checks that having fault and status action is handled correctly
 */
@Test
public void testFaultAndStatusActionW() throws Exception {
    String response = "<action><status>mystatus</status><fault><reason>myreason</reason></fault></action>";
    try (InputStream stream = new ByteArrayInputStream(response.getBytes(StandardCharsets.UTF_8));
        XmlReader reader = new XmlReader(stream)) {
        Action action = XmlActionReader.readOne(reader);
        // Check state:
        assertTrue(action.statusPresent());
        assertEquals("mystatus", action.status());
        // Check reason:
        assertTrue(action.faultPresent());
        assertTrue(action.fault().reasonPresent());
        assertEquals("myreason", action.fault().reason());
    }
}
Also used : Action(org.ovirt.engine.sdk4.types.Action) ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) XmlReader(org.ovirt.api.metamodel.runtime.xml.XmlReader) Test(org.junit.Test)

Example 7 with Action

use of org.ovirt.engine.sdk4.types.Action in project ovirt-engine-sdk-java by oVirt.

the class ActionReaderTest method testActionWithState.

/**
 * Checks that having action with state is handled correctly
 */
@Test
public void testActionWithState() throws Exception {
    String response = "<action><status>mystatus</status></action>";
    try (InputStream stream = new ByteArrayInputStream(response.getBytes(StandardCharsets.UTF_8));
        XmlReader reader = new XmlReader(stream)) {
        Action action = XmlActionReader.readOne(reader);
        assertTrue(action.statusPresent());
        assertEquals("mystatus", action.status());
    }
}
Also used : Action(org.ovirt.engine.sdk4.types.Action) ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) XmlReader(org.ovirt.api.metamodel.runtime.xml.XmlReader) Test(org.junit.Test)

Example 8 with Action

use of org.ovirt.engine.sdk4.types.Action in project ovirt-engine-sdk-java by oVirt.

the class VmsServiceTest method testFaultReaderWithAction.

/**
 * When the server returns an fault instead of an action it
 * raises an error containing the information of the fault.
 */
@Test
public void testFaultReaderWithAction() {
    boolean raised = false;
    VmService vmService = vmsService.vmService("456");
    try {
        vmService.start().send();
    } catch (Error e) {
        assertTrue(e.getMessage().contains("myreason"));
        raised = true;
    }
    assertTrue(raised);
}
Also used : VmService(org.ovirt.engine.sdk4.services.VmService) Test(org.junit.Test)

Example 9 with Action

use of org.ovirt.engine.sdk4.types.Action 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 Action

use of org.ovirt.engine.sdk4.types.Action in project ovirt-engine-sdk-java by oVirt.

the class StartVm 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 "vms" service:
    VmsService vmsService = connection.systemService().vmsService();
    // Find the virtual machine:
    Vm vm = vmsService.list().search("name=myvm").send().vms().get(0);
    // Locate the service that manages the virtual machine, as that is where the action methods are defined:
    VmService vmService = vmsService.vmService(vm.id());
    // Call the "start" method of the service to start it:
    vmService.start().send();
    // What till the virtual machine is up:
    for (; ; ) {
        Thread.sleep(5 * 1000);
        vm = vmService.get().send().vm();
        if (vm.status() == VmStatus.UP) {
            break;
        }
    }
    // Close the connection to the server:
    connection.close();
}
Also used : 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

Test (org.junit.Test)7 ByteArrayInputStream (java.io.ByteArrayInputStream)4 InputStream (java.io.InputStream)4 XmlReader (org.ovirt.api.metamodel.runtime.xml.XmlReader)4 Connection (org.ovirt.engine.sdk4.Connection)4 VmService (org.ovirt.engine.sdk4.services.VmService)4 Action (org.ovirt.engine.sdk4.types.Action)4 Vm (org.ovirt.engine.sdk4.types.Vm)3 HostService (org.ovirt.engine.sdk4.services.HostService)2 HostsService (org.ovirt.engine.sdk4.services.HostsService)2 VmsService (org.ovirt.engine.sdk4.services.VmsService)2 StorageDomainService (org.ovirt.engine.sdk4.services.StorageDomainService)1 StorageDomainVmService (org.ovirt.engine.sdk4.services.StorageDomainVmService)1 StorageDomainVmsService (org.ovirt.engine.sdk4.services.StorageDomainVmsService)1 StorageDomainsService (org.ovirt.engine.sdk4.services.StorageDomainsService)1 Host (org.ovirt.engine.sdk4.types.Host)1 IscsiDetails (org.ovirt.engine.sdk4.types.IscsiDetails)1 StorageDomain (org.ovirt.engine.sdk4.types.StorageDomain)1