Update openstack/common/lockutils

The following commits are in this update:

79e6bc6 fix lockutils.lock() to make it thread-safe
ace5120 Add main() to lockutils that creates temp dir for locks
537d8e2 Allow lockutils to get lock_path conf from envvar

Change-Id: I2190d0aae72ef4a29daf8f7d960da82a33b331b4
Set is_public to False by default for volume backed snapshots

This update results in the same behavior that is already implemented
in _create_image where the meta_data for is_public is set to False.

Change-Id: Ie0720d5c847871527db7d9477ca6cb05abe7a1a5
Closes-Bug: #1255316
Correct uses of :params in docstrings

Replace all occurrences of :params with :param alongway
(matches http://sphinx-doc.org/domains.html#info-field-lists)

Change-Id: Ia01e563dd54cce1e763c076b15d1a47b790eb802
Pass rbd_user id and conf path  as part of RBD URI for qemu-img

Unlike rados.py, qemu-img does not use id from CEPH_ARGS and has to be
given a ceph user id and conf path explicitly in RBD URI

Closes-Bug: #1261675
Change-Id: I9226515f2a860ed45d12012fd5b6bc7e842f6d32
Change RPC post_live_migration_at_destination from call to cast

We don't expect post_live_migration_at_destination to return anything,
so change call to cast.

Change-Id: Iccdb6e195d1d5d9b96e1372206823d414caae872
Adds user_data extension to nova.api.v3.extensions

Although the user_data extension does not create a resource
or controller extension and only implements server.create and
server.create.deserialize entry points it does need to be listed as
a nova.api.v3.extension entry point as the whitelist check
operates on that entry point.

This does not add any runtime overhead and allows user_data to be
specified in the whitelist.

Also adds missing discoverable policy for the user data extension

Partially implements blueprint nova-v3-api

Change-Id: Ia8ac2fa150ab2fe9c1848c5a7ddc416952adf0e4
Do not use contextlib.nested if only mock one function

There are some test cases in test_compute_mgr.py using contextlib.nested
to mock up functions even there is only one function needs to be mocked.

We should use mock.patch.object directly if only mock one function.

Change-Id: I30f05d0dcb442d426358b673f0e638ace8b85e0e
Closes-Bug: #1263602
Change log from ERROR to WARNING when instance absent

Periodic task will update the host stat so that it will
collect all active instances and get their disk size
during the operation period, the instance might be resized
by nova operations, it will lead to disk file not exist
it's not an error from current design point of view, so
change from ERROR to WARNING to avoid confusion

Change-Id: I3b6f1416c248d9d4d2caaf2cc30a7c944685661c
Closes-Bug: #1243849
Add API schema for v3 agents API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint nova-api-validation-fw

Change-Id: Iae1bff0e853e1dc597ebdca07efeb477b105469e
Add API schema for v3 flavor_access API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint nova-api-validation-fw

Change-Id: Ia3b4fa951c2f3867685ea6a619a39ac47dc4c3e6
Add API schema for v3 keypairs API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint nova-api-validation-fw

Change-Id: I484fc2807721b5bfe0f1a11c3811b99a13d920aa
Add API schema for v3 extended_volumes API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint nova-api-validation-fw

Change-Id: If0ebee7a8661baae9eea1e7ce586695b9e575afc
Return policy error, not generic error

When nova net-create and net-delete are prohibited by policy, we should
raise policy violation error (403) to the user instead of service
unavailable (503) error which is incorrect.

Closes-Bug: #1260905
Change-Id: I2edc0eb09f1dc192ba47184ed24fc49e4fcd4b79
Rename instance_type to flavor in hyper-v virt driver

Renames 'instance_type' to 'flavor' in the hyper-v virt driver and
associated tests.

Part of blueprint flavor-instance-type-dedup

Change-Id: I769bf86a63283152c5bbc5644e7b74cc2bb24697
Extends V3 os-hypervisor api for pci support

All pci passthrough code is merged into nova, but the APIs do not support.
this patch extends os-hypervisor to show PCI information for instance and
compute node. This is a part of PCI APIs, for more information see the
blueprint.

Partially implement blueprint pci-api-support

Change-Id: Ia366df257f077c74b1a6639b7078ba4230d3f1a7
Cleanup the flake8 section of tox.ini

* Stop ignoring F403 as we have no cases of it anyway
* Cleanup the comments to make it clear what is ignored on purpose and
  what is ignored until we clean up the code.

Change-Id: I2500e2db70b9c71fbed781d8f7b7c80eee45140f
Add finer granularity to host aggregate APIs

This change provides the ability to set finer permission rules around
the host aggregate APIs. Prior to this change, all operations assumed
that the same permissions were necessary. However, it's very possible
that an OpenStack administrator may want to have varying sets of
permissions for operations across the standard CRUD operations.  This
change is only applicable to the v3 APIs as v2 APIs should remain
backwards compatible.

Also included is a change to fake_policy.py (since the file was
updated anyway) to make the base aggregate policy require the
'admin_api' rule (i.e., to be consistent with the policy.json file).

Also added the corresponding API test cases.

DocImpact v3 host aggregate APIs require action-level policies
Implements: blueprint aggregate-api-policy

Change-Id: I8a88824bbb41807fad849ad15af4411d3a3dca6e
baremetal: stop deployment if block devices are not available

In this case deploy-helper should abort immediately and make sure
that the instance's status set to ERROR.

Closes-Bug: 1251525
Change-Id: Ic09f171edb0fe3a449c7adfe622ab48709c73252
libvirt: Fix infinite loop waiting for block job

Libvirt may return an empty dict when a block job has completed.
In this case, _wait_for_block_job will return True, causing
its callers to loop.

Affects volume_snapshot_delete, swap_volume, and live_snapshot.

(See http://libvirt.org/git/?p=libvirt.git;a=commit;h=0f9e67bf )

Closes-Bug: #1260123
Change-Id: Iab81299f0ce32a14e46aee0fd389ed29f7e503b8
Remove unused copyright from nova.api.__init__

This patch removes unused license doc from nova/api/__init__.py.

Change-Id: I40b7dbce27ece7a56c9fd3186fa5c4a88623d32b