iLO IPA Deploy Driver¶
Add ability to provision proliant baremetal nodes (having iLO4 and beyond) by booting the baremetal node with virtual media and using IPA to deploy the image.
IPA project provides a more powerful ramdisk for doing deploy from the conductor node. But IPA has the following issues:
Some customers don’t prefer PXE protocol in their environment because of the following issues:
PXE uses TFTP to transfer the files which is unreliable because it uses UDP.
PXE is not suited for some network topologies where the relaying of PXE requests might be required in routers to enable PXE working for the whole network.
Deployers require an extra tftp service to be running on the conductor node.
Currently the admin token required to call node’s vendorpassthru cannot be transmitted securely to the baremetal node.
The below review introduced a new mechanism for booting proliant machines with virtual media. http://specs.openstack.org/openstack/ironic-specs/specs/juno/ironic-ilo-virtualmedia-driver.html
setup_virtual_media_boot introduced in the above review can be
used to boot up a baremetal node with the deploy ISO image. A new class
IloVirtualMediaAgentDeploy can be added which will setup the machine to
be booted with virtual media instead of PXE.
The vendor interface
AgentVendorInterface can be reused to continue the
deploy and complete it.
This change will also enable the admin token to be handed off securely to the baremetal node through OOB channel over virtual media.
The proliant machines can continue to work booting the agent ramdisk with PXE.
Data model impact¶
One new parameter
deploy_iso will be used in driver_info to boot up the
node for deploy.
deploy_iso will contain the glance UUID of bootable
ISO built with agent ramdisk.
REST API impact¶
Driver API impact¶
Nova driver impact¶
Other end user impact¶
Other deployer impact¶
This method of deploy no longer requires an extra service (like tftp service in case of pxe driver) to be running on the conductor node.
- Primary assignee:
IloVirtualMediaAgentDeploywhich implements base.DeployInterface.
Unit tests will be added for all the code. Tempest tests for this will be considered later.
The procedure for configuring the proliant baremetal node will need to be documented. This will be documented in rst format in doc/ directory in ironic source tree. The contents of this file can be put in ironic wiki as well.