cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Pondering Automation: Messages are just data passing across the wire

591
Views
0
Helpful
0
Comments
Cisco Employee

Howdy out there in Automation land! Hope everyone had a great summer. Getting into the beginning of fall and football is around, the world series is a month plus away, school is starting up, and well... it's just time to do some more automation! Today, i have a great topic to talk to you about... message brokering with a combination of Cisco Prime Service Catalog, AMQP, and Cisco Process Orchestrator. How can we get all three to work together in harmony and provide us a great end to end solution? I'm glad you asked.

 

Continuing with our old movie poster reference, I'll go with this one when I think of a "broker":

wallStreetMovie.jpg

 

Oh... but they are so much more to us in automation.... With CPSC 12.0 and CPO 3.4 we can link them up through AMQP message brokering and eliminate the web service components and some of the issues we have seen in the past in linking these two products together. To do this you will need to follow some instructions on setup...(this is just an outline... I have a VOD below of course!)

 

  1. Setup PSC 12.0, PO 3.4, and an AMQP message broker. I used a CentOS machine running RabbitMQ.
  2. In PSC, go into Administration and then into Manage Connections. There you will find a place to link an AMQP broker to your PSC instance.
    amqpConnectionPSC.JPG
  3. Create a service in PSC and then under Plan, you want to use a Queue Service Request workflow type, and click the "..." next to it. In the primary task give your task a name(this will become your Exchange name) and select what payload type, etc and create it. This will create the exchange in AMQP for you as well as the queue. If you have never worked with AMQP before, the exchange gets messages and then distributes them to queues attached to it.
    exchangeTOQueue.JPG
  4. After this you can save your service. Create your form, etc. Your form will now send XML/JSON/etc across the wire when you submit this service.
  5. You can go ahead and (via AMQP admin) create an inbound exchange and point it to the inbound PSC queue. This queue would have been created when you created your initial connection.
  6. On the PO side, you will need to create an AMQP message broker to monitor for messages, so create a new AMQP target!
  7. After that you should be able to see it subscribed to your AMQP message broker
  8. Create a process and include the AMQP message trigger. You can configure it to receive the messages and then configure your process to pull out the data from PSC so PO can use it.
    amqp_trigger.JPG
  9. Now you are ready to trigger!
  10. But wait... there is more. You want to send messages back into PSC. You should have the queue already configured from above to receive messages inbound to PSC.
  11. So you just need to drag and drop the "Publish AMQP Message" to your process and put in the proper XML to have PSC take action(see a couple of examples below)

 

And that is it!

 

Here are some examples of messages I sent back into PSC (Make sure you SAVE the channel ID from your inbound messages)

 

Add a comment to a requisition:

<message channel-id="<SOME CHANNEL ID>"> <add-comments> <comment>This is a great comment!!!</comment> </add-comments> </message> 

 

Close out a requisition:

<message channel-id="<SOME CHANNEL ID>"> <take-action action="done"> </take-action> </message> 

 

 

Pretty straight forward and it has been working great for some of my internal automation work. As always I have a complete VOD that will detail this all for you and take you through my journey of putting this together. Big thanks to Devin Heads for his help on setup!

 

And now... ONTO THE VIDEO!

 

Play recording (16 min 28 sec)

Recording password: QzegRjm7

 

 

Standard End-O-Blog Disclaimer:

 

Thanks as always to all my wonderful readers and those who continue to stick with and use CPO. Big things are on the horizon and I hope that you will continue to use CPO and find great uses for it! If you have a really exciting automation story, please email me it! (see below) I would love to compile some stories and feature customers or individual stories in an upcoming blog!!!

 

AUTOMATION BLOG DISCLAIMER: As always, this is a blog and my (Shaun Roberts) thoughts on CPO and automation, my thoughts on best practices, and my experiences with the product and customers. The above views are in no way representative of Cisco or any of it's partners, etc. None of these views, etc are supported and this is not a place to find standard product support. If you need standard product support please do so via the current call in numbers on Cisco.com or email tac@cisco.com

 

Thanks and Happy Automating!!!

 

--Shaun Roberts

shaurobe@cisco.com

CreatePlease to create content
Content for Community-Ad
August's Community Spotlight Awards