Ok, so “Capturing DevOps” might be taking it a bit far as far as this post is concerned! DevOps, however, is a subject that I’d like to go into more detail on so that’s why this is part 1 of 2… but for now I’d like to stay true to my promise of showing how to capture the XML sent to and from UCS’ RESTful API.
Capturing raw XML is a relatively straight forward thing to do to be honest. At the end of the day, a contiguous block of XML is ordinarily wrapped in a common IP packet and therefore capturing a relevant IP packet and looking into its payload data will give you a lot of what you need. This is a little different to CLI and carriage returns… Wireshark can help with IP packet capture, including XML (or JSON) data of course.
XML becomes useful to a DC or Infrastructure SME when you can look it as a human with a basic understanding of what is being sent/received and then work back from there to translate it into something less like computer code.
goUCS is a tool that can help with that when looking at UCS. goUCS has quite a wide remit. Its purpose is to capture actions and make them repeatable (i.e. adding variables where needed). We are just going to use it to do the capturing bit today.
Where to start? First a snapshot of what goUCS is in a little more detail… I’ll copy and paste this because… well, it’s easier:
Secondly, I’ll just mention that the setup is straightforward enough for me not to bore anybody with the details. Download zip, extract it, add folder to system path.
Thirdly, let’s party! Here are the steps in straight-talking language:
- We open a UCS Manager session.
- Within a cmd window we go to the extracted goUCS folder and navigate to the “bin” sub-folder. “goucs filterlog logtail” is then entered.
- We go back to UCS Manager and perform a configuration task in the GUI that we would like to view the XML for.
- We then go back to the goUCS window and then copy & paste the XML dump into a text file.
- We use the XML as we see fit.
Now, “We use the XML as we see fit” is quite an interesting area. UCS has a python SDK that you can download that’s very capable – something to maybe take a look at… However, a colleague of mine decided that he wished to create his own ‘focused on what we want to’ SDK that can be used across all of the RESTful APIs within our data centre stack including the UCS API that we’ve focussed on above. This allows us to move to a model of programming across hw and sw infrastructure components all from one tool (notwithstanding that UCS Director is actually the right option for that kind of control…). The capturing and storing of XML for given actions was part of his app development. In the next part of this update I’ll be running through how that app works and practically demonstrating what ‘DevOps’ is about. Until then, I’ll leave you to do some batmailing on your batphones!