UCS Base Configuration Builder PowerShell Script

File one is Data-Blank.ps1 and this is a worksheet to fill out with all the basic requirements for your UCS deployment.

File two is UCS Base Configuration v0.9.17.ps1 which connects to the Data-<yourUCS>.ps1 file and then configures your UCS system with all the standard parameters needed to build service profiles.

The third is a sample Data-Laptop.ps1 file to give you good examples for your deployment. I use this one on my UCS emulator on my laptop. You will just need to make minor changes to the IP addressing info to match your emulator or system to test.

The fourth is a customization script template. It allows someone with advanced PowerShell/PowerTool knowledge to customize their install after the base script has run.

There is a readme file in the ZIP will provide more information. The script contains many of my 'best practices' and can be adjusted or customized for your needs. After filling out the data file it generally takes only a few minutes (between 2:30 and 15 minutes) for the script to completely run and configure your UCS.

The script does the following:

Configures equipment policies

Configures server, uplink and FC ports

Creates port-channels if used for LAN and SAN

Set VLAN and VSAN information

Set's up all Pools, Policies and Templates required to run a UCS

Builds a series of Service Profile Templates using created pools, policies and templates

Upon completion there should be very little customization required to get your system running. If there is, the customization script feature can automate those changes.

The script contains the concept of a UCS Domain ID. This concept is a two digit hexadecimal number that uniquely represents a UCS system. It is used to make UUID, MAC, WWPN, WWNN, IQN pools unique and non-overlapping between multiple UCS systems.

The benefit of this script is rapid and consistent provisioning of new UCS deployments.

Let me know if you have any problems, questions or recommendations for changes

Change_Log:

v0.9 - Added Support for Rack Mount Servers under UCSM

v0.9.01 - Added support for LAN and SAN Port Channels

v0.9.02 - Added tons of customizations and better flow and documentation in the answer file (Data-) along with a sample config

v0.9.07 - Added the ability to modify the format for the pools. This requires using the latest script and data file attached. Also added the ability to add notes to the data file which will appear as the script finishes. These can be helpful to remind you of special settings to make to UCSM that are outside the scope of this script.

v0.9.08 - Added the ability to run a customization script called from the data file to execute special settings on your UCSM.

v0.9.09 - Added custom background color and coloring in the script to make it more readable. Fixed typo in answer file. Added readme file to ZIP. Added information to the script to help the user understand the script.

v0.9.11 - Validated that you were running at least PowerShell v3 for the script to function

v0.9.12 - Fixed issue with waiting for FI's or Modules to reboot after universal ports converted from Ethernet to Fibre Channel

v0.9.13 - Tested on UCSM 2.1 and 2.2. Added new features for UCSM 2.2. RAID50, RAID60, UDLD and DIMM Blacklisting

v0.9.14 - Rolled back support for UCSM 2.2 building UDLD, RAID50 and RAID60 as a new PowerTool is required. Does configure DIMM blacklisting. Added checks for UCSM 2.2 to not try to put 2.2 features into 2.1. Checks PowerTool version to make sure minimum for 2.1 UCSM support. Create new BIOS policy called "Performance" that has highest performance CPU settings. It is not applied to Service Profile Templates though as "Basic" is the default.

v0.9.15 - Cleaned up a few minor parsing errors, Changed default BIOS policy from Basic to Performance and Adjusted script to be able to handle non-failover NICs that share VLANs. Examples for this final feature are in the sample answer files.

v0.9.16 - Added support for a single fabric deployment with a single Fabric Interconnect and single IOMs. Added delay for re-login to validate that UCSM is up.

v0.9.17 - Fixed issue with single FI check. Adjusted delay for re-login when system is a UCS emulator to speed up testing

v0.9.19 - Fixed issue with mgmt. pools failing to create due to non-default subnet mask (255.255.255.0). Added option to add Subnet Masks to iSCSI IP Pools. If you are using an older answer file the system will use 255.255.255.0.

Sorry I didn't see your note earlier. You can modify the script without issue. It does work great to configure a UCSPE. But when you say that you want to 'start' the UCSPE it makes me think you are looking to manage the UCSPE Virtual Machine itself. That's not something this script does and I don't know of a way to do that though.

Can you provide me some more information? I just tested the script in my lab and NTP servers and Timezone properly configured.

Please provide me a snippit of the answer file for the timezone and NTP information. Validate that you are using the latest build script and answer file from communities. Also, what UCS system (Standard, Mini, M-Series) and firmware are you running this against?

I use vRealize Orchestrator to create workflows everyday and was given a task to integrate with UCSC plugin and work on creating VLANs on our B200 M4 blades.I see that there are only a few sample workflows but I have made my way to figuring out some of th...
view more

Hi,
I am very new to UCS SDK. I would like to be able to get a list of valid class ids.
If I do something like this ...
foos = ucsm_handle.query_classid(class_id='foo', filter_str=filter_str)
... I get the error ...
ucsmsdk.ucsexcepti...
view more