Liron Ar has uploaded a new change for review. Change subject: core: adding option to not connect host to inactive domains servers ......................................................................
core: adding option to not connect host to inactive domains servers This patch adds support for connecting a host only the the storage servers of unknown/active domains. Change-Id: I7cdde23f8513afa119af6eeff0a02e77c43395f3 Signed-off-by: Liron Aravot <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServerCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServersCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DisconnectHostFromStoragePoolServersCommand.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ConnectHostToStoragePoolServersParameters.java 5 files changed, 59 insertions(+), 9 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/27522/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java index a6c159f..73bd445 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java @@ -13,6 +13,7 @@ import org.ovirt.engine.core.bll.storage.StoragePoolStatusHandler; import org.ovirt.engine.core.bll.utils.GlusterUtil; import org.ovirt.engine.core.common.AuditLogType; +import org.ovirt.engine.core.common.action.ConnectHostToStoragePoolServersParameters; import org.ovirt.engine.core.common.action.HostStoragePoolParametersBase; import org.ovirt.engine.core.common.action.SetNonOperationalVdsParameters; import org.ovirt.engine.core.common.action.VdcActionType; @@ -193,7 +194,7 @@ returnValue = true; connectPoolSucceeded = true; } else { - HostStoragePoolParametersBase params = new HostStoragePoolParametersBase(getStoragePool(), getVds()); + ConnectHostToStoragePoolServersParameters params = new ConnectHostToStoragePoolServersParameters(getStoragePool(), getVds()); Backend.getInstance().runInternalAction(VdcActionType.ConnectHostToStoragePoolServers, params); returnValue = connectHostToPool(); connectPoolSucceeded = returnValue; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServerCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServerCommandBase.java index a890c5d..8f2a60f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServerCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServerCommandBase.java @@ -1,11 +1,14 @@ package org.ovirt.engine.core.bll.storage; +import java.util.EnumSet; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import org.ovirt.engine.core.bll.InternalCommandAttribute; import org.ovirt.engine.core.common.action.StoragePoolParametersBase; +import org.ovirt.engine.core.common.businessentities.StorageDomainStatus; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.dal.dbbroker.DbFacade; @@ -25,8 +28,21 @@ return connectionsTypeMap; } - protected void initConnectionList() { - _connections = DbFacade.getInstance().getStorageServerConnectionDao().getAllConnectableStorageSeverConnection(getStoragePool().getId()); + protected void initConnectionList(boolean includeInactiveDomains) { + Set<StorageDomainStatus> statuses; + if (includeInactiveDomains) { + statuses = + EnumSet.of(StorageDomainStatus.Active, StorageDomainStatus.InActive, StorageDomainStatus.Unknown); + } else { + statuses = EnumSet.of(StorageDomainStatus.Active, StorageDomainStatus.Unknown); + } + + _connections = + DbFacade.getInstance() + .getStorageServerConnectionDao() + .getConnectableStorageConnectionsByStorageTypeAndStatus(getStoragePool().getId(), + null, + statuses); updateConnectionsTypeMap(); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServersCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServersCommand.java index ff9a7c9..170d0b3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServersCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePoolServersCommand.java @@ -6,9 +6,9 @@ import org.ovirt.engine.core.bll.InternalCommandAttribute; import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute; import org.ovirt.engine.core.common.AuditLogType; -import org.ovirt.engine.core.common.action.HostStoragePoolParametersBase; -import org.ovirt.engine.core.common.businessentities.StorageType; +import org.ovirt.engine.core.common.action.ConnectHostToStoragePoolServersParameters; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; +import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.common.vdscommands.StorageServerConnectionManagementVDSParameters; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; @@ -21,9 +21,9 @@ @NonTransactiveCommandAttribute @InternalCommandAttribute public class ConnectHostToStoragePoolServersCommand extends - ConnectHostToStoragePoolServerCommandBase<HostStoragePoolParametersBase> { + ConnectHostToStoragePoolServerCommandBase<ConnectHostToStoragePoolServersParameters> { - public ConnectHostToStoragePoolServersCommand(HostStoragePoolParametersBase parameters) { + public ConnectHostToStoragePoolServersCommand(ConnectHostToStoragePoolServersParameters parameters) { super(parameters); setStoragePool(parameters.getStoragePool()); setVds(parameters.getVds()); @@ -31,7 +31,7 @@ @Override protected void executeCommand() { - initConnectionList(); + initConnectionList(getParameters().isConnectToInactiveDomains()); setSucceeded(connectStorageServer(getConnectionsTypeMap())); if (!getSucceeded()) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DisconnectHostFromStoragePoolServersCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DisconnectHostFromStoragePoolServersCommand.java index e21bba8..86a5ca0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DisconnectHostFromStoragePoolServersCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DisconnectHostFromStoragePoolServersCommand.java @@ -27,7 +27,7 @@ @Override protected void executeCommand() { - initConnectionList(); + initConnectionList(true); for (Map.Entry<StorageType, List<StorageServerConnections>> connectionToType : getConnectionsTypeMap().entrySet()) { disconnectStorageByType(connectionToType.getKey(), connectionToType.getValue()); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ConnectHostToStoragePoolServersParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ConnectHostToStoragePoolServersParameters.java new file mode 100644 index 0000000..911a82a --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ConnectHostToStoragePoolServersParameters.java @@ -0,0 +1,33 @@ +package org.ovirt.engine.core.common.action; + +import org.ovirt.engine.core.common.businessentities.StoragePool; +import org.ovirt.engine.core.common.businessentities.VDS; + +public class ConnectHostToStoragePoolServersParameters extends HostStoragePoolParametersBase { + private boolean connectToInactiveDomains = true; + + public ConnectHostToStoragePoolServersParameters(VDS vds, boolean connectToInactiveDomains) { + super(vds); + this.connectToInactiveDomains = connectToInactiveDomains; + } + + public ConnectHostToStoragePoolServersParameters() { + } + + public ConnectHostToStoragePoolServersParameters(StoragePool storage_pool, VDS vds, boolean connectToInactiveDomains) { + super(storage_pool, vds); + this.connectToInactiveDomains = connectToInactiveDomains; + } + + public ConnectHostToStoragePoolServersParameters(StoragePool storage_pool, VDS vds) { + super(storage_pool, vds); + } + + public boolean isConnectToInactiveDomains() { + return connectToInactiveDomains; + } + + public void setConnectToInactiveDomains(boolean connectToInactiveDomains) { + this.connectToInactiveDomains = connectToInactiveDomains; + } +} -- To view, visit http://gerrit.ovirt.org/27522 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7cdde23f8513afa119af6eeff0a02e77c43395f3 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
