Shahar Havivi has uploaded a new change for review. Change subject: engine: enable payload with CDROM ......................................................................
engine: enable payload with CDROM enable VM to run with storage domain CDROM as well as a payload CDROM Change-Id: Ie1c1a4fc606f67cec90c803d13a052fab9ac1b7e bug-url: https://bugzilla.redhat.com/882651 Signed-off-by: Shahar Havivi <shav...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties M backend/manager/modules/utils/src/test/resources/AppErrors.properties M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java M frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties M frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties 8 files changed, 8 insertions(+), 18 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/10422/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java index 2fc0d5f..ae2e666 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java @@ -506,9 +506,6 @@ addCanDoActionMessage(VdcBllMessages.VMPAYLOAD_SIZE_EXCEEDED); addCanDoActionMessage(String.format("$size %1$s", lengthInKb.toString())); returnValue = false; - } else if (!StringUtils.isEmpty(isoPath) && payload.getType() == VmDeviceType.CDROM) { - addCanDoActionMessage(VdcBllMessages.VMPAYLOAD_CDROM_EXCEEDED); - returnValue = false; } return returnValue; } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java index eecdfe19..97d3075 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java @@ -500,7 +500,6 @@ NETWORK_CANNOT_CONTAIN_BOND_NAME, VMPAYLOAD_INVALID_PAYLOAD_TYPE, VMPAYLOAD_SIZE_EXCEEDED, - VMPAYLOAD_CDROM_EXCEEDED, VMPAYLOAD_FLOPPY_EXCEEDED, CONFIG_UNKNOWN_KEY, diff --git a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties index 257117a..8e4ee0a 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties @@ -785,7 +785,6 @@ ACTION_TYPE_FAILED_BRICK_ID_REQUIRED=Cannot ${action} ${type}. Brick ID is required. VMPAYLOAD_INVALID_PAYLOAD_TYPE=VM Payload only supported in CDROM or Floppy devices VMPAYLOAD_SIZE_EXCEEDED=Payload is limited to ${size}K -VMPAYLOAD_CDROM_EXCEEDED=Payload CDROM cannot be used when using an additional CDROM VMPAYLOAD_FLOPPY_EXCEEDED=Payload Floppy cannot be used when using an additional Floppy ACTION_TYPE_FAILED_GLUSTER_VOLUME_IS_UP=Cannot ${action} ${type}. Gluster volume ${volumeName} is up. ACTION_TYPE_FAILED_GLUSTER_VOLUME_IS_DOWN=Cannot ${action} ${type}. Gluster Volume is down. diff --git a/backend/manager/modules/utils/src/test/resources/AppErrors.properties b/backend/manager/modules/utils/src/test/resources/AppErrors.properties index 150c3c7..d44c741 100644 --- a/backend/manager/modules/utils/src/test/resources/AppErrors.properties +++ b/backend/manager/modules/utils/src/test/resources/AppErrors.properties @@ -346,6 +346,5 @@ ACTION_TYPE_FAILED_QUOTA_VDS_GROUP_LIMIT_EXCEEDED=Cannot ${action} ${type}. Quota has no sufficient cluster resources. VMPAYLOAD_INVALID_PAYLOAD_TYPE=VM Payload only supported in CDROM or Floppy devices VMPAYLOAD_SIZE_EXCEEDED=Payload is limited to ${size}K -VMPAYLOAD_CDROM_EXCEEDED=Payload CDROM cannot be used when using an additional CDROM VMPAYLOAD_FLOPPY_EXCEEDED=Payload Floppy cannot be used when using an additional Floppy ACTION_TYPE_FAILED_NETWORK_INTERFACE_MAC_INVALID=Cannot ${action} ${type}. The Network Interface ${IfaceName} has an invalid MAC address ${MacAddress}. MAC address must be in format "HH:HH:HH:HH:HH:HH" where H is a hexadecimal character (either a digit or A-F, case is insignificant). diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java index 2f62dc6..a0fbbb9 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java @@ -115,7 +115,7 @@ addDevice(struct, vmDevice, ""); } // check first if CD was given as a parameter - else if (vm.isRunOnce() && !StringUtils.isEmpty(vm.getCdPath())) { + if (vm.isRunOnce() && !StringUtils.isEmpty(vm.getCdPath())) { VmDevice vmDevice = new VmDevice(new VmDeviceId(Guid.NewGuid(), vm.getId()), VmDeviceType.DISK.getName(), @@ -143,17 +143,17 @@ if (!vmDevice.getIsManaged()) { continue; } - // more then one device mean that we have payload and should use it - // instead of the blank cd - if (!VmPayload.isPayload(vmDevice.getSpecParams()) && vmDevices.size() > 1) { - continue; - } + boolean isPayload = (VmPayload.isPayload(vmDevice.getSpecParams()) && + vmDevice.getDevice().equals(VmDeviceType.CDROM.getName())); struct = new XmlRpcStruct(); String cdPath = vm.getCdPath(); addCdDetails(vmDevice, struct); + if (isPayload) { + struct.add(VdsProperties.Index, "3"); + } addAddress(vmDevice, struct); - addDevice(struct, vmDevice, cdPath == null ? "" : cdPath); - break; // currently only one is supported, may change in future releases + + addDevice(struct, vmDevice, (cdPath == null && !isPayload) ? "" : cdPath); } } } diff --git a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java index a238f12..6fda31c 100644 --- a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java +++ b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java @@ -2014,8 +2014,6 @@ String VMPAYLOAD_SIZE_EXCEEDED(); - String VMPAYLOAD_CDROM_EXCEEDED(); - String VMPAYLOAD_FLOPPY_EXCEEDED(); // Gluster Messages diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties index 1ddc439..348fed6 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties @@ -742,7 +742,6 @@ NON_VM_NETWORK_NOT_SUPPORTED_FOR_POOL_LEVEL=Non-VM networks are not supported in this Data-Center. VMPAYLOAD_INVALID_PAYLOAD_TYPE=VM Payload only supported in CDROM or Floppy devices VMPAYLOAD_SIZE_EXCEEDED=Payload is limited to ${size}K -VMPAYLOAD_CDROM_EXCEEDED=Payload CDROM cannot be used when using an additional CDROM VMPAYLOAD_FLOPPY_EXCEEDED=Payload Floppy cannot be used when using an additional Floppy ERROR_GET_STORAGE_DOMAIN_LIST=Cannot get Storage Domains list. diff --git a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties index 51e2f56..9cdc936 100644 --- a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties +++ b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties @@ -742,7 +742,6 @@ NON_VM_NETWORK_NOT_SUPPORTED_FOR_POOL_LEVEL=Non-VM networks are not supported in this Data-Center. VMPAYLOAD_INVALID_PAYLOAD_TYPE=VM Payload only supported in CDROM or Floppy devices VMPAYLOAD_SIZE_EXCEEDED=Payload is limited to ${size}K -VMPAYLOAD_CDROM_EXCEEDED=Payload CDROM cannot be used when using an additional CDROM VMPAYLOAD_FLOPPY_EXCEEDED=Payload Floppy cannot be used when using an additional Floppy ERROR_GET_STORAGE_DOMAIN_LIST=Cannot get Storage Domains list. ACTION_TYPE_FAILED_VM_CANNOT_BE_PINNED_TO_CPU_AND_MIGRATABLE=Migratable VM's cannot be pinned to CPU. -- To view, visit http://gerrit.ovirt.org/10422 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie1c1a4fc606f67cec90c803d13a052fab9ac1b7e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Shahar Havivi <shav...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches