Active IQ Unified Manager Discussions
Active IQ Unified Manager Discussions
Greetings,
My colleagues and I are discussing how to best display additional information to the WFA operator as they execute a workflow.
Our use case is around resizing a volume. We want to show the WFA operator how much aggregate capacity is available and/or how much the aggregate is overcommitted as they execute a Volume Resize workflow. We currently have a User Input of Type query and "Lock Values" to show the data we want.
Some parameters of our discussion:
Looking forward to hearing ideas. 🙂
Test_Vol_Resize.dar from WFA 4.0 attached for fun.
-Lawrence
Solved! See The Solution
You can use "user input" dependency section and make it read only by providing some value which will never satisfy the condition. This will make user input, non-input. Hope this helps.
Lawrence,
You could use the No-Op command to define aggregate as a "User Input". Then define the aggregate as a user input, you can then show the amount of space used, available or calculate the used percentage with the query. Unfortunately the commited capacity is not in the wfa dictionary for aggregate, so that can not be displayed. Something like the SQL query below (untested).
Mike
SELECT
aggregate.name as 'Aggregate Name',
aggregate.available_size_mb as 'Available Size (MB)'
FROM
cm_storage.aggregate,
cm_storage.volume
WHERE
volume.aggregate = aggregate.id
AND volume.name = '${VolumeName}'
Mike,
I think your idea of a non-operational command with an input variable for the aggregate will work. Adding what Karale suggested will produce the behavior we are looking for.
As for available capactiy, I came up with something similar.
SELECT
round(aggregate.available_size_mb/1000) AS 'Available (GB)',
aggregate.name AS 'Name'
FROM
cm_storage.aggregate AS aggregate
JOIN
cm_storage.volume AS volume
ON volume.aggregate_id = aggregate.id
WHERE
volume.name = '${volume}'
I played with committed capacity a little with a subquery. The concept is there but some tweaking will be needed to get something meaningful like overcomitted capacity in percentage.
SELECT
round(sum(volume.size_mb/1000)) AS 'Committed (GB)'
FROM
cm_storage.volume AS volume
WHERE
volume.aggregate_id IN (SELECT
volume.aggregate_id AS 'Aggregate ID'
FROM
cm_storage.volume AS volume
WHERE
volume.name ='${volume}')
Thank you,
Lawrence
You can use "user input" dependency section and make it read only by providing some value which will never satisfy the condition. This will make user input, non-input. Hope this helps.
Karale,
Creating a Dependency that is never satisfied creates the behavior we are looking for. I tested by making the aggregate input variable dependent on "Volume" with the value of "no_volume". It works unless we create a volume on one of the clusters named "no_volume" and someone wants to resize it. At that point, if we use Mike's suggestion of a No-op command in the workflow, even if the user modify the field we intend only as a display field, it will not have an affect on the execution.
Problem solved.
Kind regards,
Lawrence