A bump of the required python-oneviewclient version and docs update regarding the use of Server Profile Templates. Co-Authored-By: Sinval Vieira <sinvalneto01@gmail.com> Change-Id: Icfef11c4953523b993631bc798efd2cfebcbe5f8
7.6 KiB
OneView drivers
Overview
HP OneView1 is a single integrated platform,
packaged as an appliance that implements a software-defined approach to
managing physical infrastructure. The appliance supports scenarios such
as deploying bare metal servers, for instance. In this context, the
HP OneView driver
for Ironic enables the users of OneView
to use Ironic as a bare metal provider to their managed physical
hardware.
Currently there are two OneView drivers:
iscsi_pxe_oneview
agent_pxe_oneview
The iscsi_pxe_oneview
and agent_pxe_oneview
drivers implement the core interfaces of an Ironic Driver2,
and use the python-oneviewclient
3 to
provide communication between Ironic and OneView through OneView's Rest
API.
To provide a bare metal instance there are four components involved in the process:
- Ironic service
- python-oneviewclient
- OneView appliance
- iscsi_pxe_oneview/agent_pxe_oneview driver
The role of Ironic is to serve as a bare metal provider to OneView's
managed physical hardware and to provide communication with other
necessary OpenStack services such as Nova and Glance. When Ironic
receives a boot request, it works together with the Ironic OneView
driver to access a machine in OneView, the
python-oneviewclient
being responsible for the
communication with the OneView appliance.
Prerequisites
The following requirements apply for both
iscsi_pxe_oneview
and agent_pxe_oneview
drivers:
OneView appliance
is the HP physical infrastructure manager to be integrated with the OneView drivers.Minimum version supported is 2.0.
python-oneviewclient
is a python package containing a client to manage the communication between Ironic and OneView.Install the
python-oneviewclient
module to enable the communication. Minimum version required is 2.0.1.:$ pip install "python-oneviewclient>=2.0.1"
Tested platforms
- The OneView appliance used for testing was the OneView 2.0.
- The Enclosure used for testing was the
BladeSystem c7000 Enclosure G2
. - The drivers should work on HP Proliant Gen8 Servers supported by
OneView 2.0 and above. It has been tested with the following servers:
- Proliant BL460c Gen8
- Proliant BL465c Gen8
Drivers
iscsi_pxe_oneview driver
Overview
iscsi_pxe_oneview
driver uses PXEBoot for boot and
ISCSIDeploy for deploy.
Configuring and enabling the driver
Add
iscsi_pxe_oneview
to the list ofenabled_drivers
in/etc/ironic/ironic.conf
. For example:enabled_drivers = iscsi_pxe_oneview
Update the [oneview] section of your
ironic.conf
file with your OneView credentials and CA certificate files information.Restart the Ironic conductor service. For Ubuntu users, do:
$ sudo service ironic-conductor restart
See4 for more information.
Deploy process
Here is an overview of the deploy process for this driver:
- Admin configures the Proliant baremetal node to use
iscsi_pxe_oneview
driver. - Ironic gets a request to deploy a Glance image on the baremetal node.
- Driver sets the boot device to PXE.
- Driver powers on the baremetal node.
- Ironic downloads the deploy and user images from a TFTP server.
- Driver reboots the baremetal node.
- User image is now deployed.
- Driver powers off the machine.
- Driver sets boot device to Disk.
- Driver powers on the machine.
- Baremetal node is active and ready to be used.
agent_pxe_oneview driver
Overview
agent_pxe_oneview
driver uses PXEBoot for boot and
AgentDeploy for deploy.
Configuring and enabling the driver ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add
agent_pxe_oneview
to the list ofenabled_drivers
in/etc/ironic/ironic.conf
. For example:enabled_drivers = fake,pxe_ssh,pxe_ipmitool,agent_pxe_oneview
Update the [oneview] section of your
ironic.conf
file with your OneView credentials and CA certificate files information.Restart the Ironic conductor service. For Ubuntu users, do:
$ service ironic-conductor restart
See5 for more information.
Deploy process
Here is an overview of the deploy process for this driver:
- Admin configures the Proliant baremetal node to use
agent_pxe_oneview
driver. - Ironic gets a request to deploy a Glance image on the baremetal node.
- Driver sets the boot device to PXE.
- Driver powers on the baremetal node.
- Node downloads the agent deploy images.
- Agent downloads the user images and writes it to disk.
- Driver reboots the baremetal node.
- User image is now deployed.
- Driver powers off the machine.
- Driver sets boot device to Disk.
- Driver powers on the machine.
- Baremetal node is active and ready to be used.
Registering a OneView node in Ironic
Nodes configured to use any of the OneView drivers should have the
driver
property set to iscsi_pxe_oneview
or
agent_pxe_oneview
. Considering our context, a node is the
representation of a Server Hardware
in OneView, and should
be consistent with all its properties and related components, such as
Server Hardware Type
, Server Profile Template
,
Enclosure Group
, etc. In this case, to be enrolled, the
node must have the following parameters:
- In
driver_info
server_hardware_uri
: URI of the Server Hardware on OneView.
- In
properties/capabilities
server_hardware_type_uri
: URI of the Server Hardware Type of the Server Hardware.server_profile_template_uri
: URI of the Server Profile Template used to create the Server Profile of the Server Hardware.enclosure_group_uri
(optional): URI of the Enclosure Group of the Server Hardware.
To enroll a node with any of the OneView drivers, do:
$ ironic node-create -d $DRIVER_NAME
To update the driver_info
field of a newly enrolled
OneView node, do:
$ ironic node-update $NODE_UUID add \
driver_info/server_hardware_uri=$SH_URI
To update the properties/capabilities
namespace of a
newly enrolled OneView node, do:
$ ironic node-update $NODE_UUID add \
properties/capabilities=server_hardware_type_uri:$SHT_URI,enclosure_group_uri:$EG_URI,server_profile_template_uri=$SPT_URI
In order to deploy, a Server Profile consistent with the Server
Profile Template of the node MUST be applied to the Server Hardware it
represents. Server Profile Templates and Server Profiles to be utilized
for deployments MUST have configuration such that its first
Network Interface boot
property is set to
"Primary" and connected to Ironic's provisioning network.
To tell Ironic which NIC should be connected to the provisioning network, do:
$ ironic port-create -n $NODE_UUID -a $MAC_ADDRESS
For more information on the enrollment process of an Ironic node, see6.
For more information on the definitions of
Server Hardware
, Server Profile
,
Server Profile Template
and many other OneView entities,
see7 or browse Help in your OneView
appliance menu.
References
HP OneView - http://www8.hp.com/us/en/business-solutions/converged-systems/oneview.html↩︎
Driver interfaces - http://docs.openstack.org/developer/ironic/dev/architecture.html#drivers↩︎
python-oneviewclient - https://pypi.python.org/pypi/python-oneviewclient↩︎
Ironic install guide - http://docs.openstack.org/developer/ironic/deploy/install-guide.html#installation-guide↩︎
Ironic install guide - http://docs.openstack.org/developer/ironic/deploy/install-guide.html#installation-guide↩︎
Enrollment process of a node - http://docs.openstack.org/developer/ironic/deploy/install-guide.html#enrollment-process↩︎
HP OneView - http://www8.hp.com/us/en/business-solutions/converged-systems/oneview.html↩︎