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
Nova ironic driver review update requests to p4

In https://review.openstack.org/#/c/111425/7/nova/tests/virt/...
...ironic/test_driver.py it was requested to change the way API
testing was conducted.  In doing this, some slight alterations
have been needed to ensure conformity.

Change-Id: Ia2905e4a8a27ff196198e35d04d0570065d2779d
handle invalid seamicro_api_version

If the value for seamicro_api_version is invalid, seamicro raises
an exception. Instead of the seamicro exception, this patch raises
an InvalidParameterValue exception instead.

Change-Id: I2526304e8aedbf2c2822296e3963462ce980d466
Partial-Bug: #1267693
Update nova driver's power_off() parameters

The nova driver's power_off() function received two new parameters
in commit c07ed15415c0ec3c5862f437f440632eff1e94df (nova).  The
in-tree drivers were all updated.  This updates the Ironic driver
and avoids a traceback during power off.

Change-Id: I0cbe7d954f0bcc16f7249304321a08d457eaba52
Closes-bug: #1359943
Set ssh_virt_type to vmware

Tests for set_boot_device and get_boot_device were incorrectly setting
the ssh_virt_type to vmware, so that it didn't get changed from the
original vbox value. This fixes it.

Change-Id: I66087ddd258852b6c36f5972deae8bde24c69572
Closes-Bug: #1360015
Take iSCSI deploy out of pxe driver

This commit aims at separating the iSCSI deploy portions
from pxe driver so that it can reused in the newly proposed
iLO virtualmedia driver.

Implements: blueprint ironic-ilo-virtualmedia-driver
Change-Id: Id0a4b0fab797c884448a27b1cd5e3a1da05786a7
Add driver name on driver load exception

When non-DriverLoadError exception occurs during driver loading, it is
reraised, providing no information about driver that caused it. In this
patch such exceptions are wrapped in DriverLoadError with driver name
provided and reraised if driver is enabled.

Closes-bug: #1352443
Change-Id: I203618f1c88b940b0122dd1dc204df6325e5e54c
Add management interface for agent drivers

This commit adds management interface for the agent drivers
AgentAndIPMIToolDriver and AgentAndIPMINativeDriver, which is
required for setting boot device.

Change-Id: I90a9277357e490761567b76e13ca33da65ba476d
Closes-Bug: #1360224
Merge "Nova ironic driver review update requests to p4"
Merge "Update nova driver's power_off() parameters"
Add iPXE Installation Guide documentation

Implements: blueprint ipxe-boot
Change-Id: I0b4a14da360225626910429f827399ec6a1a7ada
Merge "Add iPXE Installation Guide documentation"
Set PYTHONHASHSEED for venv tox environment

We're seeing frequent failures of the docs Jenkins job that appear
to be caused by the tox 1.7.2 upgrade and the migration to using
PYTHONHASHSEED=random.  This overrides the environment in the venv
testenv to set PYTHONHASHSEED=0 and allows docs to build
successfully.  Note that we want to run our tests with a random seed
if possible, so this avoids disabling it for the base testenv and
only uses non-random for the testenv used by Jenkins for doc builds.

Change-Id: I665703c9a002500bc90b90cd268bd3ccff4e3534
Closes-bug: 1361295
Merge "Set ssh_virt_type to vmware"
Merge "Set PYTHONHASHSEED for venv tox environment"
Merge "Add driver name on driver load exception"
Merge "Take iSCSI deploy out of pxe driver"
Merge "handle invalid seamicro_api_version"
Merge "Add management interface for agent drivers"
Check ERROR state from driver in _do_sync_power_state

Power driver can returns ERROR state. This error is not checked
in manager._do_sync_power_state.

Partial-Bug: #1358816
Change-Id: I0672da6159252a1a2901f31ae11e2b29bc6147ef