Search in sources :

Example 1 with VirtualMachineConfigOption

use of com.vmware.vim25.VirtualMachineConfigOption in project cloudstack by apache.

the class ClusterMO method getRecommendedDiskController.

@Override
public String getRecommendedDiskController(String guestOsId) throws Exception {
    VirtualMachineConfigOption vmConfigOption = _context.getService().queryConfigOption(getEnvironmentBrowser(), null, null);
    GuestOsDescriptor guestOsDescriptor = null;
    String diskController = null;
    List<GuestOsDescriptor> guestDescriptors = vmConfigOption.getGuestOSDescriptor();
    for (GuestOsDescriptor descriptor : guestDescriptors) {
        if (guestOsId != null && guestOsId.equalsIgnoreCase(descriptor.getId())) {
            guestOsDescriptor = descriptor;
            break;
        }
    }
    if (guestOsDescriptor != null) {
        diskController = VmwareHelper.getRecommendedDiskControllerFromDescriptor(guestOsDescriptor);
        s_logger.debug("Retrieved recommended disk controller for guest OS : " + guestOsId + " in cluster " + getHyperHostName() + " : " + diskController);
        return diskController;
    } else {
        String msg = "Unable to retrieve recommended disk controller for guest OS : " + guestOsId + " in cluster " + getHyperHostName();
        s_logger.error(msg);
        throw new CloudRuntimeException(msg);
    }
}
Also used : VirtualMachineConfigOption(com.vmware.vim25.VirtualMachineConfigOption) GuestOsDescriptor(com.vmware.vim25.GuestOsDescriptor) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException)

Example 2 with VirtualMachineConfigOption

use of com.vmware.vim25.VirtualMachineConfigOption in project cloudstack by apache.

the class VirtualMachineMO method getGuestOsDescriptor.

public GuestOsDescriptor getGuestOsDescriptor(String guestOsId) throws Exception {
    GuestOsDescriptor guestOsDescriptor = null;
    String guestId = guestOsId;
    if (guestId == null) {
        guestId = getGuestId();
    }
    ManagedObjectReference vmEnvironmentBrowser = _context.getVimClient().getMoRefProp(_mor, "environmentBrowser");
    VirtualMachineConfigOption vmConfigOption = _context.getService().queryConfigOption(vmEnvironmentBrowser, null, null);
    List<GuestOsDescriptor> guestDescriptors = vmConfigOption.getGuestOSDescriptor();
    for (GuestOsDescriptor descriptor : guestDescriptors) {
        if (guestId != null && guestId.equalsIgnoreCase(descriptor.getId())) {
            guestOsDescriptor = descriptor;
            break;
        }
    }
    return guestOsDescriptor;
}
Also used : VirtualMachineConfigOption(com.vmware.vim25.VirtualMachineConfigOption) GuestOsDescriptor(com.vmware.vim25.GuestOsDescriptor) ArrayOfManagedObjectReference(com.vmware.vim25.ArrayOfManagedObjectReference) ManagedObjectReference(com.vmware.vim25.ManagedObjectReference)

Example 3 with VirtualMachineConfigOption

use of com.vmware.vim25.VirtualMachineConfigOption in project cs-actions by CloudSlang.

the class VmService method getOsDescriptors.

/**
 * Method used to connect to data center to retrieve a list with all the guest operating system descriptors
 * supported by the host system.
 *
 * @param httpInputs Object that has all the inputs necessary to made a connection to data center
 * @param vmInputs   Object that has all the specific inputs necessary to identify the targeted host system
 * @param delimiter  String that represents the delimiter needed in the result list
 * @return Map with String as key and value that contains returnCode of the operation, a list that contains all the
 *         guest operating system descriptors supported by the host system or failure message and the exception if there is one
 * @throws Exception
 */
public Map<String, String> getOsDescriptors(HttpInputs httpInputs, VmInputs vmInputs, String delimiter) throws Exception {
    ConnectionResources connectionResources = new ConnectionResources(httpInputs, vmInputs);
    try {
        ManagedObjectReference environmentBrowserMor = new MorObjectHandler().getEnvironmentBrowser(connectionResources, ManagedObjectType.ENVIRONMENT_BROWSER.getValue());
        VirtualMachineConfigOption configOptions = connectionResources.getVimPortType().queryConfigOption(environmentBrowserMor, null, connectionResources.getHostMor());
        List<GuestOsDescriptor> guestOSDescriptors = configOptions.getGuestOSDescriptor();
        return ResponseUtils.getResultsMap(ResponseUtils.getResponseStringFromCollection(guestOSDescriptors, delimiter), Outputs.RETURN_CODE_SUCCESS);
    } catch (Exception ex) {
        return ResponseUtils.getResultsMap(ex.toString(), Outputs.RETURN_CODE_FAILURE);
    } finally {
        if (httpInputs.isCloseSession()) {
            connectionResources.getConnection().disconnect();
            clearConnectionFromContext(httpInputs.getGlobalSessionObject());
        }
    }
}
Also used : VirtualMachineConfigOption(com.vmware.vim25.VirtualMachineConfigOption) GuestOsDescriptor(com.vmware.vim25.GuestOsDescriptor) ConnectionResources(io.cloudslang.content.vmware.connection.ConnectionResources) MorObjectHandler(io.cloudslang.content.vmware.services.helpers.MorObjectHandler) ManagedObjectReference(com.vmware.vim25.ManagedObjectReference)

Aggregations

GuestOsDescriptor (com.vmware.vim25.GuestOsDescriptor)3 VirtualMachineConfigOption (com.vmware.vim25.VirtualMachineConfigOption)3 ManagedObjectReference (com.vmware.vim25.ManagedObjectReference)2 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)1 ArrayOfManagedObjectReference (com.vmware.vim25.ArrayOfManagedObjectReference)1 ConnectionResources (io.cloudslang.content.vmware.connection.ConnectionResources)1 MorObjectHandler (io.cloudslang.content.vmware.services.helpers.MorObjectHandler)1