The SeaMicro power driver enables you to take advantage of power cycle management of servers (nodes) within the SeaMicro chassis. The SeaMicro driver is targeted for SeaMicro Fabric Compute systems.
python-seamicroclient is a python package which contains a set of modules for managing SeaMicro Fabric Compute systems.
Install python-seamicroclient [1] module on the Ironic conductor node. Minimum version required is 0.4.0.:
$ pip install "python-seamicroclient>=0.4.0"
pxe_seamicro driver uses PXE/iSCSI (just like pxe_ipmitool driver) to deploy the image and uses SeaMicro to do all management operations on the baremetal node (instead of using IPMI).
This driver works on SeaMicro Fabric Compute system. It has been tested with the following servers:
None.
Build or download a deploy image, see Building or downloading a deploy ramdisk image
Upload these images to Glance:
glance image-create --name deploy-ramdisk.kernel --disk-format aki --container-format aki < deploy-ramdisk.kernel
glance image-create --name deploy-ramdisk.initramfs --disk-format ari --container-format ari < deploy-ramdisk.initramfs
Add pxe_seamicro to the list of enabled_drivers in /etc/ironic/ironic.conf. For example:
enabled_drivers = pxe_ipmitool,pxe_seamicro
Restart the Ironic conductor service:
service ironic-conductor restart
Nodes configured for SeaMicro driver should have the driver property set to pxe_seamicro. The following configuration values are also required in driver_info:
The following sequence of commands can be used to enroll a SeaMicro node and boot an instance on it:
Create nova baremetal flavor corresponding to SeaMicro server’s config:
nova flavor-create baremetal auto <memory_size_in_MB> <disk_size_in_GB> <number_of_cpus>Create Node:
ironic node-create -d pxe_seamicro -i seamicro_api_endpoint=https://<seamicro_ip_address>/ -i seamicro_server_id=<seamicro_server_id> -i seamicro_username=<seamicro_username> -i seamicro_password=<seamicro_password> -i seamicro_api_version=<seamicro_api_version> -i seamicro_terminal_port=<seamicro_terminal_port> -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>Associate port with the node created:
ironic port-create -n $NODE -a <MAC_address_of_SeaMicro_server's_NIC>Associate properties with the flavor:
nova flavor-key baremetal set "cpu_arch"=<cpu_arch>Boot the Instance:
nova boot --flavor baremetal --image test-image instance-1
[1] | Python-seamicroclient - https://pypi.python.org/pypi/python-seamicroclient |
[2] | DiskImage-Builder - https://github.com/openstack/diskimage-builder |