Update API document with BootDevice

This patch adds description about above BootDevice Web APIs.
* GET v1/nodes/(node_uuid)/management/boot_device
* GET v1/nodes/(node_uuid)/management/boot_device/supported
* PUT v1/nodes/(node_uuid)/management/boot_device

Change-Id: I2826e59332102b258b72e9850baa1a6b0d189f79
Fix unit tests with keystoneclient master

This patch in python-keystoneclient breaks unit tests in Ironic:
https://review.openstack.org/#/c/113712/

If admin_user is not passed to keystoneclient, an exception is
raised.

This patch overrides config for admin_user in Ironic's unit tests
to get around this behavior.

Closes-Bug: 1362280
Change-Id: I3a21e7c1b3a87ebee5a0e81f805f50919ef6a6d5
Updated from global requirements

Change-Id: I6e4171d5de1fdfaebdc32aca5d8cd30538711ce3
Merge "Update API document with BootDevice"
Script to migrate Nova BM data to Ironic

This adds the ironic-nova-bm-migrate script which can be used to migrate
node and interface data as well as associated configuration from a
nova-baremetal environment to Ironic.  It requires access to both databases
as well as the Nova configuration file.

Change-Id: I231730ad3e2cb289512c1f1166d4cef3358939f8
Co-authored-by: Adam Gandelman <adamg@ubuntu.com>
Merge "Fix unit tests with keystoneclient master"
Merge "Updated from global requirements"
Merge "Script to migrate Nova BM data to Ironic"
Remove futures from requirements

Remove futures from requirements because this library
not used in Ironic (needed for abandoned 63904).

Change-Id: I9cb121f6ba878a9ff0639cfeb10c9b1f32d8718a
DRAC wsman_{enumerate, invoke}() to return an ElementTree object

Before the method Client.wsman_enumerate() from the DRAC driver was
returning a list of XMLs, this commit changes that behavior and instead
of returning a list it will now merge all the XMLs into one and return
the result ElementTree object to facilitate the manipulation of that
XML on the other end.

Related: blueprint drac-management-driver
Change-Id: I0e662794afe933ef57268aba975aec1fbed70846
Make DHCP provider pluggable

Previously, all dhcp was done explicitly through Neutron.  This commit
adds an interface for dhcp providers, currently implemented by a
Neutron provider and a noop provider.

The provider can be set in the dhcp_provider config option, and
defaults to neutron.

Co-Authored-By: Jim Rollenhagen <jim@jimrollenhagen.com>
Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Implements: blueprint support-external-dhcp
Closes-Bug: #1282168
Change-Id: I7eea490c573914c6cd2a73056fe3a0ec91065dc0
Merge "Make DHCP provider pluggable"
Rewrite images tests with mock

test_images module was using fixtures to test ironic.common.images
module. Mock is now used instead. New tests added. fetch_to_raw is
not tested as it is going to be removed as mentioned here:
https://review.openstack.org/#/c/115974/

Change-Id: Id931b6d9cc1213f1347a9324510580e14c601412
Closes-bug: #1361672
Merge "Rewrite images tests with mock"
Merge "Remove futures from requirements"
IloVirtualMediaIscsi deploy driver

This commit introduces a new deploy driver which uses iLO virtual
media to boot up proliant baremetal nodes, and uses iSCSI to deploy
the baremetal nodes.

Change-Id: I98f47ed6082a3a28fce3148f6d5177cdb5c61881
Implements: blueprint ironic-ilo-virtualmedia-driver
IloVirtualMediaAgent deploy driver

This commit introduces a new deploy driver which uses iLO virtual
media to boot up proliant baremetal nodes, and uses agent to deploy
the baremetal nodes.

Change-Id: Ia5677dff294bc146b864bed180fbda939cf9bb38
Implements: blueprint ilo-virtualmedia-ipa