Don't rewrite the NotFound error message

When user updates an image with a nonexisted location, it's
expected to run into location not found exception. However,
because the error message is rewritten in v2 image update,
so user will get below wrong message:
Failed to find image <image-id> to update

This fix will remove the rewritten message, given the NotFound
message has been set at: glance/db/sqlalchemy/api.py#L159

Closes-Bug: #1265448

Change-Id: I4e5fbbe40ce0fd13e828a40a424d4fcdc66a236b
Provide explicit task create and update value in controller tests

Assign an explicit created_at and updated_at datetime value to task DB
fixtures, it be used to fixes race condition in TasksController test
cases.

Closes-Bug: #1274365

Change-Id: I9f13c7e0e97085faac15713342808722a6692178
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Provide explicit image create value in Registry v2 Client test

Assign an explicit created_at datetime value to image db fixtures,
it be used to fixes race condition in Registry v2 Client test cases.

Closes-Bug: #1272136
Change-Id: Ib9f1c7072c6ac828479c6a2e5bddd0f3ad057653
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Don't override transport_url with old configs

The backwards compatibility support turned out being a forward
compatibility blocker. This patch attempts to first load the notifier
transport using the transport_url and then, if the transport_url was not
configured, it loads the transport by using the old strategy config
params.

Closes-bug: #1263945

Change-Id: I4c80c64e2d1afaf518886b51a50300a576ee6317
Restore image status to 'queued' if upload failed

In v2, we're removing 'killed' status so as to let user
can retry upload if there is a failure. But based on
current implement, the image will be stuck in 'saving'
status when upload failed. This fix will restore the
image status to 'queued' to avoid the issue.

Closes-Bug: #1273087

Change-Id: Icd318e3e8d90b6837c84666c47f720b93febe228
glance requires pyOpenSSL>=0.11

glance uses  OpenSSL.crypto.sign() and OpenSSL.crypto.verify(), which
are new in pyOpenSSL 0.11. Global requirements already fixed, do the
same change in glance

Change-Id: Ide1d180cd1966cac454d7d5d3b6475a04591735c
Partial-Bug: #1268966
Log a warning when a create fails due to quota

When a create call fails due to user_storage_quota
being exceeded, log a warning message.

Closes-Bug: #1270832

Change-Id: Ic7ec266aace03cff0a1f72dc3ba6f17b89f5fd55
Add VMware storage backend to location strategy

The store to scheme map used in the location strategy module
doesn't contain the VMware datastore backend.

Change-Id: I5d1faeb464dab79c300a525bab6e7e0ecb4ea489
Closes-Bug: #1275126
Merge "Log a warning when a create fails due to quota"
Fix indentation errors found by Pep8 1.4.6+

As a preparation in order to switch to a newer
Pep8 version in the future, fix the indentation errors
that are missed by Pep8 1.4.5 due to bugs.

Change-Id: I30acf8fdc1ae7eadcbc1849409c989c2422f0f8f
Closes-Bug: #1267994
Merge "Don't override transport_url with old configs"
Now psutil>=1.1.0 is actually on PyPI

Version 1.1.0 doesn't work, so exclude it from the version list.

Patch of requirements: https://review.openstack.org/#/c/68946

Closes-Bug: #1275716

Change-Id: I1e676f96070d1704de84f89bddbc5b23a6c6d966
Merge "Don't rewrite the NotFound error message"
Merge "Add VMware storage backend to location strategy"
Merge "Provide explicit task create and update value in controller tests"
Merge "Restore image status to 'queued' if upload failed"
Depending on python-swiftclient>=1.6

Now we're depending on python-swiftclient>=1.6 since the parameter
'headers' was introduced since python-swiftclient 1.6. This is a
regression issue introduced by patch:
https://review.openstack.org/#/c/48913/

get_object(container, obj, resp_chunk_size=None, query_string=None,
response_dict=None, headers=None)

Closes-Bug: #1276033

Change-Id: I174f2dc53a402d48301b17839be8b5fa97064805
Move scrubber outside the store package

Glance's scrubber was created under the store package because it is
intended to clean up images from stores when `delayed_delete` is
enabled. However, it doesn't really belong there.

Soft delete is a Glance feature that allows images to be deleted
asynchronously as opposed of blocking clients requests during the image
deletion. Therefore, it needs to be store agnostic and live within
Glance's codebase.

Partially-Implements blueprint: create-store-package

Change-Id: I25ddbe1f0f1191f33d814dbae5788da7d511773a
Merge "glance requires pyOpenSSL>=0.11"
Merge "Now psutil>=1.1.0 is actually on PyPI"