.. _baremetal:

.. highlight: ini
   :linenothreshold:

==========
Bare Metal
==========

The Bare Metal service provides physical hardware management features.

Introduction
~~~~~~~~~~~~

The Bare Metal service provides physical hardware as opposed to
virtual machines and provides several reference drivers which
leverage common technologies like PXE and IPMI, to cover a wide range
of hardware. The pluggable driver architecture also allows
vendor-specific drivers to be added for improved performance or
functionality not provided by reference drivers. The Bare Metal
service makes physical servers as easy to provision as virtual
machines in a cloud, which in turn will open up new avenues for
enterprises and service providers.

System architecture
~~~~~~~~~~~~~~~~~~~

The Bare Metal module is composed of the following components:

#. A RESTful API service

#. A conductor service

#. Various drivers that support heterogeneous hardware

#. A message queue

#. A database for storing information about the resources

.. TODO Add the detail about each component.

Bare Metal deployment
~~~~~~~~~~~~~~~~~~~~~

#. PXE deploy process

#. Agent deploy process

.. TODO Add the detail about the process of Bare Metal deployment.

.. _baremetal:

.. highlight: ini
   :linenothreshold:

==========
Bare Metal
==========

The Bare Metal service provides physical hardware management features.

Introduction
~~~~~~~~~~~~

The Bare Metal service provides physical hardware as opposed to
virtual machines and provides several reference drivers which
leverage common technologies like PXE and IPMI, to cover a wide range
of hardware. The pluggable driver architecture also allows
vendor-specific drivers to be added for improved performance or
functionality not provided by reference drivers. The Bare Metal
service makes physical servers as easy to provision as virtual
machines in a cloud, which in turn will open up new avenues for
enterprises and service providers.

System architecture
~~~~~~~~~~~~~~~~~~~

The Bare Metal module is composed of the following components:

#. A RESTful API service

#. A conductor service

#. Various drivers that support heterogeneous hardware

#. A message queue

#. A database for storing information about the resources

.. TODO Add the detail about each component.

Bare Metal deployment
~~~~~~~~~~~~~~~~~~~~~

#. PXE deploy process

#. Agent deploy process

.. TODO Add the detail about the process of Bare Metal deployment.

Use Bare Metal
~~~~~~~~~~~~~~

#. Install Bare Metal service.

#. Setup Bare Metal driver in the compute node's :file:`nova.conf`.

#. Setup TFTP folder and prepare PXE boot loader file.

#. Prepare the baremetal flavor.

#. Register the nodes with correct drivers.

#. Configure the driver information.

#. Register the ports information.

#. Use nova boot to kick off the baremetal provision.

#. Check nodes' provision state and power state.

.. TODO Add the detail command line later on.

Add how to use in Ironic Section
Add how to use in Ironic Section

Since Ironic is an integration project now. We should add one section
about it in Admin guide.
This commit is part of the bugfix since adding the whole section is
huge. This one is to add the sequence of how to use Ironic.

Change-Id: I35176fcec960110bfe62c68251a1dfd5d0d828cf
Partial-Bug: #1495898
