Do not use __builtin__ in python3

__builtin__ does not exist in Python 3, use
six.moves.builtins instead.

Change-Id: I79b61b5ab67f491ce88015f799ff7d66c9eeb7ee
closes-bug: #1290234
Process public API list as regular expressions

In order to allow flexible patterns for public API specification
and to speed up the process of checking whether some request is
performed against the public API, it's reasonable to interpret the
list of public endpoints as regular expressions.

This patch changes the logic of checking whether a request requires
authorisation from searching the endpoint in the set to checking the
endpoint against a list of regular expressions.

Closes-bug: #1251880
Change-Id: I638ca0e20fa7e44fbeeae0d1e4c2f4188fb597a5
Replace fixtures with mock in test_keystone.py

Change-Id: I83b5035c6919ced43cb4b39ae233976a3a06fa76
Fix strings post landing for c63e1d9f6

Based on comments
https://review.openstack.org/#/c/77939/9/ironic/common/neutron.py

Change-Id: I965eb94d4c76d7024620792bcd926bce20476d1c
Nova Ironic driver to set pxe_swap_mb in Ironic

This patch fix the Nova Ironic driver to make it look at the swap field
in the flavor and map it to Ironic as driver_info/pxe_swap_mb.

Change-Id: Ic6091fd6b6c8e1a32a33969ce5cdd20f6c243167
Closes-Bug: #1297937
Provide a new ComputeManager for Ironic

Ironic is internally clustered and that causes some friction
with Nova which assumes that each n-cpu instance is the only
one responsible for any given VM. While this is going to be
addressed in the long term, at the moment we need to make
it possible to run in an HA setup for Ironic.

The short term solution proposed is to run 2+ nova-compute's
each of which reports the same hostname (e.g. ironic). This
works but has some caveats - one of which is that _init_instance
will now race between different nova-compute instances starting
up at the same time. A custom ComputeManager permits us to address
that without prejuidice to future long term solutions.

Relatedly, TripleO needs Ironic to permit service startup before
keystone is initialised, which the removal of API calls during
init_host permits - and as there are no API calls needed for
correct behaviour of the Ironic driver, this is straight forward :).

See https://etherpad.openstack.org/p/ironic-nova-friction for
more discussion.

Change-Id: I68d46c4da8715df03c3a88393b55665dc57045a3
Closes-Bug: #1295503
Merge "Do not use __builtin__ in python3"
Start using oslosphinx theme for docs

Use the new oslosphinx version of the OpenStack doc theme instead of
maintaining a copy of it in the Ironic repository.

Change-Id: I1d949d1e2734b10e38dea0067db9f3cfd7109c11
Merge "Fix strings post landing for c63e1d9f6"
Merge "Start using oslosphinx theme for docs"
Raise unexpected exceptions during destroy()

Do not match exception by __name__ When an API request throws an
unexpected exception.  Avoids nova-compute AttributeError traceback
and provides better debug info on the nova side.

Change-Id: I2886df814e8641717c57f77626f92917d1ff744c
Closes-bug: #1297549
Remove some obsolete settings from DevStack doc

The BM_* variables are no longer used by Devstack for Ironic
deployment and the new defaults should work fine. Removes
references to the old settings.

Change-Id: Ia19dccaf389273c5a224b804eb270c08d31a1811
Fix seamicro validate() method definition

The base class definition of vendor_passthru.validate() was changed
in 48a4223f so that it also required a 'task' parameter, but
the seamicro.vendor_passthru driver had not landed yet. Between that
change and the time the seamicro driver was landed, another change
caused us to stop running unit tests on third-party drivers.

So, we didn't notice that the seamicro.vendor_passthru.validate() method
definition was incompatibly broken.

Closes-bug: #1298648

Change-Id: I9eab4c1d1be0546a0cdbf40759e88bb22f5015d2
Merge "Nova Ironic driver to set pxe_swap_mb in Ironic"
Merge "Raise unexpected exceptions during destroy()"
Merge "Replace fixtures with mock in test_keystone.py"
Merge "Process public API list as regular expressions"
Imported Translations from Transifex

Change-Id: Ieacb32654feb0350b1c417fb362a8445ef3bacc9
Merge "Fix seamicro validate() method definition"
Merge "Imported Translations from Transifex"