Liron Aravot has uploaded a new change for review. Change subject: tmp ......................................................................
tmp Change-Id: I71ae74034468d6a7a6c9647ef9d72f51a5f13a0b Signed-off-by: lara...@redhat.com <lara...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalLocationInfo.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java 9 files changed, 52 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/06/39206/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java index ffd6f4c..1a7a017 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java @@ -1397,6 +1397,10 @@ * placeholders for the child commands. */ protected void insertAsyncTaskPlaceHolders() { + if (getStoragePool() != null && !isDataCenterWithSpm()) { + return; + } + TransactionSupport.executeInScope(TransactionScopeOption.Required, new TransactionMethod<Void>() { @Override @@ -2280,6 +2284,10 @@ return !FeatureSupported.dataCenterWithoutSpm(getStoragePool().getcompatibility_version()); } + public boolean isDataCenterWithoutSpm() { + return getStoragePool() != null && FeatureSupported.dataCenterWithoutSpm(getStoragePool().getcompatibility_version()); + } + public CommandStatus getCommandStatus() { return commandStatus; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java index 3d60774..4583ff6 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java @@ -291,6 +291,7 @@ result.setVmSnapshotId(newActiveSnapshotId); result.setEntityInfo(getParameters().getEntityInfo()); result.setParentCommand(parentCommand); + result.setStoragePoolId(getStoragePoolId()); result.setParentParameters(getParametersForTask(parentCommand, getParameters())); if (getParameters().getDiskIdsToIgnoreInChecks().contains(image.getId())) { result.setLeaveLocked(true); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java index 40a71e8..3868a5c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java @@ -40,11 +40,14 @@ public CreateSnapshotCommand(T parameters, CommandContext cmdContext) { super(parameters, cmdContext); setSnapshotName(parameters.getDescription()); + setStoragePoolId(getParameters().getStoragePoolId()); } @Override protected void insertAsyncTaskPlaceHolders() { - persistAsyncTaskPlaceHolder(getParameters().getParentCommand()); + if (isDataCenterWithSpm()) { + persistAsyncTaskPlaceHolder(getParameters().getParentCommand()); + } } @Override @@ -142,7 +145,11 @@ @Override protected AsyncTaskType getTaskType() { - return AsyncTaskType.createVolume; + if (isDataCenterWithSpm()) { + return AsyncTaskType.createVolume; + } + + return super.getTaskType(); } /** diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalLocationInfo.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalLocationInfo.java index e69de29..dbb43cd 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalLocationInfo.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalLocationInfo.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.core.common.businessentities; + +public abstract class ExternalLocationInfo extends LocationInfo { + ConnectionMethod connectionMethod; + + public ExternalLocationInfo(ConnectionMethod connectionMethod) { + super(); + this.connectionMethod = connectionMethod; + } + + public ConnectionMethod getConnectionMethod() { + return connectionMethod; + } + + public void setConnectionMethod(ConnectionMethod connectionMethod) { + this.connectionMethod = connectionMethod; + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java index ed69dd4..7020a0b 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java @@ -68,7 +68,7 @@ public static List<Guid> fetchDomainsReportedAsProblematic(List<VDSDomainsData> vdsDomainsData, StoragePool storagePool) { IrsProxyData proxy = _irsProxyData.get(storagePool.getId()); if (proxy != null) { - return proxy.obtainDomainsReportedAsProblematic(vdsDomainsData, storagePool); + return proxy.obtainDomainsReportedAsProblematic(vdsDomainsData); } return Collections.emptyList(); } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java index aff141f..1f27ac5 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java @@ -1148,7 +1148,7 @@ // Unknown domains in pool for (VDSDomainsData tempData : data) { if (activeDomainsInPool.contains(tempData.getDomainId()) || unknownDomainsInPool.contains(tempData.getDomainId())) { - DomainMonitoringResult domainMonitoringResult = analyzeDomainReport(tempData, storagePool, false); + DomainMonitoringResult domainMonitoringResult = analyzeDomainReport(tempData, false); if (domainMonitoringResult.invalid()) { domainsProblematicReportInfo.put(tempData.getDomainId(), domainMonitoringResult); } else if (tempData.getDelay() > Config.<Double> getValue(ConfigValues.MaxStorageVdsDelayCheckSec)) { @@ -1159,7 +1159,7 @@ if ((inActiveDomainsInPool.contains(tempData.getDomainId()) || // in data centers with spm, unknown domains are moving to Active status according to the pool metadata. (FeatureSupported.dataCenterWithoutSpm(storagePool.getcompatibility_version()) && unknownDomainsInPool.contains(tempData.getDomainId()))) - && analyzeDomainReport(tempData, storagePool, false).valid()) { + && analyzeDomainReport(tempData, false).valid()) { log.warn("Storage Domain '{}' was reported by Host '{}' as Active in Pool '{}', moving to active status", getDomainIdTuple(tempData.getDomainId()), vdsName, diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java index 34a1dd0..ddf0a23 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java @@ -21,6 +21,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeTaskReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.irsbroker.FileStatsReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.irsbroker.OneImageInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.irsbroker.OneUuidReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.irsbroker.StoragePoolInfoReturnForXmlRpc; @@ -40,6 +41,8 @@ StatusOnlyReturnForXmlRpc copyVolumeData(Map srcImage, Map dstImage, boolean collapse); + OneImageInfoReturnForXmlRpc getVolumeInfo(String sdUUID, String spUUID, String imgGUID, String volUUID); + OneUuidReturnForXmlRpc allocateVolume(String spUUID, String sdUUID, String imgGUID, String volUUID, String size); StatusOnlyReturnForXmlRpc destroy(String vmId); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java index 112f437..bb599a3 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java @@ -16,6 +16,8 @@ public Map<String, Object> allocateVolume(String spUUID, String sdUUID, String imgGUID, String volUUID, String size); + public Map<String, Object> getVolumeInfo(String sdUUID, String spUUID, String imgGUID, String volUUID); + public Map<String, Object> destroy(String vmId); public Map<String, Object> shutdown(String vmId, String timeout, String message); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java index 35040cd..29cec0e 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java @@ -22,6 +22,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeTaskReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.irsbroker.FileStatsReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.irsbroker.OneImageInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.irsbroker.OneUuidReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.irsbroker.StoragePoolInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.xmlrpc.XmlRpcRunTimeException; @@ -81,6 +82,13 @@ } @Override + public OneImageInfoReturnForXmlRpc getVolumeInfo(String sdUUID, String spUUID, String imgGUID, String volUUID) { + Map<String, Object> xmlRpcReturnValue = vdsServer.getVolumeInfo(sdUUID, spUUID, imgGUID, volUUID); + OneImageInfoReturnForXmlRpc wrapper = new OneImageInfoReturnForXmlRpc(xmlRpcReturnValue); + return wrapper; + } + + @Override public OneUuidReturnForXmlRpc allocateVolume(String spUUID, String sdUUID, String imgGUID, String volUUID, String size) { Map<String, Object> xmlRpcReturnValue = vdsServer.allocateVolume(sdUUID, spUUID, imgGUID, volUUID, size); OneUuidReturnForXmlRpc wrapper = new OneUuidReturnForXmlRpc(xmlRpcReturnValue); -- To view, visit https://gerrit.ovirt.org/39206 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I71ae74034468d6a7a6c9647ef9d72f51a5f13a0b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Aravot <lara...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches