Clear out service disabled reason on enable

When a service gets re-enabled, clear out the 'disabled_reason' column.

Fix bug 1197423.

Change-Id: I78c9e40c65e96fbc6eff0e3426cfd87b0810cd69
Change db.api.instance_type_ to db.api.flavor_

Rename nova.db.api and nova.db.sqlalchemy.api functions from
instance_type_ to flavor_.  Since this is a fairly large change, leave
backwards compatibility in until all dependant changes (moving code from
db.instance_type_*).

Partially implements bp flavor-instance-type-dedup

Change-Id: Ie81c66e13056537ca26ff04defdb6eb86d5c462a
Port images metadata functionality to v3 API Part 2

The images metadata functionality is moved for the V3 API from
core to an extension and is now accessed via
/os-images/{image_id}/os-image-metadata instead of
/images/{image_id}/metadata.

Consensus appears to be that we continue to need this
functionality for v3 because some deployers disable the public
image endpoint due security concerns and whether this will be
fixed in glance for Havana. Deployers can disable this extension
if they do not want it.

Partially implements blueprint nova-v3-api

Change-Id: I13a6d049a29a452ad269dba7b59b03718ada2eab
Document rate limiting is per process

Since rate limiting is is done in memory, it is per process.  Document
this to warn users.

DocImpact

Change-Id: I580a4081550019914f074c8b1abdf435f3f24ca1
Port admin-actions API into v3 part2

This patch contains the changes required to adapt the admin-actions
extension and the corresponding unittest to the v3 framework.

Partially implements bp v3-api-extension-versioning

Change-Id: Ib109f52999de8e986c258d8d9d35d8193e8b0851
Port hide srvr addresses extension to v3 API Pt1

This changeset only copies the v2 implementation file into the
appropriate v3 directory unchanged. The copy as-is will not be
loaded by either the v2 or v3 extension loaders. The second
changeset will then make the changes required for it to work as a
v3 extension.

This is being done in order to make reviewing of extension porting
easier as gerrit will display only what is actually changed for v3
rather than entirely new files

Partially implements blueprint nova-v3-api

Change-Id: Ie3ca902f3e37328f59a164f15a790986b95c0155
Port server password extension to v3 API Part 2

Ports the server password extension and the corresponding
unittests to the v3 framework.

Partially implements blueprint nova-v3-api

Change-Id: I85c7241fa6c711f492c7a8ec644c0ba1d01fe5ef
Merge extension server-start-stop into servers core API v3

* Move the action 'start' and 'stop' into servers core and
the corresponding unittest.
* Add decorator extensions.expected_errors

Partially implements bp v3-api-extension-versioning

Change-Id: I94acb688e0a7975b67d652d11d315843dbdf3eb3
update Quantum usage to Neutron

This change updates to use the neutron client library and provides
backwards compatiblity with the network_api_class.

implements bug: 1197208

Change-Id: Ia6c74e40eff516a0fcbe53fdc48e16fb0f98e864
Fix object_compat decorator for non-kwargs

This makes the object_compat decorator gracefully handle the case
where a manager method gets executed with a non-kwarg instance.

Related to blueprint compute-api-objects

Change-Id: I274c4f854b4c15b936bed3301e97bccbe33a44dc
Make db/api strip timezones for datetimes

Before objects, we always used TZ-naive dateteimes, but actually
in the UTC timezone. With objects, we use TZ-aware datetimes with
UTC as the zone. This makes the DB api strip out the timezone
before passing them to sqlalchemy, which expects naive ones.

Related to blueprint compute-api-objects

Change-Id: Id28378c6c68cabcc677bf8cf7b47a4446c397505
Fix default argument values on get_all_by_filters()

This was passing incorrect default arguments to the actual db api
method.

Related to blueprint compute-api-objects

Change-Id: I8e9db96a0d3b0124b9f9431de91e8037a10abac7
Make notifications properly string-convert instance datetimes

Instance objects use real datetimes for launched_at and terminated_at.
This patch makes the notification information function properly
handle those.

Related to blueprint compute-api-objects

Change-Id: I8622662a83ff0bdc75ffc9e267c5485925326f24
Better start/stop handling for cells

This adds separate cells calls for start/stop compute API methods that
handles objects.  This starts to move us away from the generic
'run_compute_api_method' cells call.

Change-Id: Ib2b28f8446883d825876227f639561a69e8b3308
Port os-console-output extension to API v3 Part 2

This change includes:
    - changes to os-console-output fit into api-v3
    - unit test refactor to decrease code duplication
    - change the action name to get_console_output since it is more 'compliant
with all other servers actions, using '_' to separate the words in the
request.

Partially implements blueprint nova-v3-api

Change-Id: I075c868c3a160f06980edcc27ff22da910ff4403
Merge "Fix object_compat decorator for non-kwargs"
Merge "Make db/api strip timezones for datetimes"
Merge "Fix default argument values on get_all_by_filters()"
Merge "Make notifications properly string-convert instance datetimes"
Merge "Port images metadata functionality to v3 API Part 2"