Merge "Add OneView driver documentation"
This commit is contained in:
commit
93f5a12a99
@ -114,3 +114,12 @@ CIMC driver
|
|||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
../drivers/cimc
|
../drivers/cimc
|
||||||
|
|
||||||
|
|
||||||
|
OneView driver
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
../drivers/oneview
|
||||||
|
225
doc/source/drivers/oneview.rst
Normal file
225
doc/source/drivers/oneview.rst
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
.. _oneview:
|
||||||
|
|
||||||
|
===============
|
||||||
|
OneView drivers
|
||||||
|
===============
|
||||||
|
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
HP OneView [1]_ 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 Driver [2]_, 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
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
1. Add ``iscsi_pxe_oneview`` to the list of ``enabled_drivers`` in
|
||||||
|
``/etc/ironic/ironic.conf``. For example::
|
||||||
|
|
||||||
|
enabled_drivers = iscsi_pxe_oneview
|
||||||
|
|
||||||
|
2. Update the [oneview] section of your ``ironic.conf`` file with your
|
||||||
|
OneView credentials and CA certificate files information.
|
||||||
|
|
||||||
|
3. Restart the Ironic conductor service. For Ubuntu users, do::
|
||||||
|
|
||||||
|
$ sudo service ironic-conductor restart
|
||||||
|
|
||||||
|
See [5]_ for more information.
|
||||||
|
|
||||||
|
Deploy process
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Here is an overview of the deploy process for this driver:
|
||||||
|
|
||||||
|
1. Admin configures the Proliant baremetal node to use ``iscsi_pxe_oneview``
|
||||||
|
driver.
|
||||||
|
2. Ironic gets a request to deploy a Glance image on the baremetal node.
|
||||||
|
3. Driver sets the boot device to PXE.
|
||||||
|
4. Driver powers on the baremetal node.
|
||||||
|
5. Ironic downloads the deploy and user images from a TFTP server.
|
||||||
|
6. Driver reboots the baremetal node.
|
||||||
|
7. User image is now deployed.
|
||||||
|
8. Driver powers off the machine.
|
||||||
|
9. Driver sets boot device to Disk.
|
||||||
|
10. Driver powers on the machine.
|
||||||
|
11. 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
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
1. Add ``agent_pxe_oneview`` to the list of ``enabled_drivers`` in
|
||||||
|
``/etc/ironic/ironic.conf``. For example::
|
||||||
|
|
||||||
|
enabled_drivers = fake,pxe_ssh,pxe_ipmitool,agent_pxe_oneview
|
||||||
|
|
||||||
|
2. Update the [oneview] section of your ``ironic.conf`` file with your
|
||||||
|
OneView credentials and CA certificate files information.
|
||||||
|
|
||||||
|
3. Restart the Ironic conductor service. For Ubuntu users, do::
|
||||||
|
|
||||||
|
$ service ironic-conductor restart
|
||||||
|
|
||||||
|
See [5]_ for more information.
|
||||||
|
|
||||||
|
Deploy process
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Here is an overview of the deploy process for this driver:
|
||||||
|
|
||||||
|
1. Admin configures the Proliant baremetal node to use ``agent_pxe_oneview``
|
||||||
|
driver.
|
||||||
|
2. Ironic gets a request to deploy a Glance image on the baremetal node.
|
||||||
|
3. Driver sets the boot device to PXE.
|
||||||
|
4. Driver powers on the baremetal node.
|
||||||
|
5. Node downloads the agent deploy images.
|
||||||
|
6. Agent downloads the user images and writes it to disk.
|
||||||
|
7. Driver reboots the baremetal node.
|
||||||
|
8. User image is now deployed.
|
||||||
|
9. Driver powers off the machine.
|
||||||
|
10. Driver sets boot device to Disk.
|
||||||
|
11. Driver powers on the machine.
|
||||||
|
12. 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.
|
||||||
|
- ``server_profile_template_uri``: URI of the Server Profile Template used
|
||||||
|
to create the Server Profile of the Server Hardware.
|
||||||
|
|
||||||
|
* In ``properties/capabilities``
|
||||||
|
|
||||||
|
- ``server_hardware_type_uri``: URI of the Server Hardware Type 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 \
|
||||||
|
driver_info/server_profile_template_uri=$SPT_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
|
||||||
|
|
||||||
|
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 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, see [4]_.
|
||||||
|
|
||||||
|
For more information on the definitions of ``Server Hardware``,
|
||||||
|
``Server Profile``, ``Server Profile Template`` and many other OneView
|
||||||
|
entities, see [1]_ or browse Help in your OneView appliance menu.
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
.. [1] HP OneView - http://www8.hp.com/us/en/business-solutions/converged-systems/oneview.html
|
||||||
|
.. [2] Driver interfaces - http://docs.openstack.org/developer/ironic/dev/architecture.html#drivers
|
||||||
|
.. [3] python-oneviewclient - https://pypi.python.org/pypi/python-oneviewclient
|
||||||
|
.. [4] Enrollment process of a node - http://docs.openstack.org/developer/ironic/deploy/install-guide.html#enrollment-process
|
||||||
|
.. [5] Ironic install guide - http://docs.openstack.org/developer/ironic/deploy/install-guide.html#installation-guide
|
Loading…
Reference in New Issue
Block a user