Use my_ip for neutron URL

Currently, neutron URL is set 127.0.0.1 in ironic.conf.
This patch fix this using $my_ip same as other component's URL
(for example glance).

Change-Id: I558fccc74058fcc493cbf52799fe021b12518253
Imported Translations from Transifex

Change-Id: Ib577220a1f86dbf1ac5ef510794b456d1e96f796
Add charset and engine settings to every table

Each MySQL table requires setting a default charset and engine,
otherwise default values are used. It all worked previously because
migration scripts enforce those values to the correct ones. Since
we want to be able to generate the schema from models, those MySQL
specific parameters must be set.

This patch reuses a table_args() function that is already defined.

Closes-bug: #1351431
Change-Id: I3dafed9dfe5042fab1cff2ea029ea62c5e5cbea3
Sync oslo imageutils, strutils to Ironic

Changes in imageutils:
===============================
9e88af1 fixed typos found by RETF rules
b455fac Enable decimal value input in imageutils.QemuImgInfo
bec3a5e Implements SI/IEC unit system conversion to bytes
8b2b0b7 Use hacking import_exceptions for gettextutils._
aad179d Fixing misspelled encryption key in QemuImgInfo
12bcdb7 Remove vim header
2bd46eb Refactors byte size extraction logic
0356685 Adds common image utils

Changes in strutils:
====================
cb5a804 Move `mask_password` to strutils
8a0f567 Remove str() from LOG.* and exceptions
fd18c28 Fix safe_encode(): return bytes on Python 3
302c7c8 strutils: Allow safe_{encode,decode} to take bytes as input
bec3a5e Implements SI/IEC unit system conversion to bytes
e53fe85 strutils bool_from_string, allow specified default
8b2b0b7 Use hacking import_exceptions for gettextutils._
84d461e Fix a bug in safe_encode where it returns a bytes object in py3
12bcdb7 Remove vim header

Change-Id: If0d16d70c004344511b9851c8a533759f0d2bb52
Check if boot device is persistent on ipminative

The commit 94433a2ab522d8b6ae2e2cf24de0ff723e491c45 to pyghmi added
'persistent' to the return dict of get_bootdev(). This commit is just
making use of it.

Change-Id: I724246de951c1ac94a001ebd8c83f8ef4ffa7e66
Expose {set,get}_boot_device in the API

A new /nodes/<uuid>/management/boot_device subresource added exposing
ways to the client to {set,get} the boot device for a node.

* To set a boot device:

 PUT {'boot_device': 'pxe' } /nodes/<uuid>/management/boot_device[?persistent=<bool>]

* To get the current boot device:

 GET /nodes/<uuid>/management/boot_device[/supported]

 The /supported flag is used to list all the boot devices that is
 supported for that node.

Implements: blueprint new-management-interface
Change-Id: I7ab93b95112efb69cf7b2daab6bbd925cb2d1e02
Updated from global requirements

Change-Id: I5ea2366cb7757164db8b1c8b65c8fa92cc05dc21
Sync oslo.incubator modules

Update the openstack.common modules from oslo.incubator
to have a current copy needed to start using new released
oslo libraries.

Change-Id: I60ea98b3381cbbc3d2905af224792ee68b423825
Merge "Check if boot device is persistent on ipminative"
Merge "Add charset and engine settings to every table"
Fix self.fields on API Chassis object

All fields from objects.Chassis were being added to self.fields in
the API Chassis object. Because of this, when someone would POST,
there'd be an entry for {'id': None} in the dictionary passed to
dbapi.create_chassis(). We should only set fields we're exposing.

This also required fixing PATCH to not try to look at fields not set on
the API Chassis object when mapping to objects.Chassis.

Change-Id: Ie5b31455b925ae395995de7b7c638ab5e3543633
Fix self.fields on API Port object

All fields from objects.Port were being added to self.fields in the
API Port object. Because of this, when someone would POST, there'd be an
entry for {'id': None} in the dictionary passed to dbapi.create_port(). We
should only set fields we're exposing.

This also required fixing PATCH to not try to look at fields not set on
the API Port object when mapping to objects.Port.

Change-Id: I7f163d42d1298ce4ba62b1b7d637fb0a4e3409ce
Merge "Use my_ip for neutron URL"
Migration to oslo.utils library

oslo.utils has been released with the modules excutils, importutils,
strutils and timeutils.

Changes done:
- Use the new oslo.utils modules when possible (not updated in the
nova.ironic driver and other oslo.incubator modules)
- importutils.import_module now is importutils.try_import
- Updated requirements.txt with the new library
- strutils.to_bytes now is strutils.string_to_bytes

Once the nova.ironic driver is migrated into nova tree, old references
and libraries can be cleaned (Bug: #1350269)

Closes-Bug: #1353540

Change-Id: Ic0af04ebd07b23eb94df32a6abf0e490d597f32a
Merge "Expose {set,get}_boot_device in the API"
Merge "Sync oslo.incubator modules"
Merge "Migration to oslo.utils library"
Merge "Fix self.fields on API Chassis object"
Merge "Fix self.fields on API Port object"
Move the 'instance_info' fields to GenericDriverFields

The instance_info parameters are common across all drivers and not
just for PXE drivers.

This patch corrects an issue in nova/virt/ironic/patcher.py by moving
the generation of the instance_info patch to the common base class.
It also adds notes stating the intent to remove the PXE-specific
patching in Kilo.

Closes-Bug: #1353631
Change-Id: I80d2208d41d21821f0da662637418ecd76b5db2b