Beispiel #1
0
 def capabilities(self, system, flags=Client.FLAG_RSVD):
     cur_lsm_syss = self.systems()
     if system.id not in list(s.id for s in cur_lsm_syss):
         raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM, "System not found")
     cap = Capabilities()
     cap.set(Capabilities.VOLUMES)
     cap.set(Capabilities.DISKS)
     cap.set(Capabilities.VOLUME_RAID_INFO)
     cap.set(Capabilities.POOL_MEMBER_INFO)
     cap.set(Capabilities.VOLUME_RAID_CREATE)
     return cap
Beispiel #2
0
 def capabilities(self, system, flags=Client.FLAG_RSVD):
     cur_lsm_syss = self.systems()
     if system.id not in list(s.id for s in cur_lsm_syss):
         raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM, "System not found")
     cap = Capabilities()
     cap.set(Capabilities.DISKS)
     cap.set(Capabilities.VOLUMES)
     cap.set(Capabilities.VOLUME_RAID_INFO)
     cap.set(Capabilities.POOL_MEMBER_INFO)
     cap.set(Capabilities.VOLUME_RAID_CREATE)
     return cap
Beispiel #3
0
def get(smis_common, cim_sys, system):
    cap = Capabilities()

    if smis_common.is_netappe():
        _rs_supported_capabilities(smis_common, system.id, cap)

        # TODO We need to investigate why our interrogation code doesn't
        # work. The array is telling us one thing, but when we try to use it,
        # it doesn't work
        return cap

    # 'Block Services Package' profile
    _bsp_cap_set(smis_common, system.id, cap)

    # 'Disk Drive Lite' profile
    _disk_cap_set(smis_common, cap)

    # 'Masking and Mapping' and 'Group Masking and Mapping' profiles
    mt = mask_type(smis_common)
    if cim_sys.path.classname == 'Clar_StorageSystem':
        mt = MASK_TYPE_MASK

    if mt == MASK_TYPE_GROUP:
        _group_mask_map_cap_set(smis_common, cim_sys.path, cap)
    else:
        _mask_map_cap_set(smis_common, cim_sys.path, cap)

    # 'FC Target Ports' and 'iSCSI Target Ports' profiles
    _tgt_cap_set(smis_common, cim_sys.path, cap)

    _rs_supported_capabilities(smis_common, system.id, cap)
    return cap
Beispiel #4
0
    def capabilities(self, system, flags=Client.FLAG_RSVD):
        cur_lsm_syss = self.systems()
        if system.id not in list(s.id for s in cur_lsm_syss):
            raise LsmError(
                ErrorNumber.NOT_FOUND_SYSTEM,
                "System not found")
        cap = Capabilities()
        cap.set(Capabilities.DISKS)
        cap.set(Capabilities.SYS_FW_VERSION_GET)
        cap.set(Capabilities.SYS_MODE_GET)
        cap.set(Capabilities.DISK_LOCATION)
        cap.set(Capabilities.DISK_VPD83_GET)
        if system.mode != System.MODE_HBA:
            cap.set(Capabilities.VOLUMES)
            cap.set(Capabilities.VOLUME_RAID_CREATE)
            cap.set(Capabilities.VOLUME_DELETE)

        return cap
Beispiel #5
0
 def capabilities(self, system, flags=Client.FLAG_RSVD):
     cur_lsm_syss = self.systems()
     if system.id not in list(s.id for s in cur_lsm_syss):
         raise LsmError(
             ErrorNumber.NOT_FOUND_SYSTEM,
             "System not found")
     cap = Capabilities()
     cap.set(Capabilities.DISKS)
     cap.set(Capabilities.VOLUMES)
     cap.set(Capabilities.VOLUME_RAID_INFO)
     cap.set(Capabilities.POOL_MEMBER_INFO)
     cap.set(Capabilities.VOLUME_RAID_CREATE)
     cap.set(Capabilities.BATTERIES)
     cap.set(Capabilities.VOLUME_PHYSICAL_DISK_CACHE_UPDATE)
     cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WRITE_BACK)
     cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_AUTO)
     cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WRITE_THROUGH)
     cap.set(Capabilities.VOLUME_DELETE)
     return cap
Beispiel #6
0
 def capabilities(self, system, flags=0):
     rc = Capabilities()
     rc.enable_all()
     rc.set(Capabilities.POOLS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUMES_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.DISKS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.FS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.ACCESS_GROUPS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.NFS_EXPORTS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.TARGET_PORTS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_PHYSICAL_DISK_CACHE_UPDATE_SYSTEM_LEVEL,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_IMPACT_READ,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WB_IMPACT_OTHER,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_READ_CACHE_POLICY_UPDATE_IMPACT_WRITE,
            Capabilities.UNSUPPORTED)
     return rc
Beispiel #7
0
    def capabilities(self, system, flags=0):
        cap = Capabilities()
        cap.set(Capabilities.VOLUMES)
        cap.set(Capabilities.VOLUME_CREATE)
        cap.set(Capabilities.VOLUME_REPLICATE)
        cap.set(Capabilities.VOLUME_REPLICATE_COPY)
        cap.set(Capabilities.VOLUME_DELETE)
        cap.set(Capabilities.VOLUME_MASK)
        cap.set(Capabilities.VOLUME_UNMASK)
        cap.set(Capabilities.FS)
        cap.set(Capabilities.FS_CREATE)
        cap.set(Capabilities.FS_DELETE)
        cap.set(Capabilities.FS_CLONE)
        cap.set(Capabilities.FS_SNAPSHOT_CREATE)
        cap.set(Capabilities.FS_SNAPSHOT_DELETE)
        cap.set(Capabilities.FS_SNAPSHOTS)
        cap.set(Capabilities.EXPORT_AUTH)
        cap.set(Capabilities.EXPORTS)
        cap.set(Capabilities.EXPORT_FS)
        cap.set(Capabilities.EXPORT_REMOVE)
        cap.set(Capabilities.ACCESS_GROUPS)
        cap.set(Capabilities.ACCESS_GROUPS_GRANTED_TO_VOLUME)
        cap.set(Capabilities.VOLUMES_ACCESSIBLE_BY_ACCESS_GROUP)
        cap.set(Capabilities.VOLUME_ISCSI_CHAP_AUTHENTICATION)

        if self._flag_ag_support:
            cap.set(Capabilities.ACCESS_GROUP_CREATE_ISCSI_IQN)
            cap.set(Capabilities.ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN)
            cap.set(Capabilities.ACCESS_GROUP_INITIATOR_DELETE)
            cap.set(Capabilities.ACCESS_GROUP_DELETE)

        return cap
Beispiel #8
0
    def capabilities(self, system, flags=0):
        cap = Capabilities()
        cap.set(Capabilities.VOLUMES)
        cap.set(Capabilities.VOLUME_CREATE)
        cap.set(Capabilities.VOLUME_REPLICATE)
        cap.set(Capabilities.VOLUME_REPLICATE_COPY)
        cap.set(Capabilities.VOLUME_DELETE)
        cap.set(Capabilities.VOLUME_MASK)
        cap.set(Capabilities.VOLUME_UNMASK)
        cap.set(Capabilities.FS)
        cap.set(Capabilities.FS_CREATE)
        cap.set(Capabilities.FS_DELETE)
        cap.set(Capabilities.FS_CLONE)
        cap.set(Capabilities.FS_SNAPSHOT_CREATE)
        cap.set(Capabilities.FS_SNAPSHOT_DELETE)
        cap.set(Capabilities.FS_SNAPSHOTS)
        cap.set(Capabilities.EXPORT_AUTH)
        cap.set(Capabilities.EXPORTS)
        cap.set(Capabilities.EXPORT_FS)
        cap.set(Capabilities.EXPORT_REMOVE)
        cap.set(Capabilities.ACCESS_GROUPS)
        cap.set(Capabilities.ACCESS_GROUPS_GRANTED_TO_VOLUME)
        cap.set(Capabilities.VOLUMES_ACCESSIBLE_BY_ACCESS_GROUP)
        cap.set(Capabilities.VOLUME_ISCSI_CHAP_AUTHENTICATION)

        if self._flag_ag_support:
            cap.set(Capabilities.ACCESS_GROUP_CREATE_ISCSI_IQN)
            cap.set(Capabilities.ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN)
            cap.set(Capabilities.ACCESS_GROUP_INITIATOR_DELETE)
            cap.set(Capabilities.ACCESS_GROUP_DELETE)

        return cap
Beispiel #9
0
 def capabilities(self, system, flags=Client.FLAG_RSVD):
     cur_lsm_syss = self.systems()
     if system.id not in list(s.id for s in cur_lsm_syss):
         raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM, "System not found")
     cap = Capabilities()
     cap.set(Capabilities.DISKS)
     cap.set(Capabilities.DISK_VPD83_GET)
     cap.set(Capabilities.VOLUMES)
     cap.set(Capabilities.VOLUME_RAID_INFO)
     cap.set(Capabilities.POOL_MEMBER_INFO)
     cap.set(Capabilities.VOLUME_RAID_CREATE)
     cap.set(Capabilities.BATTERIES)
     cap.set(Capabilities.VOLUME_CACHE_INFO)
     cap.set(Capabilities.VOLUME_PHYSICAL_DISK_CACHE_UPDATE)
     cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WRITE_BACK)
     cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_AUTO)
     cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WRITE_THROUGH)
     cap.set(Capabilities.VOLUME_DELETE)
     return cap
Beispiel #10
0
 def capabilities(self, system, flags=0):
     rc = Capabilities()
     rc.enable_all()
     rc.set(Capabilities.POOLS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUMES_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.DISKS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.FS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.ACCESS_GROUPS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.NFS_EXPORTS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.TARGET_PORTS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     return rc
Beispiel #11
0
 def capabilities(self, system, flags=0):
     rc = Capabilities()
     rc.enable_all()
     rc.set(Capabilities.POOLS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUMES_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.DISKS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.FS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.ACCESS_GROUPS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.NFS_EXPORTS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.TARGET_PORTS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_PHYSICAL_DISK_CACHE_UPDATE_SYSTEM_LEVEL,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_IMPACT_READ,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WB_IMPACT_OTHER,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUME_READ_CACHE_POLICY_UPDATE_IMPACT_WRITE,
            Capabilities.UNSUPPORTED)
     return rc
Beispiel #12
0
 def capabilities(self, system, flags=0):
     rc = Capabilities()
     rc.enable_all()
     rc.set(Capabilities.POOLS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.VOLUMES_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.DISKS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.FS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.ACCESS_GROUPS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     rc.set(Capabilities.NFS_EXPORTS_QUICK_SEARCH, Capabilities.UNSUPPORTED)
     rc.set(Capabilities.TARGET_PORTS_QUICK_SEARCH,
            Capabilities.UNSUPPORTED)
     return rc
Beispiel #13
0
    def capabilities(self, system, flags=Client.FLAG_RSVD):
        cur_lsm_syss = self.systems()
        if system.id not in list(s.id for s in cur_lsm_syss):
            raise LsmError(
                ErrorNumber.NOT_FOUND_SYSTEM,
                "System not found")
        cap = Capabilities()
        cap.set(Capabilities.VOLUMES)
        cap.set(Capabilities.DISKS)
        cap.set(Capabilities.VOLUME_RAID_INFO)
        cap.set(Capabilities.POOL_MEMBER_INFO)
        cap.set(Capabilities.VOLUME_RAID_CREATE)
        cap.set(Capabilities.VOLUME_DELETE)
        cap.set(Capabilities.VOLUME_ENABLE)
        cap.set(Capabilities.SYS_FW_VERSION_GET)
        cap.set(Capabilities.SYS_MODE_GET)
        cap.set(Capabilities.SYS_READ_CACHE_PCT_UPDATE)
        cap.set(Capabilities.SYS_READ_CACHE_PCT_GET)
        cap.set(Capabilities.DISK_LOCATION)
        cap.set(Capabilities.VOLUME_LED)
        cap.set(Capabilities.BATTERIES)
        cap.set(Capabilities.VOLUME_CACHE_INFO)
        cap.set(Capabilities.VOLUME_PHYSICAL_DISK_CACHE_UPDATE)
        cap.set(Capabilities.VOLUME_PHYSICAL_DISK_CACHE_UPDATE_SYSTEM_LEVEL)
        cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WRITE_BACK)
        cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_AUTO)
        cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WRITE_THROUGH)
        cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_WB_IMPACT_OTHER)
        cap.set(Capabilities.VOLUME_WRITE_CACHE_POLICY_UPDATE_IMPACT_READ)
        cap.set(Capabilities.VOLUME_READ_CACHE_POLICY_UPDATE)
        cap.set(Capabilities.VOLUME_READ_CACHE_POLICY_UPDATE_IMPACT_WRITE)
        cap.set(Capabilities.DISK_VPD83_GET)

        return cap
Beispiel #14
0
    def capabilities(self, system, flags=0):
        c = Capabilities()

        # File system
        c.set(Capabilities.FS)
        c.set(Capabilities.FS_DELETE)
        # c.set(Capabilities.FS_RESIZE)
        c.set(Capabilities.FS_CREATE)
        c.set(Capabilities.FS_CLONE)
        #        c.set(Capabilities.FILE_CLONE)
        c.set(Capabilities.FS_SNAPSHOTS)
        c.set(Capabilities.FS_SNAPSHOT_CREATE)
        c.set(Capabilities.FS_SNAPSHOT_DELETE)
        c.set(Capabilities.FS_SNAPSHOT_RESTORE)
        #        c.set(Capabilities.FS_SNAPSHOT_RESTORE_SPECIFIC_FILES)
        c.set(Capabilities.FS_CHILD_DEPENDENCY)
        c.set(Capabilities.FS_CHILD_DEPENDENCY_RM)
        #        c.set(Capabilities.FS_CHILD_DEPENDENCY_RM_SPECIFIC_FILES)

        #        #NFS
        c.set(Capabilities.EXPORT_AUTH)
        c.set(Capabilities.EXPORTS)
        c.set(Capabilities.EXPORT_FS)
        c.set(Capabilities.EXPORT_REMOVE)
        c.set(Capabilities.EXPORT_CUSTOM_PATH)
        #
        #        #Block operations
        c.set(Capabilities.VOLUMES)
        c.set(Capabilities.VOLUME_CREATE)
        c.set(Capabilities.VOLUME_RESIZE)
        #        c.set(Capabilities.VOLUME_REPLICATE)
        #        c.set(Capabilities.VOLUME_REPLICATE_CLONE)
        #        c.set(Capabilities.VOLUME_REPLICATE_COPY)
        #        c.set(Capabilities.VOLUME_REPLICATE_MIRROR_ASYNC)
        #        c.set(Capabilities.VOLUME_REPLICATE_MIRROR_SYNC)
        #        c.set(Capabilities.VOLUME_COPY_RANGE_BLOCK_SIZE)
        #        c.set(Capabilities.VOLUME_COPY_RANGE)
        #        c.set(Capabilities.VOLUME_COPY_RANGE_CLONE)
        #        c.set(Capabilities.VOLUME_COPY_RANGE_COPY)
        c.set(Capabilities.VOLUME_DELETE)
        #        c.set(Capabilities.VOLUME_ENABLE)
        #        c.set(Capabilities.VOLUME_DISABLE)
        c.set(Capabilities.VOLUME_MASK)
        c.set(Capabilities.VOLUME_UNMASK)
        c.set(Capabilities.ACCESS_GROUPS)
        c.set(Capabilities.ACCESS_GROUP_CREATE_ISCSI_IQN)
        c.set(Capabilities.ACCESS_GROUP_DELETE)
        c.set(Capabilities.ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN)
        c.set(Capabilities.ACCESS_GROUP_INITIATOR_DELETE)
        c.set(Capabilities.VOLUMES_ACCESSIBLE_BY_ACCESS_GROUP)
        c.set(Capabilities.ACCESS_GROUPS_GRANTED_TO_VOLUME)
        c.set(Capabilities.VOLUME_CHILD_DEPENDENCY)
        c.set(Capabilities.VOLUME_CHILD_DEPENDENCY_RM)

        c.set(Capabilities.VOLUME_ISCSI_CHAP_AUTHENTICATION)

        return c
Beispiel #15
0
    def capabilities(self, system, flags=0):
        c = Capabilities()

        # File system
        c.set(Capabilities.FS)
        c.set(Capabilities.FS_DELETE)
        # c.set(Capabilities.FS_RESIZE)
        c.set(Capabilities.FS_CREATE)
        c.set(Capabilities.FS_CLONE)
        #        c.set(Capabilities.FILE_CLONE)
        c.set(Capabilities.FS_SNAPSHOTS)
        c.set(Capabilities.FS_SNAPSHOT_CREATE)
        c.set(Capabilities.FS_SNAPSHOT_DELETE)
        c.set(Capabilities.FS_SNAPSHOT_RESTORE)
        #        c.set(Capabilities.FS_SNAPSHOT_RESTORE_SPECIFIC_FILES)
        c.set(Capabilities.FS_CHILD_DEPENDENCY)
        c.set(Capabilities.FS_CHILD_DEPENDENCY_RM)
        #        c.set(Capabilities.FS_CHILD_DEPENDENCY_RM_SPECIFIC_FILES)

        #        #NFS
        c.set(Capabilities.EXPORT_AUTH)
        c.set(Capabilities.EXPORTS)
        c.set(Capabilities.EXPORT_FS)
        c.set(Capabilities.EXPORT_REMOVE)
        c.set(Capabilities.EXPORT_CUSTOM_PATH)
        #
        #        #Block operations
        c.set(Capabilities.VOLUMES)
        c.set(Capabilities.VOLUME_CREATE)
        c.set(Capabilities.VOLUME_RESIZE)
        #        c.set(Capabilities.VOLUME_REPLICATE)
        #        c.set(Capabilities.VOLUME_REPLICATE_CLONE)
        #        c.set(Capabilities.VOLUME_REPLICATE_COPY)
        #        c.set(Capabilities.VOLUME_REPLICATE_MIRROR_ASYNC)
        #        c.set(Capabilities.VOLUME_REPLICATE_MIRROR_SYNC)
        #        c.set(Capabilities.VOLUME_COPY_RANGE_BLOCK_SIZE)
        #        c.set(Capabilities.VOLUME_COPY_RANGE)
        #        c.set(Capabilities.VOLUME_COPY_RANGE_CLONE)
        #        c.set(Capabilities.VOLUME_COPY_RANGE_COPY)
        c.set(Capabilities.VOLUME_DELETE)
        #        c.set(Capabilities.VOLUME_ENABLE)
        #        c.set(Capabilities.VOLUME_DISABLE)
        c.set(Capabilities.VOLUME_MASK)
        c.set(Capabilities.VOLUME_UNMASK)
        c.set(Capabilities.ACCESS_GROUPS)
        c.set(Capabilities.ACCESS_GROUP_CREATE_ISCSI_IQN)
        c.set(Capabilities.ACCESS_GROUP_DELETE)
        c.set(Capabilities.ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN)
        c.set(Capabilities.ACCESS_GROUP_INITIATOR_DELETE)
        c.set(Capabilities.VOLUMES_ACCESSIBLE_BY_ACCESS_GROUP)
        c.set(Capabilities.ACCESS_GROUPS_GRANTED_TO_VOLUME)
        c.set(Capabilities.VOLUME_CHILD_DEPENDENCY)
        c.set(Capabilities.VOLUME_CHILD_DEPENDENCY_RM)

        c.set(Capabilities.VOLUME_ISCSI_CHAP_AUTHENTICATION)

        return c
Beispiel #16
0
    def capabilities(self, system, flags=0):
        """Define which Capabilities this plugin offers"""
        cap = Capabilities()

        # File system
        cap.set(Capabilities.FS)

        # NFS
        cap.set(Capabilities.EXPORT_AUTH)
        cap.set(Capabilities.EXPORTS)
        cap.set(Capabilities.EXPORT_FS)
        cap.set(Capabilities.EXPORT_REMOVE)
        cap.set(Capabilities.EXPORT_CUSTOM_PATH)

        return cap