Tal Nisan has uploaded a new change for review. Change subject: core: Extending SAN storage caused an NPE for a storage detached from a pool ......................................................................
core: Extending SAN storage caused an NPE for a storage detached from a pool Extending a SAN storage domain that is detached from a storage pool caused an NPE due to a bug in the CDA part which caused the CDA evaluation to continue even though the status validation failed Change-Id: I4f6687bfe8390142519c2d641badc79fe6a1e0db Bug-Url: https://bugzilla.redhat.com/1061121 Signed-off-by: Tal Nisan <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendSANStorageDomainCommand.java 1 file changed, 27 insertions(+), 25 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/69/25169/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendSANStorageDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendSANStorageDomainCommand.java index c1ff65ef..cab44f2 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendSANStorageDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendSANStorageDomainCommand.java @@ -75,32 +75,34 @@ return false; } - boolean returnValue = checkStorageDomain() && checkStorageDomainStatus(StorageDomainStatus.Active); - if (returnValue - && (getStorageDomain().getStorageType() == StorageType.NFS || getStorageDomain().getStorageType() == StorageType.UNKNOWN)) { - addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL); - returnValue = false; - } else { - final ConnectAllHostsToLunCommandReturnValue connectResult = - (ConnectAllHostsToLunCommandReturnValue) Backend.getInstance().runInternalAction( - VdcActionType.ConnectAllHostsToLun, - new ExtendSANStorageDomainParameters(getParameters().getStorageDomainId(), getParameters() - .getLunIds())); - if (!connectResult.getSucceeded()) { - addCanDoActionMessage(VdcBllMessages.ERROR_CANNOT_EXTEND_CONNECTION_FAILED); - if (connectResult.getFailedVds() != null) { - getReturnValue().getCanDoActionMessages().add(String.format("$hostName %1s", - connectResult.getFailedVds().getName())); - } - String lunId = connectResult.getFailedLun() != null ? connectResult.getFailedLun().getLUN_id() : ""; - getReturnValue().getCanDoActionMessages().add(String.format("$lun %1s", lunId)); - returnValue = false; - } else { - // use luns list from connect command - getParameters().setLunsList((ArrayList<LUNs>) connectResult.getActionReturnValue()); - } + if (!(checkStorageDomain() && checkStorageDomainStatus(StorageDomainStatus.Active))) { + return false; } - return returnValue; + + if ((getStorageDomain().getStorageType() == StorageType.NFS || getStorageDomain().getStorageType() == StorageType.UNKNOWN)) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL); + return false; + } + + final ConnectAllHostsToLunCommandReturnValue connectResult = + (ConnectAllHostsToLunCommandReturnValue) Backend.getInstance().runInternalAction( + VdcActionType.ConnectAllHostsToLun, + new ExtendSANStorageDomainParameters(getParameters().getStorageDomainId(), getParameters() + .getLunIds())); + if (!connectResult.getSucceeded()) { + addCanDoActionMessage(VdcBllMessages.ERROR_CANNOT_EXTEND_CONNECTION_FAILED); + if (connectResult.getFailedVds() != null) { + getReturnValue().getCanDoActionMessages().add(String.format("$hostName %1s", + connectResult.getFailedVds().getName())); + } + String lunId = connectResult.getFailedLun() != null ? connectResult.getFailedLun().getLUN_id() : ""; + getReturnValue().getCanDoActionMessages().add(String.format("$lun %1s", lunId)); + return false; + } else { + // use luns list from connect command + getParameters().setLunsList((ArrayList<LUNs>) connectResult.getActionReturnValue()); + } + return true; } @Override -- To view, visit http://gerrit.ovirt.org/25169 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4f6687bfe8390142519c2d641badc79fe6a1e0db Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.4 Gerrit-Owner: Tal Nisan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
