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);
}
}
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;
}
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());
}
}
}
Aggregations