Updated bare-metal provisioning framework.

Part 4 of 7: blueprint general-bare-metal-provisioning-framework.

New Baremetal driver is implemented in this patch.

This patch does not include Tilera or PXE back-ends, which will be
provided by subsequent patches.

With this driver, nova compute registers multiple entries of baremetal
nodes. It periodically updates the capabilities of the multiple bare-metal
nodes and reports it as a list of capabilities.

Change-Id: I55617a8da52d20d4df727b8bbde8e5f72d3bf130
Co-authored-by: Mikyung Kang <mkkang@isi.edu>
Co-authored-by: David Kang <dkang@isi.edu>
Co-authored-by: Ken Igarashi <igarashik@nttdocomo.co.jp>
Co-authored-by: Arata Notsu <notsu@virtualtech.jp>
Add Tilera back-end for baremetal

Part 7 of 7:  blueprint general-bare-metal-provisioning-framework.

Baremetal driver back-end for Tilera / TilePro.

Co-authored-by: Mikyung Kang <mkkang@isi.edu>
Co-authored-by: David Kang <dkang@isi.edu>
Co-authored-by: Ken Igarashi <igarashik@nttdocomo.co.jp>
Co-authored-by: Arata Notsu <notsu@virtualtech.jp>
DocImpact: adds bare-metal-tilera docs

Change-Id: I022095f1657a25004d136b0b114b8f193750e5d7
Added pxe back-end bare-metal.

Part 5 of 6: blueprint general-bare-metal-provisioning-framework.

This patch includes only PXE back-end with IPMI.
The documents describe how to install and configure bare-metal
nova-compute to support PXE back-end nodes.
It includes the packages needed for installation, how to create
a bare-metal instance type, how to register bare-metal nodes and NIC,
and how to run an instance. Nova flags for the configuration of
bare-metal nova-compute are described.

Change-Id: I6358e5ede094b4d887d15913b19f877169a0f99c
Co-authored-by: Mikyung Kang <mkkang@isi.edu>
Co-authored-by: David Kang <dkang@isi.edu>
Co-authored-by: Ken Igarashi <igarashik@nttdocomo.co.jp>
Co-authored-by: Arata Notsu <notsu@virtualtech.jp>
DocImpact: adds bare-metal-pxe docs
Change baremetal driver to read from _extra_specs

Change virt/baremetal/pxe.py to read the deploy kernel and ramdisk IDs
from instance_type_extra_specs, instead of image meta-data, now that
that information is being supplied in the instance object.

blueprint general-bare-metal-provisioning-framework

Change-Id: I388d16c6f287abc11e354c49eca3b9bd8c6fd04c
A script for bare-metal node management.

Part 3 of 6: blueprint general-bare-metal-provisioning-framework.

nova-baremetal-manage:
This script allows the system administrator to manage bare-metal nodes.
Bare-metal node creation/deletion, PXE ip address creation/listing,
bare-metal interface creation/deletion/list,
and other routines are implemented.
The script manipulate bare-metal DB accordingly.

Change-Id: Ia19ce00edb84aa924c2ab2c9c2217f6b49073d69
Co-authored-by: Mikyung Kang <mkkang@isi.edu>
Co-authored-by: David Kang <dkang@isi.edu>
Co-authored-by: Ken Igarashi <igarashik@nttdocomo.co.jp>
Co-authored-by: Arata Notsu <notsu@virtualtech.jp>
PXE bare-metal provisioning helper server

a part of blueprint general-bare-metal-provisioning-framework.

nova-baremetal-deploy-helper:
This script runs a http server that writes image to a bare-metal
node's disk in PXE-provisioning.

Change-Id: I0a1b020cc5f81d49559acd4dcc781397a58e2c01
Co-authored-by: Mikyung Kang <mkkang@isi.edu>
Co-authored-by: David Kang <dkang@isi.edu>
Co-authored-by: Ken Igarashi <igarashik@nttdocomo.co.jp>
Co-authored-by: Arata Notsu <notsu@virtualtech.jp>
minor fixes for baremetal PXE/IPMI issues

- add _set_pxe_for_next_boot
- change fdisk commands

Change-Id: Ib58e0e76feb4a451b7ec1e1c70f582bd69e97705