Search in sources :

Example 1 with VirtualPoolRemoteProtectionVirtualArraySettingsParam

use of com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam in project coprhd-controller by CoprHD.

the class SrdfCopyForm method write.

public VirtualPoolRemoteProtectionVirtualArraySettingsParam write(String remoteCopyMode) {
    VirtualPoolRemoteProtectionVirtualArraySettingsParam param = new VirtualPoolRemoteProtectionVirtualArraySettingsParam();
    param.setVarray(uri(virtualArray));
    param.setVpool(uri(virtualPool));
    param.setRemoteCopyMode(remoteCopyMode);
    return param;
}
Also used : VirtualPoolRemoteProtectionVirtualArraySettingsParam(com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam)

Example 2 with VirtualPoolRemoteProtectionVirtualArraySettingsParam

use of com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam in project coprhd-controller by CoprHD.

the class BlockVirtualPoolForm method doLoad.

protected void doLoad(BlockVirtualPoolRestRep virtualPool) {
    loadCommon(virtualPool);
    minPaths = virtualPool.getMinPaths();
    maxPaths = virtualPool.getMaxPaths();
    initiatorPaths = virtualPool.getPathsPerInitiator();
    driveType = virtualPool.getDriveType();
    autoTierPolicy = virtualPool.getAutoTieringPolicyName();
    enableCompression = virtualPool.getCompressionEnabled();
    expandable = virtualPool.getExpandable();
    fastExpansion = virtualPool.getFastExpansion();
    multiVolumeConsistency = virtualPool.getMultiVolumeConsistent();
    thinPreAllocationPercent = virtualPool.getThinVolumePreAllocationPercentage();
    uniqueAutoTierPolicyNames = virtualPool.getUniquePolicyNames();
    raidLevels = defaultSet(virtualPool.getRaidLevels());
    hostIOLimitBandwidth = virtualPool.getHostIOLimitBandwidth();
    hostIOLimitIOPs = virtualPool.getHostIOLimitIOPs();
    enableDeDup = virtualPool.getDedupCapable();
    placementPolicy = virtualPool.getPlacementPolicy();
    VirtualPoolHighAvailabilityParam highAvailabilityType = virtualPool.getHighAvailability();
    if (highAvailabilityType != null && HighAvailability.isHighAvailability(highAvailabilityType.getType())) {
        highAvailability = highAvailabilityType.getType();
        if (highAvailability.equals(HighAvailability.VPLEX_LOCAL)) {
            protectSourceSite = true;
        }
        enableAutoCrossConnExport = highAvailabilityType.getAutoCrossConnectExport();
        if (highAvailabilityType.getHaVirtualArrayVirtualPool() != null) {
            haVirtualArray = asString(highAvailabilityType.getHaVirtualArrayVirtualPool().getVirtualArray());
            haVirtualPool = asString(highAvailabilityType.getHaVirtualArrayVirtualPool().getVirtualPool());
            Boolean activeProtectionAtHASite = Boolean.TRUE.equals(highAvailabilityType.getHaVirtualArrayVirtualPool().getActiveProtectionAtHASite());
            Boolean metroPoint = Boolean.TRUE.equals(highAvailabilityType.getMetroPoint());
            if (metroPoint) {
                protectSourceSite = true;
                protectHASite = true;
                if (activeProtectionAtHASite) {
                    activeSite = HighAvailability.VPLEX_HA.toString();
                } else {
                    activeSite = HighAvailability.VPLEX_SOURCE.toString();
                    protectSourceSite = true;
                }
            } else {
                protectHASite = activeProtectionAtHASite;
                protectSourceSite = !protectHASite;
            }
        } else {
            protectSourceSite = true;
        }
    } else {
        protectSourceSite = true;
    }
    BlockVirtualPoolProtectionParam protection = virtualPool.getProtection();
    if (protection != null) {
        if (protection.getSnapshots() != null) {
            maxSnapshots = protection.getSnapshots().getMaxSnapshots();
        }
        if (protection.getContinuousCopies() != null) {
            maxContinuousCopies = protection.getContinuousCopies().getMaxMirrors();
            continuousCopyVirtualPool = asString(protection.getContinuousCopies().getVpool());
        }
        VirtualPoolProtectionRPParam recoverPoint = protection.getRecoverPoint();
        if (recoverPoint != null) {
            remoteProtection = ProtectionSystemTypes.RECOVERPOINT;
            ProtectionSourcePolicy sourcePolicy = recoverPoint.getSourcePolicy();
            if (sourcePolicy != null) {
                String journalSize = sourcePolicy.getJournalSize();
                rpJournalSizeUnit = RPCopyForm.parseJournalSizeUnit(journalSize);
                rpJournalSize = StringUtils.defaultIfBlank(RPCopyForm.parseJournalSize(journalSize, rpJournalSizeUnit), RPCopyForm.JOURNAL_SIZE_MIN);
                rpRemoteCopyMode = sourcePolicy.getRemoteCopyMode();
                rpRpoValue = sourcePolicy.getRpoValue();
                rpRpoType = sourcePolicy.getRpoType();
                if (protectHASite != null && protectSourceSite != null && protectHASite && protectSourceSite) {
                    // Backend will take care of swapping
                    // if(activeSite.equalsIgnoreCase(HighAvailability.VPLEX_SOURCE)){
                    sourceJournalVArray = asString(sourcePolicy.getJournalVarray());
                    sourceJournalVPool = asString(sourcePolicy.getJournalVpool());
                    haJournalVArray = asString(sourcePolicy.getStandbyJournalVarray());
                    haJournalVPool = asString(sourcePolicy.getStandbyJournalVpool());
                } else {
                    if (protectHASite != null && protectHASite) {
                        haJournalVArray = asString(sourcePolicy.getJournalVarray());
                        haJournalVPool = asString(sourcePolicy.getJournalVpool());
                    } else if (protectSourceSite != null && protectSourceSite) {
                        sourceJournalVArray = asString(sourcePolicy.getJournalVarray());
                        sourceJournalVPool = asString(sourcePolicy.getJournalVpool());
                    }
                }
            }
            List<RPCopyForm> rpCopyForms = Lists.newArrayList();
            for (VirtualPoolProtectionVirtualArraySettingsParam copy : recoverPoint.getCopies()) {
                RPCopyForm rpCopy = new RPCopyForm();
                rpCopy.load(copy);
                rpCopyForms.add(rpCopy);
            }
            rpCopies = rpCopyForms.toArray(new RPCopyForm[0]);
            rpCopiesJson = new Gson().toJson(rpCopies);
        }
        VirtualPoolRemoteMirrorProtectionParam srdf = protection.getRemoteCopies();
        if (srdf != null) {
            remoteProtection = ProtectionSystemTypes.SRDF;
            List<SrdfCopyForm> copyForms = Lists.newArrayList();
            for (VirtualPoolRemoteProtectionVirtualArraySettingsParam copy : srdf.getRemoteCopySettings()) {
                srdfCopyMode = copy.getRemoteCopyMode();
                SrdfCopyForm srdfCopyForm = new SrdfCopyForm();
                srdfCopyForm.load(copy);
                copyForms.add(srdfCopyForm);
            }
            srdfCopies = copyForms.toArray(new SrdfCopyForm[0]);
            Gson gson = new Gson();
            srdfCopiesJson = gson.toJson(srdfCopies);
        } else {
            srdfCopiesJson = "[]";
        }
    }
}
Also used : VirtualPoolRemoteProtectionVirtualArraySettingsParam(com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam) BlockVirtualPoolProtectionParam(com.emc.storageos.model.vpool.BlockVirtualPoolProtectionParam) VirtualPoolProtectionRPParam(com.emc.storageos.model.vpool.VirtualPoolProtectionRPParam) Gson(com.google.gson.Gson) ResourceUtils.asString(com.emc.vipr.client.core.util.ResourceUtils.asString) VirtualPoolRemoteMirrorProtectionParam(com.emc.storageos.model.vpool.VirtualPoolRemoteMirrorProtectionParam) VirtualPoolProtectionVirtualArraySettingsParam(com.emc.storageos.model.vpool.VirtualPoolProtectionVirtualArraySettingsParam) ProtectionSourcePolicy(com.emc.storageos.model.vpool.ProtectionSourcePolicy) VirtualPoolHighAvailabilityParam(com.emc.storageos.model.vpool.VirtualPoolHighAvailabilityParam)

Example 3 with VirtualPoolRemoteProtectionVirtualArraySettingsParam

use of com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam in project coprhd-controller by CoprHD.

the class ReplicationCopyForm method write.

public VirtualPoolRemoteProtectionVirtualArraySettingsParam write(String remoteCopyMode) {
    VirtualPoolRemoteProtectionVirtualArraySettingsParam param = new VirtualPoolRemoteProtectionVirtualArraySettingsParam();
    param.setVarray(uri(virtualArray));
    param.setVpool(uri(virtualPool));
    param.setRemoteCopyMode(remoteCopyMode);
    return param;
}
Also used : VirtualPoolRemoteProtectionVirtualArraySettingsParam(com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam)

Example 4 with VirtualPoolRemoteProtectionVirtualArraySettingsParam

use of com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam in project coprhd-controller by CoprHD.

the class BlockVirtualPoolUpdateBuilder method createRemoteCopy.

public VirtualPoolRemoteProtectionVirtualArraySettingsParam createRemoteCopy(URI virtualArrayId, URI virtualPoolId, String copyMode) {
    VirtualPoolRemoteProtectionVirtualArraySettingsParam param = new VirtualPoolRemoteProtectionVirtualArraySettingsParam();
    param.setRemoteCopyMode(copyMode);
    param.setVarray(virtualArrayId);
    param.setVpool(virtualPoolId);
    return param;
}
Also used : VirtualPoolRemoteProtectionVirtualArraySettingsParam(com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam)

Example 5 with VirtualPoolRemoteProtectionVirtualArraySettingsParam

use of com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam in project coprhd-controller by CoprHD.

the class BlockVirtualPoolUpdateBuilder method disableRemoteCopies.

public BlockVirtualPoolUpdateBuilder disableRemoteCopies() {
    getProtection().setRemoteCopies(new VirtualPoolRemoteProtectionUpdateParam());
    Set<VirtualPoolRemoteProtectionVirtualArraySettingsParam> noCopies = Sets.newHashSet();
    setRemoteCopies(noCopies);
    return this;
}
Also used : VirtualPoolRemoteProtectionVirtualArraySettingsParam(com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam) VirtualPoolRemoteProtectionUpdateParam(com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionUpdateParam)

Aggregations

VirtualPoolRemoteProtectionVirtualArraySettingsParam (com.emc.storageos.model.vpool.VirtualPoolRemoteProtectionVirtualArraySettingsParam)12 VirtualPool (com.emc.storageos.db.client.model.VirtualPool)5 URI (java.net.URI)5 VirtualPoolProtectionVirtualArraySettingsParam (com.emc.storageos.model.vpool.VirtualPoolProtectionVirtualArraySettingsParam)4 StringMap (com.emc.storageos.db.client.model.StringMap)3 VpoolRemoteCopyProtectionSettings (com.emc.storageos.db.client.model.VpoolRemoteCopyProtectionSettings)3 ProtectionSourcePolicy (com.emc.storageos.model.vpool.ProtectionSourcePolicy)3 StringSet (com.emc.storageos.db.client.model.StringSet)2 StringSetMap (com.emc.storageos.db.client.model.StringSetMap)2 VirtualArray (com.emc.storageos.db.client.model.VirtualArray)2 VpoolProtectionVarraySettings (com.emc.storageos.db.client.model.VpoolProtectionVarraySettings)2 BlockVirtualPoolProtectionParam (com.emc.storageos.model.vpool.BlockVirtualPoolProtectionParam)2 VirtualPoolHighAvailabilityParam (com.emc.storageos.model.vpool.VirtualPoolHighAvailabilityParam)2 VirtualPoolProtectionRPParam (com.emc.storageos.model.vpool.VirtualPoolProtectionRPParam)2 VirtualPoolRemoteMirrorProtectionParam (com.emc.storageos.model.vpool.VirtualPoolRemoteMirrorProtectionParam)2 ArrayList (java.util.ArrayList)2 VirtualPoolMapper.toBlockVirtualPool (com.emc.storageos.api.mapper.VirtualPoolMapper.toBlockVirtualPool)1 NamedURI (com.emc.storageos.db.client.model.NamedURI)1 BlockVirtualPoolRestRep (com.emc.storageos.model.vpool.BlockVirtualPoolRestRep)1 ProtectionCopyPolicy (com.emc.storageos.model.vpool.ProtectionCopyPolicy)1