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
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"
Remove gettextutils _ injection

Now that ironic supports oslo.i18n, using the install function to
inject _ into the builtin has been deprecated. New i18n common module
used instead. In one module _ was imported from gettextutils, now
also changed to i18n import.

Closes-bug: #1346406
Change-Id: I672a975d479991982c24031e834a26e2c2811890
Add boot_device support for vbox

In the Ironic ssh driver,
command set of 'set_boot_device' and 'get_boot_device' were not implemented
on VirualBox. This fixes it.

Change-Id: Icd19c7d1b5c11109cb6b400e99a6e7f2baa73d22
Closes-Bug: #1360017
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
Implements the DRAC ManagementInterface for get/set boot device

What it says. The get_sensors_data() won't be implemented as part of
this patch because it's outside the scope of the blueprint.

Co-Authored-By: Imre Farkas <ifarkas@redhat.com>
Implements blueprint drac-management-driver
Change-Id: I9cae3156b6af016bfbf64cb3c117fdec8536f714
Merge "Rewrite images tests with mock"
Avoid deadlock when logging network_info

_plug_vifs() and _unplug_vifs() in driver.py both log network_info

However network_info is not a simple structure, its a reference to
a wrapper class that wraps a green thread for async network
allocation. Accessing network_info forces a wait on the wrapped
thread (if the network allocation has not completed), which can lead
to a deadlock as follows:

Thread 1 (periodic task in Nova) has grabbed the COMPUTE_RESOURCE_SEMAPHORE
in update_available_resource, and is waiting for the IO thread lock in the
logging handle routine

Thread 2 (in the ironic driver) has grabbed the IO thread lock in the logging
handle routine and is waiting for the async network object to be ready so
_str_ can be called to finish formatting the log message

Thread 3 (which is doing the async network object allocation) wants to call
update_usage in the resource tracker, but that needs the
COMPUTE_RESOURCE_SEMAPHORE which is held by the first thread

The problem is similar to https://review.openstack.org/#/c/71409
and the fix is simply to covert network info to a string before the call
to LOG()

Closes-Bug: 1364059
Co-authored-by: Michey Mehta michey.mehta@hp.com

Change-Id: I3b750ac386588d9235ff10a972b3ab1d8f45cf38
Merge "Remove futures from requirements"
Imported Translations from Transifex

Change-Id: I388849268cf7b0044965b56aff01fe1aced04153
Updated from global requirements

Change-Id: I8171038ad7c699137effee153f46e057bd8e3b06
Merge "Remove gettextutils _ injection"
Merge "Implements the DRAC ManagementInterface for get/set boot device"
Update installation guide for syslinux 6

Fedora 21 and the next Ubuntu will have syslinux 6 in them. In syslinux
6 modules are not "stand alone" as it was in versions prior to 4, see:
http://www.syslinux.org/wiki/index.php/Library_modules

Partial-Bug: #1351010
Change-Id: Ie6bb031c10a9f8cf978e2c5dbd643b4a19cc93d0
Merge "Add boot_device support for vbox"
Merge "Check ERROR state from driver in _do_sync_power_state"
Merge "Update installation guide for syslinux 6"