Cisco UCS Management Handbook
Authored by Devi Kumarappan, John McDonough, Jason Shaw, and David Soper
This document is intended to be a central repository of UCS Management resources and recommendations for Cisco UCS Manager, Cisco UCS Central, Cisco Standalone Servers, and Cisco IMC Supervisor. This content is intended to supplement the ‘Cisco UCS Management and Programmability’ Tech Talk series.
UCS Management Foundations - The UCS Unified API
UCS Management Software is built on the idea that the infrastructure is completely programmable. Resources can be logically grouped as needed and controlled by user defined policies. The UCS idea of "infrastructure as code" requires a well defined programming interface, and the core of all UCS Management programming is done with the UCS unified API. The API is the front-end to the UCS object model that defines every type of resource in the system: from individual CPUs, memory, and networking interfaces to entire servers, chassis, and storage systems.
A key concept for the unified API is the idea that you can "learn it once, use it everywhere". For example, if you are automating operations for a standalone C-Series server, you may configure certain BIOS policies or specify how your storage RAID should be configured. Once you've learned how to use the API objects to perform the needed actions, the same understanding can be carried forward into programming the unified fabric and logical servers with UCS Manager and further extended to multiple domains and global policies with UCS Central. Each expanded management scope simply adds new objects to the API namespace without changing the data model or software architecture.
Most important to understand with the unified API is that all Cisco UCS management interfaces, including the command-line interface (CLI) and GUI, use the Cisco UCS unified API to control the infrastructure. The API is the central control interface for any management operation.
For more on the UCS Unified API, see the following:
A key design goal for UCS converged infrastructure was managing everything within a unified fabric that supports a "wire once" model and allows all aspects of server identification, configuration, and user control to occur automatically. Another key design aspect of UCS is stateless compute, where all compute resources are programmed into desired state through user defined policies. The user creates a logical model of what they want - a profile - and the "system" programs resources to match the model. With UCS "everything is programmable" and the management software that makes that possible is described below.
In converged infrastructure deployments, management of networking, compute, and storage is required. Discovery, configuration, and ongoing management of such systems can be complex due to the number of management endpoints involved. With UCS converged infrastructure, all aspects of infrastructure management within the UCS unified fabric is provided from a single control point - UCS Manager.
UCS Manager is the embedded software platform operating inside of UCS Fabric Interconnects (unified fabric switches) - it is not an optional optional piece of software. If you have UCS Fabric Interconnects, then you have UCS Manager running inside. With UCS Manager and a unified fabric, discovery and system inventory is accomplished automatically, and maintained dynamically in the UCS object model. In addition to maintaining deep HW inventory, the object model is a central repository of all software configuration, abstracted in the form of Pools, Policies, and Templates. The objective of UCS policy based management is that a user can create policies and profiles once and use them many times ("write once, use anywhere").
The idea of "write once, use anywhere" is also a key concept in configuration management tools, also known as "DevOps" tools. As the management endpoint for UCS converged infrastructure, all control of the UCS object model is provided by the unified API which is the single programming interface for UCS Manager managed servers. Any external management, programming, or DevOps tools interface directly with the UCS Manager API. Note that UCS Manager does not compete with other management tools, and instead UCS Manager complements/enables these tools.
Read more on UCS Manager: Cisco UCS Manager - Cisco
Read more on UCS Manager solutions: Cisco UCS Management - Partner Ecosystem - Solution Overviews - Cisco
UCS Manager provides a single, comprehensive management endpoint for all unified fabric infrastructure and spans up to 160 servers. For large scale, multi-domain management, UCS Central provides control of up to 10,000 servers across numerous UCS Manager domains. UCS Central provides global policy based management for all managed domains and allows for additional integrations and functionality since it runs outside of the unified fabric.
Read more on UCS Central: Cisco UCS Central Software - Products & Services - Cisco
The Cisco Intersight Service (previously codenamed "Starship") can be used for cloud based management of UCS devices including HyperFlex, UCS Manager domains, and standalone UCS C-Series Servers. The UCS Starship service is currently in TechPreview and available to anyone with a cisco.com ID and devices capable of connecting to the Starship Service.
Read more on Cisco Intersight: UCS Starship: Cloud Based Management
When the Cisco UCS unified fabric is not part of a server deployment, standalone UCS servers can still be managed through user defined policies using the same API framework that all UCS provides. Management for standalone UCS servers is described below.
Cisco's Integrated Management Controller, or IMC, is onboard every UCS server and provides programmatic control of all server components. BIOS settings, precise Boot Order (including use of named LUNs and specific network interfaces), and firmware management are all provided through the IMC and its API.
Chassis and management administrator control is also provided from the IMC. IMC network settings, user Role Based Access Control (RBAC), power/cooling, and any other management monitoring or server actions (e.g., power control) is also provided by the IMC API. The object model is consistent with UCS object model for converged infrastructure to give the same programming model for developers and external management tools.
The Cisco IMC also supports industry standard interfaces such as the Redfish RESTful API.
Read more on the Cisco IMC: Cisco Integrated Management Controller (IMC) Supervisor - Products & Services - Cisco
Just as UCS Central provides management of converged infrastructure at scale, IMC Supervisor provides control of standalone servers at scale. Cisco IMC Supervisor runs on a virtual appliance and scales up to 1000 servers. IMC supervisor manages Cisco C-series rack servers, S-series storage servers and E-series servers.
IMC Supervisor provides hardware inventory, health status, and a rich set of server management capabilities including many firmware management features. Supervisor and provides policy based configuration with hardware profiles. Last but not least, IMC Supervisor provides a rich set of automation capabilities through a RESTful API.
Read more on IMC Supervisor: Cisco Integrated Management Controller (IMC) Supervisor - Products & Services - Cisco
The Cisco UCS management ecosystem includes integrations with many programmability tools and external management tools.
For a listing of solutions and documented integrations with UCS, see Unified Computing - White Papers - Cisco
For programming UCS Manager, UCS Central, and standalone servers through the IMC, see the following for additional information on Cisco maintained programmability environments:
Cisco has also developed and maintained solutions for many external management tools. Read more on the management ecosystem and integrations with UCS: Cisco UCS Management - Partner Ecosystem - Cisco UCS Management - Partner Ecosystem - Cisco
Several solution overview for Cisco developed integrations can be found at Cisco UCS Management - Partner Ecosystem - Solution Overviews - Cisco
One truly remarkable programming and development resource for UCS is the UCS Platform Emulator (UCSPE). The UCSPE provides an at scale emulation of the UCS unified fabric and allows UCS Manager to run "as is" in the emulated environment. Nearly all UCS Manager management features are available with the UCSPE including access to UCS unified API.
The UCS Manager PowerTool and Python SDK can be used with UCSPE, and UCSPE can even be used with the UCS vCenter plugin and other management tool plugins. UCSPE provides developers a rich simulated environment without the need for real hardware - if you can run a Virtual Machine (VM), you can run the UCSPE and start programming UCS infrastructure. Best of all, the UCSPE is completely free.
Learn more on the UCS Platform Emulator Communities page.
Cisco provides a wide array of resources, including hands on development labs, on Cisco DevNet. DevNet is an aggregation point for developers, giving them quick access to the tools, information, and resources that a developer would typically need to automate with UCS (note that DevNet also provides resources for all programmable Cisco products. UCS DevNet resources are available here:
From the main DevNet landing page for UCS, developers can learn more with the following menus:.
DevNet also hosts several events to promote development on Cisco products. Here are just a couple of exaples:
DevNet resources are free, and anyone with a cisco.com login can access DevNet. You can find out all that DevNet has to offer for automating with Cisco products on the main DevNet page.
In order to see UCS and other Cisco products "in action", Cisco provides a Demo Cloud (dCloud) with preconfigured environments to help users learn about Cisco products and solutions. Much more than just a website or data sheet, dCloud gives users a "hands on" experience with simulated and physcical infrastructure and comprehensive user guides to understand demo workflows.
Visit dCloud and search for "Unified Computing System" or "UCS" to see the available demos of UCS including programmability demos.
Also see the UCS Programmability Demo in dCloud for detailed labs on using PowerTool and the Python SDK. The programmability lab can also be used with the following Configuration Management tools: