SevOne

SevOne

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Rapid Network Automation meets the Thanksgiving Turducken

By Tim Greenside posted Thu November 09, 2023 02:30 PM

  

With the Thanksgiving holiday fast approaching here in the US, I couldn't help but compare a situation I ran into recently in IBM's Rapid Network Automation (RNA) solution with the rather odd Thanksgiving dish "Turducken".

The Thanksgiving For those of you unfamiliar with this dish, someone decided that enjoying a regular Turkey with family and friends wasn't enough.  They decided to kick it up a notch, by taking a chicken and stuffing it inside a duck, then stuffing that inside a Turkey, hence creating the beloved "Turducken"!  
How on earth does this relate to automating network performance observability, you ask?  Let me explain.
IBM Rapid Network Automation allows you to take performance data of all sorts and transform it into useful objects that can then be ingested into IBM's SevOne NPM solution.  This is accomplished by arranging the "no code/low code" action blocks into a workflow that can be used to gather and then transform the data into the necessary object block "recipe", allowing it to be processed (or eaten!) by the SevOne API action blocks of your workflow.
Just like any recipe, you need to first gather the ingredients (data) needed and then following the recipe, prepare them accordingly.  In the case of the "Turducken" you need to prepare the inner most part of the dish and work your way out -- the chicken comes first, followed by the duck, followed by the turkey.  This is actually the same method you use when preparing your object recipe for a data object that contain nested arrays of objects.  
The SevOne API's "Devices Data" endpoint action block requires an Object called "body".  In order to construct the body, you need the "recipe" which contains the ingredients required for its construction.  You need all of the ingredients or you cannot cook the turkey successfully!
When you click on the action block, it opens the Tools pane on the right of your workflow canvas.  If you click on the "body" row in the Tools editor, you can see a list of ingredients that are needed to successfully "cook your bird".  This is great if you are cooking a turkey.  But how about if it has a duck and a chicken inside of it?  
Looking closely, we see within the "body" that it contains an "objects" array.  Think of it as the duck inside of your turkey.  We probably need a list of ingredients for that too.  To the right of the "objects" array, click on the three dots and then select "Append Child" in order to see its ingredients:
Now we see the ingredients needed to construct our objects in our "objects" array.  We need to prepare the "objects" array with objects before we can stuff it in our turkey.  Like before, we see that there is a "timestamps" object array required.  We probably need a list of ingredients for that too.  To the right of the "timestamps" array, click on the three dots and then select "Append Child" in order to see its ingredients:
Our "timestamps" object ingredients list appears.  Within it, it has an "indicators" object array.  And you guessed it, we need its ingredients as well.  To the right of the "indicators" array, click on the three dots and then select "Append Child" in order to see its ingredients:
You can see the ingredients for the innermost part of your Object Turducken.  
Just like a real Turducken, you must prepare the Object Turducken from the inside out.  [1] The innermost layer "indicators objects" must be added to the "indicators" array with its other ingredients and then inserted into its outer layer "timestamps" object.  [2] Then the "timestamps" object layer must have the "timestamps" array prepared with its other ingredients and then added to its outer layer "objects" object.  This continues until you have your "body" object ready to be "cooked" by the API.  
While this is a tedious process, it is required to make the API endpoint accept your ingredients and process them to add your data into SevOne.  
I hope you found this useful in understanding how you can locate and identify the list of object ingredients required when you are cooking up your own automation recipes.
Have a Happy Thanksgiving!
0 comments
28 views

Permalink