cisco-imm-automation-tools

Cisco IMM Automation Tools simplifies building Cisco UCS infrastructure on Intersight.

View project on GitHub

UCS Server Deployment Tool


Deployment Tools Title Image


The UCS Server Deployment Tool for Cisco Intersight automates the comprehensive build and deployment of UCS Server Profiles, UCS Server Profile Templates, Policies, and Pools for Cisco IMM (Intersight Managed Mode).


Features

  • Automatically build a UCS Server Profile Template and one or more UCS Server Profiles with all 27 UCS Server Policies and all 7 UCS Pools configured to your exact specification. Anything that can be done through the Intersight GUI can be done here and more!

  • Automatically assign and deploy one or more UCS Server Profiles to UCS Server Resource Pools and/or directly to individual UCS Servers registered under Intersight, using either the serial, name, model, or user label.

  • Quickly restore UCS Server Profile, UCS Server Profile Template, Policy, and Pool configurations as part of your on-prem Intersight backup solution.

  • Optionally, import into other Python programs or scripts to use the many included functions for easy integration.

  • Supported with Intersight SaaS, Connected Virtual Appliance, and Private Virtual Appliance.

Prerequisites

  1. Python 3.7 or higher installed, which can be downloaded from https://www.python.org/downloads/.
    • If you’re installing for the first time on Windows, select the option “Add Python 3.x to PATH” during the installation.
  2. Install the Cisco Intersight SDK for Python by running the following command:
    pip install intersight
    

    More information on the Cisco Intersight SDK for Python can be found at https://github.com/ciscodevnet/intersight-python.

  3. [Optional] If you already have the Cisco Intersight SDK for Python installed, you may need to upgrade. An upgrade can be performed by running the following command:
    pip install intersight --upgrade --user
    
  4. Clone or download the Cisco IMM Automation Tools repository by using the GitHub Code Button link on the main repository web page or by running the following command from the target directory if Git is locally installed:
     git clone https://github.com/ugo-emekauwa/cisco-imm-automation-tools
    

    If you are downloading the repository file as a zipped file, unzip the file once the download has completed.

  5. Generate a version 3 or version 2 API key from your Intersight account.

    (a). Log into your Intersight account, click the Settings icon and select Settings.

    Figure 1 - Go to Settings

    (b). Under the API section in the work pane, click API Keys.

    Figure 2 - Go to API Keys

    (c). In the API Keys section in the work pane, click the Generate API Key button.

    Figure 3 - Click the Generate API Key button

    (d). In the Generate API Key window, enter a description or name for your API key.

    Figure 4 - Enter an API key description

    (e). In the Generate API Key window, under API Key Purpose, select a version 3 or version 2 API key.

    Figure 5 - Verify version 2 API key selection

    (f). In the Generate API Key window, click the Generate button.

    Figure 6 - Click the Generate button

    (g). In the Generate API Key window, a new API key will be generated. Copy the API Key ID and download the Secret Key to a secure location.

    Figure 7 - Copy and save the API key data

How to Use

  1. Please ensure that the above Prerequisites have been met.
  2. Within the unzipped Cisco IMM Automation Tools repository, navigate to the folder \src\deployment_tools\ucs_server_deployment_tool.
  3. Edit the ucs_server_deployment_tool.py file to set the key_id variable using the following instructions:

    (a). Open the ucs_server_deployment_tool.py file in an IDLE or text editor of choice.

    (b). Find the comment # MODULE REQUIREMENT 1 #.

    Figure 9 - MODULE REQUIREMENT 1 location

    (c). Underneath, you will find the variable key_id. The variable is currently empty.

    Figure 10 - key_id variable location

    (d). Fill in between the quotes of the key_id variable value with the ID of your API key. For example:

       key_id = "5c89885075646127773ec143/5c82fc477577712d3088eb2f/5c8987b17577712d302eaaff"
    
  4. Edit the ucs_server_deployment_tool.py file to set the key variable using the following instructions:

    (a). Open the ucs_server_deployment_tool.py file in an IDLE or text editor of choice.

    (b). Find the comment # MODULE REQUIREMENT 2 #.

    Figure 11 - MODULE REQUIREMENT 2 location

    (c). Underneath, you will find the variable key. The variable is currently empty.

    Figure 12 - key variable location

    (d). Fill in between the quotes of the key variable value with your system’s file path to the SecretKey.txt file for your API key. For example:

       key = "C:\\Keys\\Key1\\SecretKey.txt"
    
  5. Edit the ucs_server_deployment_tool.py file to set all the configuration variable values using the following instructions:

    (a). Open the ucs_server_deployment_tool.py file in an IDLE or text editor of choice.

    (b). Find the comment # MODULE REQUIREMENT 3 #.

    Figure 13 - MODULE REQUIREMENT 3 location

    (c). Underneath, you will find the instructions to edit the configuration variable values to match your environment. Each variable has a sample value for ease of use. The variable values to edit begin under the comment ####### Start Configuration Settings - Provide values for the variables listed below. #######.

    Figure 14 - Start Configuration Settings location

    Completion of editing the configuration variable values is marked by the comment ####### Finish Configuration Settings - The required value entries are complete. #######.

    Figure 15 - Finish Configuration Settings location

  6. Save the changes you have made to the ucs_server_deployment_tool.py file.
  7. Run the ucs_server_deployment_tool.py file.

Where to Demo

The UCS Server Deployment Tool can be demoed on Cisco dCloud in the following content:

  1. Cisco Intersight with UCS X-Series Demo Cisco UCS X-Series Demo Topology

  2. Cisco Intersight with UCS X-Series Lab Cisco UCS X-Series Lab Topology

dCloud is available at https://dcloud.cisco.com, where Cisco product demonstrations and labs can be found in the Catalog.

Author

Ugo Emekauwa

Contact Information

uemekauw@cisco.com or uemekauwa@gmail.com