goUCS: Get down and dirty with the UCS XML API
Last week our technical marketing team released the fully documented goUCS Automation Toolkit v1.0 on the Cisco Developer Network. The Toolkit can help system administrators with automation use cases such as:
- auto-populating data in a central CMDB with the physical inventory of an entire UCS domain with one query
- creating or modifying objects across multiple UCS domains like VLANs, policies, pools, etc.
- gathering data about a specific set of objects across UCS domains.
- easily automating tasks across multiple UCS domains
- creating 10 service profiles from a template, associating them to 10 blades, and powering the 10 blades on via a single transaction
This is a CLI-based Proof of Concept development tool that provides the basic framework for managing multiple UCS sessions and the communication to and from UCS via the XML API. It’s also something of a “companion piece” to the UCS Platform Emulator, in that the Emulator provides a non-destructive environment for UCS automation development, while goUCS provides a means of extracting the communication stream between the Emulator GUI and the “UCS Manager” VM and leveraging it to build out connections between one or more UCS domains and other entities.
This might be a good place to review the architecture of UCS Manager. There’s a good whitepaper on this as well, but briefly:
Cisco UCS Manager isolates the physical platform implementation from the business logic of the information model, which can be accessed through the API via a choice of independent front-end user interfaces. goUCS allows the administrator monitor the UCSM log files, which details the communication passed back and forth between the GUI and API. This allows the administrator to view, extract, and parameterize the XML documents passed from the GUI to UCS via the API, which will enable the administrator to propagate the task across multiple UCS domains.
To learn more about the goUCS toolkit, including how to download the code and documentation, go here.