Active IQ Unified Manager Discussions
Active IQ Unified Manager Discussions
Hi,
I am looking for WFA mysql query statement to list the snapshot policies in a cluster/vserver. Can someone help me on this.
Thanks in Advance,
Krishgudd
Solved! See The Solution
This is what I came up with real quick. I listed a few extra attributes in here, which may or may not be helpful, and in this case a cluster needs to be defined via another variable. Under “SVM” it will show the cluster name if it is a cluster-defined snapshot policy, or the SVM name if it is an SVM-defined snapshot policy. I’m not a MySQL query expert by any stretch, so this could probably be cleaner, but it looks to work. I hope this points you in the right direction, at least.
SELECT
snapshot_policy.name AS 'Snapshot Policy',
schedule.name AS 'Schedule name',
snapshot_policy_schedule.snapshot_count AS 'Snapshots to Retain',
vserver.name AS 'SVM'
FROM
cm_storage.cluster,
cm_storage.vserver,
cm_storage.snapshot_policy,
cm_storage.snapshot_policy_schedule,
cm_storage.schedule
WHERE
vserver.cluster_id = cluster.id
AND snapshot_policy.vserver_id = vserver.id
AND snapshot_policy_schedule.snapshot_policy_id = snapshot_policy.id
AND snapshot_policy_schedule.schedule_id = schedule.id
AND cluster.name = '${cluster}'
ORDER BY
snapshot_policy.name,
snapshot_policy_schedule.snapshot_count,
schedule.name,
vserver.name
This is what I came up with real quick. I listed a few extra attributes in here, which may or may not be helpful, and in this case a cluster needs to be defined via another variable. Under “SVM” it will show the cluster name if it is a cluster-defined snapshot policy, or the SVM name if it is an SVM-defined snapshot policy. I’m not a MySQL query expert by any stretch, so this could probably be cleaner, but it looks to work. I hope this points you in the right direction, at least.
SELECT
snapshot_policy.name AS 'Snapshot Policy',
schedule.name AS 'Schedule name',
snapshot_policy_schedule.snapshot_count AS 'Snapshots to Retain',
vserver.name AS 'SVM'
FROM
cm_storage.cluster,
cm_storage.vserver,
cm_storage.snapshot_policy,
cm_storage.snapshot_policy_schedule,
cm_storage.schedule
WHERE
vserver.cluster_id = cluster.id
AND snapshot_policy.vserver_id = vserver.id
AND snapshot_policy_schedule.snapshot_policy_id = snapshot_policy.id
AND snapshot_policy_schedule.schedule_id = schedule.id
AND cluster.name = '${cluster}'
ORDER BY
snapshot_policy.name,
snapshot_policy_schedule.snapshot_count,
schedule.name,
vserver.name
Hi,
Does this work for you?
SELECT
snapshot_policy.name,
vserver.name AS 'vserver.name',
cluster.primary_address AS 'vserver.cluster.primary_address'
FROM
cm_storage.snapshot_policy,
cm_storage.vserver,
cm_storage.cluster
WHERE
snapshot_policy.vserver_id = vserver.id
AND
vserver.cluster_id = cluster.id
AND
vserver.name = '${VserverName}'
AND (
cluster.name = '${ClusterName}'
OR cluster.primary_address = '${ClusterName}'
)That should list all the snapshot policies assigned to a cluster\vserver. Alternately if you want to filter to a specific snapshot policy name then change the AND clause to add the policy name
AND
vserver.cluster_id = cluster.id
AND
vserver.name = '${VserverName}'
AND
snapshot_policy.name = '${SnapShotPolicyName}'
AND (
cluster.name = '${ClusterName}'
OR cluster.primary_address = '${ClusterName}'
)Hope that helps
/Matt