/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller;
import java.net.URI;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.emc.storageos.db.client.model.BlockObject;
import com.emc.storageos.db.client.model.ExportMask;
import com.emc.storageos.db.client.model.Initiator;
import com.emc.storageos.db.client.model.RemoteDirectorGroup;
import com.emc.storageos.db.client.model.StoragePool;
import com.emc.storageos.db.client.model.StorageSystem;
import com.emc.storageos.db.client.model.VirtualPool;
import com.emc.storageos.db.client.model.Volume;
import com.emc.storageos.exceptions.DeviceControllerException;
import com.emc.storageos.volumecontroller.impl.block.ExportMaskPolicy;
import com.emc.storageos.volumecontroller.impl.block.taskcompleter.CleanupMetaVolumeMembersCompleter;
import com.emc.storageos.volumecontroller.impl.block.taskcompleter.SRDFMirrorCreateCompleter;
import com.emc.storageos.volumecontroller.impl.block.taskcompleter.VolumeCreateCompleter;
import com.emc.storageos.volumecontroller.impl.block.taskcompleter.VolumeExpandCompleter;
import com.emc.storageos.volumecontroller.impl.smis.MetaVolumeRecommendation;
import com.emc.storageos.volumecontroller.impl.utils.VirtualPoolCapabilityValuesWrapper;
/*
* Default implementation of BlockStorageDevice, so that subclass can just overwrite necessary methods.
*/
public abstract class DefaultBlockStorageDevice implements BlockStorageDevice, RemoteMirroring {
@Override
public void doCreateVolumes(StorageSystem storage, StoragePool storagePool,
String opId, List<Volume> volumes,
VirtualPoolCapabilityValuesWrapper capabilities,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateMetaVolume(StorageSystem storage,
StoragePool storagePool, Volume volume,
VirtualPoolCapabilityValuesWrapper capabilities,
MetaVolumeRecommendation recommendation,
VolumeCreateCompleter completer) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExpandVolume(StorageSystem storage, StoragePool pool,
Volume volume, Long size, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteVolumes(StorageSystem storageSystem, String opId,
List<Volume> volumes, TaskCompleter completer)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportCreate(StorageSystem storage,
ExportMask exportMask, Map<URI, Integer> volumeMap,
List<Initiator> initiators, List<URI> targets,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportDelete(StorageSystem storage,
ExportMask exportMask, List<URI> volumeURIs, List<URI> initiatorURIs, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportAddVolume(StorageSystem storage, ExportMask exportMask,
URI volume, Integer lun, List<Initiator> initiators, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportAddVolumes(StorageSystem storage,
ExportMask exportMask, List<Initiator> initiators,
Map<URI, Integer> volumes, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportRemoveVolume(StorageSystem storage,
ExportMask exportMask, URI volume, List<Initiator> initiators, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportRemoveVolumes(StorageSystem storage,
ExportMask exportMask, List<URI> volumes,
List<Initiator> initiators, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportAddInitiator(StorageSystem storage,
ExportMask exportMask, List<URI> volumeURIs, Initiator initiator,
List<URI> targets, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportAddInitiators(StorageSystem storage,
ExportMask exportMask, List<URI> volumeURIs,
List<Initiator> initiators, List<URI> targets, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportRemoveInitiator(StorageSystem storage,
ExportMask exportMask, List<URI> volumes, Initiator initiator,
List<URI> targets, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExportRemoveInitiators(StorageSystem storage,
ExportMask exportMask, List<URI> volumes,
List<Initiator> initiators, List<URI> targets, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateSingleSnapshot(StorageSystem storage, List<URI> snapshotList,
Boolean createInactive, Boolean readOnly, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateSnapshot(StorageSystem storage, List<URI> snapshotList,
Boolean createInactive, Boolean readOnly, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doActivateSnapshot(StorageSystem storage,
List<URI> snapshotList, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteSnapshot(StorageSystem storage, URI snapshot,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteSelectedSnapshot(StorageSystem storage, URI snapshot,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doRestoreFromSnapshot(StorageSystem storage, URI volume,
URI snapshot, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateMirror(StorageSystem storage, URI mirror,
Boolean createInactive, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doFractureMirror(StorageSystem storage, URI mirror,
Boolean sync, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDetachMirror(StorageSystem storage, URI mirror,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doResumeNativeContinuousCopy(StorageSystem storage, URI mirror,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doEstablishVolumeNativeContinuousCopyGroupRelation(
StorageSystem storage, URI sourceVolume, URI mirror,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doEstablishVolumeSnapshotGroupRelation(
StorageSystem storage, URI sourceVolume, URI snapshot,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doChangeCopyMode(StorageSystem system, Volume target,
TaskCompleter completer) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteMirror(StorageSystem storage, URI mirror,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateClone(StorageSystem storageSystem, URI sourceVolume,
URI cloneVolume, Boolean createInactive, TaskCompleter taskCompleter) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDetachClone(StorageSystem storage, URI cloneVolume,
TaskCompleter taskCompleter) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doRestoreFromClone(StorageSystem storage, URI cloneVolume,
TaskCompleter taskCompleter) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateConsistencyGroup(StorageSystem storage,
URI consistencyGroup, String replicationGroupName, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteConsistencyGroup(StorageSystem storage,
URI consistencyGroup, String replicationGroupName, Boolean keepRGName, Boolean markInactive, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doConnect(StorageSystem storage) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doDisconnect(StorageSystem storage) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public String doAddStorageSystem(StorageSystem storage)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doRemoveStorageSystem(StorageSystem storage)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCopySnapshotsToTarget(StorageSystem storage,
List<URI> snapshotList, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public Map<String, Set<URI>> findExportMasks(StorageSystem storage,
List<String> initiatorNames, boolean mustHaveAllPorts) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public Set<Integer> findHLUsForInitiators(StorageSystem storage, List<String> initiatorNames, boolean mustHaveAllPorts) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public ExportMask refreshExportMask(StorageSystem storage, ExportMask mask) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doActivateFullCopy(StorageSystem storageSystem, URI fullCopy,
TaskCompleter completer) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCleanupMetaMembers(StorageSystem storageSystem,
Volume volume, CleanupMetaVolumeMembersCompleter cleanupCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public Integer checkSyncProgress(URI storage, URI source, URI target) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doWaitForSynchronized(Class<? extends BlockObject> clazz,
StorageSystem storageObj, URI target, TaskCompleter completer) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doWaitForGroupSynchronized(StorageSystem storageObj, List<URI> target, TaskCompleter completer) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doAddToConsistencyGroup(StorageSystem storage,
URI consistencyGroupId, String replicationGroupName, List<URI> blockObjects,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doRemoveFromConsistencyGroup(StorageSystem storage,
URI consistencyGroupId, List<URI> blockObjects,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doAddToReplicationGroup(StorageSystem storage,
URI consistencyGroupId, String replicationGroupName, List<URI> blockObjects,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doRemoveFromReplicationGroup(StorageSystem storage,
URI consistencyGroupId, String replicationGroupName, List<URI> blockObjects,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doExpandAsMetaVolume(StorageSystem storageSystem,
StoragePool storagePool, Volume volume, long size,
MetaVolumeRecommendation recommendation,
VolumeExpandCompleter volumeCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public boolean validateStorageProviderConnection(String ipAddress,
Integer portNumber) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateMetaVolumes(StorageSystem storage,
StoragePool storagePool, List<Volume> volumes,
VirtualPoolCapabilityValuesWrapper capabilities,
MetaVolumeRecommendation recommendation, TaskCompleter completer)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void updatePolicyAndLimits(StorageSystem storage,
ExportMask exportMask, List<URI> volumeURIs, VirtualPool newVpool,
boolean rollback, TaskCompleter taskCompleter) throws Exception {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public ExportMaskPolicy getExportMaskPolicy(StorageSystem storage, ExportMask mask) {
return new ExportMaskPolicy();
}
@Override
public void doModifyVolumes(StorageSystem storage, StoragePool storagePool,
String opId, List<Volume> volumes, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doTerminateAnyRestoreSessions(StorageSystem storageDevice,
URI source, BlockObject snapshot, TaskCompleter completer)
throws Exception {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doFractureClone(StorageSystem storageDevice, URI source, URI clone,
TaskCompleter completer) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doResyncClone(StorageSystem storageDevice, URI clone,
TaskCompleter completer) {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateGroupClone(StorageSystem storageDevice, List<URI> clones,
Boolean createInactive, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDetachGroupClone(StorageSystem storage, List<URI> cloneVolume,
TaskCompleter taskCompleter) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doEstablishVolumeFullCopyGroupRelation(
StorageSystem storage, URI sourceVolume, URI fullCopy,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doRestoreFromGroupClone(StorageSystem storageSystem,
List<URI> cloneVolume, TaskCompleter taskCompleter) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doActivateGroupFullCopy(StorageSystem storageSystem,
List<URI> fullCopy, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doResyncGroupClone(StorageSystem storageDevice, List<URI> clone,
TaskCompleter completer) throws Exception {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doFractureGroupClone(StorageSystem storageDevice,
List<URI> clone, TaskCompleter completer) throws Exception {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doAddVolumePairsToCg(StorageSystem system, List<URI> sources, URI remoteDirectorGroup,
TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doCreateLink(StorageSystem system, URI source, URI target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doCreateListReplicas(StorageSystem system, List<URI> sources, List<URI> targets, boolean addWaitForCopyState,
TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDetachLink(StorageSystem system, URI source, URI target, boolean onGroup, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doRemoveDeviceGroups(StorageSystem system, URI source, URI target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doRollbackLinks(StorageSystem system, List<URI> sources,
List<URI> targets, boolean isGroupRollback, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doSplitLink(StorageSystem system, Volume target, boolean rollback, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doSuspendLink(StorageSystem system, Volume target, boolean consExempt, boolean refreshVolumeProperties,
TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doResumeLink(StorageSystem system, Volume target, boolean refreshVolumeProperties, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doFailoverLink(StorageSystem system, Volume target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doFailoverCancelLink(StorageSystem system, Volume target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doResyncLink(StorageSystem system, URI source, URI target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doRemoveVolumePair(StorageSystem system, URI source, URI target, boolean rollback,
TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doStartLink(StorageSystem system, Volume target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doStopLink(StorageSystem system, Volume target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doCreateCgPairs(StorageSystem system, List<URI> sources, List<URI> targets,
SRDFMirrorCreateCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public Set<String> findVolumesPartOfRemoteGroup(StorageSystem system, RemoteDirectorGroup rdfGroup) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doSwapVolumePair(StorageSystem system, Volume target, TaskCompleter completer) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doSyncLink(StorageSystem system, Volume target, TaskCompleter completer) throws Exception {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doUpdateSourceAndTargetPairings(List<URI> sourceURIs, List<URI> targetURIs) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void refreshStorageSystem(URI systemURI, List<URI> volumeURIs) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void refreshVolumeProperties(URI systemURI, List<URI> volumeURIs) throws Exception {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doResyncSnapshot(StorageSystem storage, URI volume,
URI snapshot, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
@Override
public void doCreateGroupMirrors(StorageSystem storage,
List<URI> mirrorList, Boolean createInactive,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doFractureGroupMirrors(StorageSystem storage,
List<URI> mirrorList, Boolean sync, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDetachGroupMirrors(StorageSystem storage,
List<URI> mirrorList, Boolean deleteGroup, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doResumeGroupNativeContinuousCopies(StorageSystem storage,
List<URI> mirrorList, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteGroupMirrors(StorageSystem storage,
List<URI> mirrorList, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doRemoveMirrorFromDeviceMaskingGroup(StorageSystem system,
List<URI> mirrors, TaskCompleter completer)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doCreateListReplica(StorageSystem storage, List<URI> replicaList, Boolean createInactive, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDetachListReplica(StorageSystem storage, List<URI> replicaList, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doFractureListReplica(StorageSystem storage, List<URI> replicaList, Boolean sync, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteListReplica(StorageSystem storage, List<URI> replicaList, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public Map<URI, Integer> getExportMaskHLUs(StorageSystem storage, ExportMask exportMask) {
return Collections.EMPTY_MAP;
}
@Override
public void doUntagVolumes(StorageSystem storageSystem, String opId, List<Volume> volumes,
TaskCompleter taskCompleter) throws DeviceControllerException {
// If this operation is unsupported by default it's Ok.
return;
}
/**
* {@inheritDoc}
*/
@Override
public void doCreateSnapshotSession(StorageSystem system, URI snapSessionURI, String groupName, TaskCompleter completer)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doLinkBlockSnapshotSessionTarget(StorageSystem system, URI snapSessionURI, URI snapShotURI,
String copyMode, Boolean targetExists, TaskCompleter completer) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doLinkBlockSnapshotSessionTargetGroup(StorageSystem system, URI snapshotSessionURI, List<URI> snapSessionSnapshotURIs,
String copyMode, Boolean targetsExist, TaskCompleter completer) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doRelinkBlockSnapshotSessionTarget(StorageSystem system, URI tgtSnapSessionURI, URI snapshotURI,
TaskCompleter completer) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doUnlinkBlockSnapshotSessionTarget(StorageSystem system, URI snapSessionURI, URI snapshotURI,
Boolean deleteTarget, TaskCompleter completer) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doRestoreBlockSnapshotSession(StorageSystem system, URI snapSessionURI, TaskCompleter completer)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doDeleteBlockSnapshotSession(StorageSystem system, URI snapSessionURI, String groupName, TaskCompleter completer)
throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doAddSnapshotSessionsToConsistencyGroup(StorageSystem storageSystem, URI consistencyGroup, List<URI> addVolumesList, TaskCompleter taskCompleter) {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doDeleteConsistencyGroup(StorageSystem storage,
URI consistencyGroup, String replicationGroupName, Boolean keepRGName, Boolean markInactive,
String sourceReplicationGroup, TaskCompleter taskCompleter)
throws DeviceControllerException {
throw DeviceControllerException.exceptions
.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public Map<URI, List<Integer>> doFindHostHLUs(StorageSystem storage, Collection<URI> initiatorURIs) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public void doInitiatorAliasSet(StorageSystem storage, Initiator initiator, String initiatorAlias) throws Exception {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
/**
* {@inheritDoc}
*/
@Override
public String doInitiatorAliasGet(StorageSystem storage, Initiator initiator) throws Exception {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doExportAddPaths(StorageSystem storage, URI exportMask, Map<URI, List<URI>>addedPaths,
TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
@Override
public void doExportRemovePaths(StorageSystem storage, URI exportMask, Map<URI, List<URI>> adjustedPaths,
Map<URI, List<URI>>removedPaths, TaskCompleter taskCompleter) throws DeviceControllerException {
throw DeviceControllerException.exceptions.blockDeviceOperationNotSupported();
}
}