From 919e6744bf9471ef0611cd3baca93dcc62138055 Mon Sep 17 00:00:00 2001 From: Harshada Mangesh Kakad Date: Fri, 21 Nov 2014 04:40:33 -0800 Subject: [PATCH] Add documentation for SeaMicro driver This commit documents the information on enabling and configuring SeaMicro driver. Closes-Bug: #1394918 Change-Id: Ic65557638234bf4cbf404fc6ddf6c2e6288752e2 --- doc/source/deploy/drivers.rst | 8 +++ doc/source/drivers/seamicro.rst | 119 ++++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 doc/source/drivers/seamicro.rst diff --git a/doc/source/deploy/drivers.rst b/doc/source/deploy/drivers.rst index 77ec35cf54..9a2eb8390c 100644 --- a/doc/source/deploy/drivers.rst +++ b/doc/source/deploy/drivers.rst @@ -76,3 +76,11 @@ iLO driver :maxdepth: 1 ../drivers/ilo + +SeaMicro driver +--------------- + +.. toctree:: + :maxdepth: 1 + + ../drivers/seamicro diff --git a/doc/source/drivers/seamicro.rst b/doc/source/drivers/seamicro.rst new file mode 100644 index 0000000000..74cf4343cb --- /dev/null +++ b/doc/source/drivers/seamicro.rst @@ -0,0 +1,119 @@ +.. _SeaMicro: + +=============== +SeaMicro driver +=============== + +Overview +======== +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. + +Prerequisites +============= + +* ``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.2.1.:: + + $ pip install "python-seamicroclient>=0.2.1" + +Drivers +======= + +pxe_seamicro driver +^^^^^^^^^^^^^^^^^^^ + +Overview +~~~~~~~~ +``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). + +Target Users +~~~~~~~~~~~~ +* Users who want to use PXE/iSCSI for deployment in their environment. +* Users who want to use SeaMicro Fabric Compute systems. + +Tested Platforms +~~~~~~~~~~~~~~~~ +This driver works on SeaMicro Fabric Compute system. +It has been tested with the following servers: + +* SeaMicro SM15000-XN +* SeaMicro SM15000-OP + +Requirements +~~~~~~~~~~~~ +None. + +Configuring and Enabling the driver +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1. Prepare an ISO deploy ramdisk image from ``diskimage-builder`` [2]_. + + The below command creates files named ``deploy-ramdisk.kernel`` and + ``deploy-ramdisk.initramfs`` in the current working directory:: + + /bin/ramdisk-image-create -o deploy-ramdisk ubuntu deploy-ironic + +2. 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 + +3. Add ``pxe_seamicro`` to the list of ``enabled_drivers`` in + ``/etc/ironic/ironic.conf``. For example:: + + enabled_drivers = pxe_ipmitool,pxe_seamicro + +4. Restart the Ironic conductor service:: + + service ironic-conductor restart + +Registering SeaMicro node in Ironic +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Nodes configured for SeaMicro driver should have the ``driver`` property set to +``pxe_seamicro``. The following configuration values are also required in +``driver_info``: + +- ``seamicro_api_endpoint``: IP address or hostname of the SeaMicro with valid + URL as http:///v2.0 +- ``seamicro_server_id``: SeaMicro Server ID. Expected format is / +- ``seamicro_username``: SeaMicro Username with administrator privileges. +- ``seamicro_password``: Password for the above SeaMicro user. +- ``pxe_deploy_kernel``: The Glance UUID of the deployment kernel. +- ``pxe_deploy_ramdisk``: The Glance UUID of the deployment ramdisk. +- ``seamicro_api_version``: (optional) SeaMicro API Version defaults to "2". +- ``seamicro_terminal_port``: (optional) Node's UDP port for console access. + Any unused port on the Ironic conductor node may be used. + +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 + + Create Node:: + + ironic node-create -d pxe_seamicro -i seamicro_api_endpoint=https:/// -i seamicro_server_id= -i seamicro_username= -i seamicro_password= -i seamicro_api_version= -i seamicro_terminal_port= -i pxe_deploy_kernel= -i pxe_deploy_ramdisk= -p cpus= -p memory_mb= -p local_gb= -p cpu_arch= + + Associate port with the node created:: + + ironic port-create -n $NODE -a + + Associate properties with the flavor:: + + nova flavor-key baremetal set "cpu_arch"= + + Boot the Instance:: + + nova boot --flavor baremetal --image test-image instance-1 + +References +========== +.. [1] Python-seamicroclient - https://pypi.python.org/pypi/python-seamicroclient +.. [2] DiskImage-Builder - https://github.com/openstack/diskimage-builder