2015-06-03 09:13 AM
I've been working on a workflow used for Disaster Recovery Plans since a few days ago, and I must say that I'm stuck on something that I just can't understand.
In this workflow, I'm using the "Reverse Resync SnapMirror" two times. Unfortunately this puts two rows of reservation entries and the first one is never cleared even on cache acquisition, which is a little bit problematic if the workflow has to run again before the reservation expires. (and I wouldn't want a customer to have to clean specific reservations, let's keep it simple).
The solution I thought about was to force an acquisition on OCUM, right after the first "Reverse Resync" workflow, using the great commands from sinhaa . They work just fine if I execute them alone, or from a CLI, and they return no error in a workflow (in fact, I can even see that the data acquisition occurred in the data sources tab and on OCUM).
The thing is : the reservation tab is updated when I use them from a CLI or "test" them, but it's not if I used the commands from a workflow.
I checked that the inputs were the same, tried after clearing the Reservations and I always get the same result : the acquisition on OCUM and WFA happened (they are listed in the GUI and the rows from the cache database are updated) but didn't update the reservations.
(If it's a known problem for a few versions, I'm using WFA 3.0 with OCUM 6.2 and a CDOT 8.3)
Solved! SEE THE SOLUTION
2015-06-04 02:32 AM
Are you referring to 'Reverse Resync SnapMirror relationship' sample workflow ? Which command reservation tab are you referring to ?
Are they certified commands ? If not, can you attach the dar or paste the screenshot of reservation and verification code.
2015-06-04 02:49 AM
Indeed, the workflow I'm talking about is the sample workflow. (same reservation script at least)
The source of the problem is conflicting reservations as described here, but a forced acquisition after the first reservation should resolve it.
I'm referring to the user specific reservation tab, and not the reservation scripts that you could find on objects.
Would it be possible to e-mail you the workflows ? That would be a lot easier.
2015-06-04 05:01 AM
You are saying that Entry for the command is not removed even after Refresh and OCUM acquistion?
2015-06-04 05:29 AM - edited 2015-06-04 05:31 AM
It's as you said, when starting the workflow here is the kind of reservation I have :
After the OCUM refresh and data acquisition in WFA via the workflow, the reservation is still the same way.
When I execute the acquisition via the same command outside the workflow (with the same inputs), it actually works :
EDIT : And the acquisition from the workflow should work, as it updates the cache database and I can see the events in OCUM as well as WFA on the right data sources and clusters.
2015-06-05 08:24 AM
The problem is not related to conflicting reservations. Here is the reason:
Cache data will not be updated for the reservations when the workflow is in execution.
WFA verification script (used to verify a reservation) gets executed only for the workflows whose job execution status is NOT IN ('SCHEDULED', 'PENDING', 'EXECUTING', 'PLANNING')). In your case, the workflow status is still EXECUTING while it is acquiring the OCUM datasource, and hence the Cache data will not be updated for the reservations in the reservation tab.
2015-06-05 08:50 AM
Thanks for the good work, we now know where this strange behaviour came from.
What could I possibly do to resolve this problem ? (besides asking the user to do a cache acquisition after the reservation ?)
I can think of :
- Invoking the workflow via rest
- catching an snmp trap on approval points and invoking the commands forcing the acquisition if it's after a reservation
But I feel like we would be losing pretty much all the advantages of WFA as it would require an external script ?
The other solution I can think of would be to schedule the execution of the commands forcing the acquisition via another command in the workflow. This way, we could manage an execution of the acquisition something like 5 minutes after the reservation (and so when the actual workflow is either "waiting for approval" or "completed"). I don't know if it's possible though, I think I saw a scheduler workflow on the communities a while ago but that's pretty much it.