Active IQ Unified Manager Discussions

Porting Custom 7m WFA filter over to cDOT

dburklan
4,107 Views

Hello,

I have a customer who is actively trying to port their existing 7m WFA workflows over to cDOT. Due to the way they manage their environment they have many custom filters & finders that they have incorporated into their 7m workflows. I have been able to translate a few of them without issue however I am stuck with one in particular. The filter I am referring to allows an aggr to be selected based on the percentage of committed space which is defined below:

  • (Sum of all Qtrees Quota / total Aggr size) * 100 and committed space is less than $commitment_threshold

I am having trouble porting this filter over as there is no quota table in the “cm_storage” database in WFA. Do you know of any alternative approaches that I could take to convert this filter? Here is the SQL query from the filter I have been referring to:

SELECT -- DISTINCT(ac.ip) AS 'ip'

    ac.ip AS 'ip',

    ac.commitment

FROM

    (

    select

        storage.aggregate.name as 'name',

        storage.array.ip ,

        storage.array.name AS 'array.name',

        COALESCE(((SUM(storage.quota.hard_disk_limit_mb) / storage.aggregate.total_size_mb) * 100),

        0) as 'commitment'

    from

        storage.quota,

        storage.volume,

        storage.array,

        storage.aggregate,

        storage.resource_group,

        storage.resource_group_member

    where

        storage.aggregate.array_id = storage.array.id

        and storage.volume.aggregate_id = storage.aggregate.id

        and storage.quota.volume_id = storage.volume.id

        AND storage.aggregate.id = resource_group_member.aggregate_id

        AND storage.resource_group.id = resource_group_member.group_id

        AND storage.resource_group.name = '${group_name}'

    group by

        storage.array.ip,

        storage.array.name,

        storage.aggregate.name ) ac

WHERE

    ac.commitment <= '${commitment_threshold}'

order BY

    ac.commitment

Any help would be greatly appreciated, thanks!

Dan

4 REPLIES 4

adaikkap
4,107 Views

Hi Dan,

     What version of OCUM are you using as DataSource. IIRC OCUM 6.0 doesnt collect information regarding Quota.

Regards

adai

dhruvd
4,107 Views

Hi Dan,

In the cm_storage schema, you can find the qtree quota limit in the cm_storage.qtree table.

cm_storage.qtree.disk_limit_mb would be the field you are looking for.

-Dhruv

dburklan
4,107 Views

Thanks, I will give that a shot.

Dan

dburklan
4,107 Views

In case anybody is interested here is the cDOT-compatible query I came up with:

SELECT

    ac.name,

    ac.commitment,

    node.name AS 'node.name',

    ac.primary_address AS 'node.cluster.primary_address'

FROM

    (

    SELECT

        aggr.name AS 'name',

        aggr.node_id,

        clus.primary_address,

        COALESCE(((SUM(qtree.disk_limit_mb) / aggr.size_mb) * 100),

        0) AS 'commitment'

    FROM

        cm_storage.aggregate aggr,

        cm_storage.cluster clus,

        cm_storage.qtree qtree,

        cm_storage.volume vol,

        cm_storage.vserver vserv

    WHERE

        clus.name = '${cluster_name}'

        AND vserv.name = '${vserver_name}'

        AND vserv.cluster_id = clus.id

        AND vol.vserver_id = vserv.id

        AND vol.aggregate_id = aggr.id

        AND qtree.volume_id = vol.id

        AND qtree.disk_limit_mb NOT LIKE '%NULL%'

    GROUP BY

        aggr.name ) ac,

    cm_storage.node node

WHERE

    ac.commitment <= '${commitment_threshold}'

    AND node.id = ac.node_id

ORDER BY

    ac.commitment

Dan

Public