Port ips-extended to API-v3 ips core API Part 1

This just copies servers and ips xml schema to API-v3.

Change-Id: I4f096cfe7c453123a0adb8e6e969ff3c592324db
Port ips-extended to API-v3 ips core API Part 2

This includes on ips responses extended ip information: mac address and type,
adds V3 version of the views and the tests to also test this information, which
affects servers and ips core API.

related to bp nova-v3-api

Change-Id: I699f6e27b53663f358b63615e7dd0f1627c4730b
Adds NoAuthMiddleware for V3

Adds a V3 version of NoAuthMiddleware which returns a url which
unlike the V2 version does not include the tenant_id in the url.

Also fixes bug with the V2 version where it would create broken
urls on Windows because os.path.join was used

Partially implements blueprint v3-api-remove-project-id

DocImpact

Change-Id: I7ecffea52c3662344ac694997bb08a16506abbbd
Fix extension hosts follow API v3 rules

* Add decorator expected_errors
* Rename parameter 'updates' to 'host' for update
* Add input validation
* Tidy up exception catching

Partially implements bp v3-api-extension-versioning

DocImpact

Change-Id: Ic7858460a1ebaf2e1981792b837e5858c7e9cccf
Remove unreachable code

code cleanup

Change-Id: Iab52371e259197e9f3fc3e1f843293a630f46459
Fixes for v3 API servers tests

Fixes some v3 API servers unittests to correctly use the
fake v3 wsgi_app rather than the v2 one. Also fixes
xml in test_update_server_invalid_xml_raises_lookup so
that it will only cause a LookupError rather than a LookupError
and an ExpatError as the latter will mask the failure of the former
to be raised.

Also adds checking of the actual error message returned for the two
unittests affected.

partially implements blueprint v3-api-unittests

Change-Id: I2abf8875e2cc3feda14f93d8c1e7a88c5a278ca8
Moves compute.rpcapi.prep_resize call to scheduler.manager

This change removes the scheduler_prep_resize method from
the scheduler drivers and put the logic on the scheduler
manager instead.

This is part of other changes that will completely move
cold migration related tasks to conductor. Next change
will move the scheduler manager prep_resize logic to
conductor.

Partially implements bp cold-migrations-to-conductor

Change-Id: Iab6d414acfa32eeb36a2b8cf358ce5948652c49c
Add error checking around host service checking

If the host provided doesn't exist in the table, nova-manage will spit a
traceback out, which isn't very friendly. This patch copies the same
code used in other nova-manage commands to wrap the offending call.

Change-Id: I606b22f0cea523809fcfa34f5b61ce70ba8d6152
Demote admin-passwd from core of API v3 as extensions os-admin-password

This patch move the action 'change_password' from core into extensions.
* Catch exception InstancePasswordSetFailed explicitly
* Add decorator 'expected_errors'
* Change naming style of action name and attributes
* Add testcase

Partially implements: bp v3-api-extension-versioning

DocImpact

Change-Id: I35fb73a47a58584ad6f8af78ffa087ecebde92a8
Make EvacuateTest DRYer

Each test in EvacuateTest creates request and application objects on its
own, so extract that to an isolated method to avoid code duplication.

blueprint nova-tests-code-duplication

Change-Id: Id0778b2cbb41edccd16820fa19de7951a7196f77
Add index to reservations.uuid column

Committing or rolling back reservations gets slow once a large number of
reservations have built up in the db.  Since they're being queried by
uuid this adds an index to speed up that operation.

Note that this can be slow with a large number of rows.

bug 1203872

Change-Id: Ida503206194a567a5c6811a304154d067c5faa83
Add support for Neutron https endpoint

This patch adds a parameter to specify Neutronclient ca certificate file
location to support Neutron https endpoint.

Fix bug #1206330

Change-Id: I9ecdd24cf0efcb5ef895e529e516d248214592c1
vendor-data minor format / style cleanups

This just adds a couple minor style and formatting cleanups to the
vendordata code.

Change-Id: I440689a51db98d4aaa581c45dba1660488355da3
xenapi: Reduce code duplication in vmops

A code fragment that creates kernel and ramdisk appeared in several
locations in vmops. This eliminates that duplication by wrapping it in
a new _create_kernel_and_ramdisk() method.

Fixes bug 1207474

Change-Id: Id317477cb278aa1b6d038516e202aff1bd6129a6
Add identity headers while calling glanceclient

Glance and glanceclient have patches up for a no auth
option in glance. In order for that to happen, nova needs to
send in additional information in its headers to glanceclient.
More details:
Some deployments have everything in the same network. And
for long running snapshots this may cause 401s because
token expires. In these cases the reauth is not required
cause nova has already authenticated the user.
This patch does not convert it to no auth. It only makes
it optional for glance users who do want to use that option.
Related patches:
https://review.openstack.org/#/c/37062/
https://review.openstack.org/#/c/36563/

Resolves bug 1200761

Change-Id: Ife02059abbdce7920f1f408b71e9745d777fa770
Merge "Add error checking around host service checking"
Merge "Moves compute.rpcapi.prep_resize call to scheduler.manager"
Merge "xenapi: Reduce code duplication in vmops"
Merge "Remove unreachable code"
Merge "Add support for Neutron https endpoint"