The UCS to Ironic key mapping for supported boot devices was changed in UcsSdk v0.8.2.2. As a result of that, UCS drivers are failing while looking at the UCS to Ironic mapping devices dict. This change would address this problem. Change-Id: Id86c4e2a7dfde552f808fcf83baba4097d9fd0c5 Closes-Bug: #1478452
3.0 KiB
UCS drivers
Overview
The UCS driver is targeted for UCS Manager managed Cisco UCS B/C series servers. The pxe_ucs, agent_ucs drivers enables you to take advantage of UCS Manager by using the python SDK.
pxe_ucs
driver uses PXE/iSCSI (just like
pxe_ipmitool
driver) to deploy the image and uses UCS to do
all management operations on the baremetal node (instead of using
IPMI).
agent_ucs
driver uses IPA ramdisk (just like
agent_ipmitool
and agent_ipminative
drivers.)
to deploy the image and uses UCS to do all management operations on the
baremetal node (instead of using IPMI).
Prerequisites
UcsSdk
is a python package version of XML API sdk available to to manage Cisco UCS Managed B/C-series servers.Install
UcsSdk
1 module on the Ironic conductor node. Required version is 0.8.2.2:$ pip install "UcsSdk==0.8.2.2"
Tested Platforms
This driver works on Cisco UCS Manager Managed B/C-series servers. It has been tested with the following servers:
UCS Manager version: 2.2(1b), 2.2(3d).
- UCS B22M, B200M3
- UCS C220M3.
All the Cisco UCS B/C-series servers managed by UCSM 2.1 or later are supported by this driver.
Configuring and Enabling the driver
Add
pxe_ucs
and/oragent_ucs
to the list ofenabled_drivers
in/etc/ironic/ironic.conf
. For example:enabled_drivers = pxe_ipmitool,pxe_ucs,agent_ucs
Restart the Ironic conductor service:
service ironic-conductor restart
Registering UCS node in Ironic
Nodes configured for UCS driver should have the driver
property set to pxe_ucs/agent_ucs
. The following
configuration values are also required in driver_info
:
ucs_hostname
: IP address or hostname of the UCS Managerucs_username
: UCS Manager login user name with administrator or-
server_profile privileges.
ucs_password
: UCS Manager login password for the above UCS Manager user.deploy_kernel
: The Glance UUID of the deployment kernel.deploy_ramdisk
: The Glance UUID of the deployment ramdisk.ucs_service_profile
: Distinguished name(DN) of service_profile being enrolled.
The following sequence of commands can be used to enroll a UCS node.
Create Node:
ironic node-create -d <pxe_ucs/agent_ucs> -i ucs_hostname=<UCS Manager hostname/ip-address> -i ucs_username=<ucsm_username> -i ucs_password=<ucsm_password> -i ucs_service_profile=<serivce_profile_dn_being_enrolled> -i deploy_kernel=<glance_uuid_of_deploy_kernel> -i deploy_ramdisk=<glance_uuid_of_deploy_ramdisk> -p cpus=<number_of_cpus> -p memory_mb=<memory_size_in_MB> -p local_gb=<local_disk_size_in_GB> -p cpu_arch=<cpu_arch>
The above command 'ironic node-create' will return UUID of the node, which is the value of $NODE in the following command.
Associate port with the node created:
ironic port-create -n $NODE -a <MAC_address_of_Ucs_server's_NIC>