Hi,
I have an issue using Orchestrator with vCloud Director and AMQP at the moment. I would appreciate any ideas anyone has..
I am using the network objects along with blocking tasks to try and identify when External IPs are removed from an org network (and hence check them in to my IPAM database).
the workflow can be summarised thusly:
- User removes IP (in vCloud) and clicks save
- The task is blocked and a message is sent out on the AMQP bus
- Orchestrator workflow retrieves the message and gets the blocking task object.
- Whilst the task is still blocked I get the task object and retrieve the network object.
- I use .toXml() on the network object to get the list of currently configured external IPs and add them to an array
- I allow the blocking task to resume. Once complete I call .Xml() again to get the new list of external IPs in a nother array
- I diff my 2 IP address arrays to hopefully see what has been added/removed.
This all works (code-wise) except for the fact that the XML that is returned from the network object is always the same.
It looks as though the XML is updated as soon as the task is completed and perhaps is just commited once the task is unblocked.
The only other way I can think of to do this is to save the task definition, force the task to fail, grab the network XML and then fire a new task with the same definition.
Feels like a pretty rubbish way of doing it though.
any ideas?
I might post this in the main forum too.
Thanks
Tim