Leonardo Bianconi has posted comments on this change.

Change subject: engine: Disk interface validation
......................................................................


Patch Set 7:

(12 comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllAttachableDisksQuery.java
Line 19: 
Line 20: public class GetAllAttachableDisksQuery<P extends 
GetAllAttachableDisks> extends QueriesCommandBase<P> {
Line 21: 
Line 22:     private static final Log LOG = 
LogFactory.getLog(GetAllAttachableDisksQuery.class);
Line 23: 
Done
Line 24:     public GetAllAttachableDisksQuery(P parameters) {
Line 25:         super(parameters);
Line 26:     }
Line 27: 


Line 33:                         getParameters().getVmId(),
Line 34:                         getUserID(),
Line 35:                         getParameters().isFiltered());
Line 36:         if (CollectionUtils.isEmpty(diskList)) {
Line 37:             setReturnValue(Collections.emptyList());
Done
Line 38:             return;
Line 39:         }
Line 40: 
Line 41:         VM vm = 
DbFacade.getInstance().getVmDao().get(getParameters().getVmId(),


Line 41:         VM vm = 
DbFacade.getInstance().getVmDao().get(getParameters().getVmId(),
Line 42:                 getUserID(),
Line 43:                 getParameters().isFiltered());
Line 44:         if (vm == null) {
Line 45:             setReturnValue(Collections.emptyList());
Done
Line 46:             return;
Line 47:         }
Line 48: 
Line 49:         List<String> supportedDiskInterfaceNames = 
getOsRepository().getDiskInterfaces(vm.getOs(),


Line 55:             } catch (IllegalArgumentException e) {
Line 56:                 // ignore if we can't find the enum value.
Line 57:                 LOG.errorFormat("Can't find the value {0} in the enum 
DiskInterface. Error: {1}",
Line 58:                         ((interfaceName == null) ? "null" : 
interfaceName),
Line 59:                         e.toString());
Done
Line 60:             }
Line 61:         }
Line 62: 
Line 63:         List<Disk> filteredDiskList = new ArrayList<Disk>();


Line 69: 
Line 70:         setReturnValue(filteredDiskList);
Line 71:     }
Line 72: 
Line 73:     public OsRepository getOsRepository() {
Done
Line 74:         return 
SimpleDependecyInjector.getInstance().get(OsRepository.class);
Line 75:     }
Line 76: 


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
Line 152:         }
Line 153: 
Line 154:         DiskValidator diskValidator = getDiskValidator(getNewDisk());
Line 155:         return validateCanUpdateShareable() && 
validate(diskValidator.isVirtIoScsiValid(getVm())) &&
Line 156:                 
validate(diskValidator.isDiskInterfaceSupported(getVm()));
Done
Line 157:     }
Line 158: 
Line 159:     @Override
Line 160:     protected void setActionMessageParameters() {


Line 153: 
Line 154:         DiskValidator diskValidator = getDiskValidator(getNewDisk());
Line 155:         return validateCanUpdateShareable() && 
validate(diskValidator.isVirtIoScsiValid(getVm())) &&
Line 156:                 
validate(diskValidator.isDiskInterfaceSupported(getVm()));
Line 157:     }
Done
Line 158: 
Line 159:     @Override
Line 160:     protected void setActionMessageParameters() {
Line 161:         addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/DiskValidator.java
Line 26: public class DiskValidator {
Line 27: 
Line 28:     private Disk disk;
Line 29:     private static final Log LOG = 
LogFactory.getLog(DiskValidator.class);
Line 30: 
Done
Line 31:     public DiskValidator(Disk disk) {
Line 32:         this.disk = disk;
Line 33:     }
Line 34: 


Line 66:      */
Line 67:     public ValidationResult isOsSupportedForVirtIoScsi(VM vm) {
Line 68: 
Line 69:         List<DiskInterface> supportedDiskInterfaces =
Line 70:                 getSupportedDiskInterfaces(vm.getOs(), 
vm.getVdsGroupCompatibilityVersion());
Done
Line 71: 
Line 72:         if 
(!supportedDiskInterfaces.contains(DiskInterface.VirtIO_SCSI)) {
Line 73:             return new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_GUEST_OS_VERSION_IS_NOT_SUPPORTED);
Line 74:         }


Line 88:      * @param version
Line 89:      *            The cluster version.
Line 90:      * @return An error if the disk interface is not compatible with 
the selected operating system.
Line 91:      */
Line 92:     public ValidationResult isDiskInterfaceSupported(VM vm) {
Done
Line 93:         if (vm != null) {
Line 94:             List<DiskInterface> supportedDiskInterfaces =
Line 95:                     getSupportedDiskInterfaces(vm.getOs(), 
vm.getVdsGroupCompatibilityVersion());
Line 96: 


Line 112:             } catch (IllegalArgumentException e) {
Line 113:                 // ignore if we can't find the enum value.
Line 114:                 LOG.errorFormat("Can't find the value {0} in the enum 
DiskInterface. Error: {1}",
Line 115:                         ((interfaceName == null) ? "null" : 
interfaceName),
Line 116:                         e.toString());
The interfaceName could be null because of a buf we have already fixed, so I'm 
removing it.

Done.
Line 117:             }
Line 118:         }
Line 119: 
Line 120:         return supportedDiskInterfaces;


....................................................
File backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
Line 145: ACTION_TYPE_FAILED_VM_HAS_PLUGGED_DISK_SNAPSHOT=Cannot ${action} 
${type}. The following VM's activated disks are disk snapshots:\n\
Line 146:  ${disksInfo}. \n\
Line 147: Please deactivate them and try again.
Line 148: ACTION_TYPE_FAILED_DISKS_LOCKED=Cannot ${action} ${type}: The 
following disks are locked: ${diskAliases}. Please try again in a few minutes.
Line 149: ACTION_TYPE_DISK_INTERFACE_UNSUPPORTED=Cannot ${action} ${type}: The 
disk interface is not supported by the VM.
Done
Line 150: ACTION_TYPE_FAILED_DISKS_ILLEGAL=Cannot ${action} ${type}. The 
following attached disks are in ILLEGAL status: ${diskAliases} - please remove 
them and try again.
Line 151: ACTION_TYPE_FAILED_MOVE_DISKS_MIXED_PLUGGED_STATUS=Cannot ${action} 
${type}. The following disks could not be moved: ${diskAliases}. Please make 
sure that all disks are active or inactive in the VM.
Line 152: ACTION_TYPE_FAILED_IMPORT_DISKS_ALREADY_EXIST=Cannot ${action} 
${type}. The following disks already exist: ${diskAliases}. Please import as a 
clone.
Line 153: ACTION_TYPE_FAILED_VM_IS_LOCKED=Cannot ${action} ${type}: VM is 
locked. Please try again in a few minutes.


-- 
To view, visit http://gerrit.ovirt.org/18648
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibe095557089aa5670c50eaa120eac9f60e13aea0
Gerrit-PatchSet: 7
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gustavo Frederico Temple Pedrosa <gustavo.pedr...@eldorado.org.br>
Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com>
Gerrit-Reviewer: Daniel Erez <de...@redhat.com>
Gerrit-Reviewer: Frank Kobzik <fkob...@redhat.com>
Gerrit-Reviewer: Gustavo Frederico Temple Pedrosa 
<gustavo.pedr...@eldorado.org.br>
Gerrit-Reviewer: Leonardo Bianconi <leonardo.bianc...@eldorado.org.br>
Gerrit-Reviewer: Omer Frenkel <ofren...@redhat.com>
Gerrit-Reviewer: Roy Golan <rgo...@redhat.com>
Gerrit-Reviewer: Sergey Gotliv <sgot...@redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjeli...@redhat.com>
Gerrit-Reviewer: Vered Volansky <vvola...@redhat.com>
Gerrit-Reviewer: Vitor de Lima <vitor.l...@eldorado.org.br>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to