Use more-specific value for X-Object-Manifest header.

When uploading a large image to Swift, the segments are named
glance/<imageid>-<segmentnumber>. However, the value of
X-Object-Manifest is only glance/<imageid> without the trailing
dash. This can lead to odd behavior when there are other objects that
start with <imageid>, but are not actually segments of the image.

For example, in bug 1112653, a user was using python-swiftclient to
delete an old, segmented image with id 10. However, they also had an
image with id 100b2316-9187-48d8-b327-dded22d1dc71-00001, and since
"10" is a prefix of "100b2316-9187-48d8-b327-dded22d1dc71-00001",
swiftclient thought that the second image was just another segment of
image 10 and deleted it.

Further, had someone issued a GET request for /glance/10, the
resulting response would have contained the bytes from 10's segments
*plus* the bytes from 100b2316-9187-48d8-b327-dded22d1dc71-00001,
which is definitely not the right behavior.

Obviously, this change doesn't go back and fix up old
manifests. However, it should help prevent this problem from
recurring.

Change-Id: I37577fde7751ad76ce543bc59eb7ee8de2187ac3
Update oslo-config version.

Update the oslo-config version in pip-requires that includes a fix that
breaks oslo.config imports.

Change-Id: Iea037215b1f89beb9480968077f1517285f2f071
Add migration 19 - move image location data

Migration 19 moves image location data from images.location to
the new image_locations table. The sqlalchemy db driver has been
updated to look at this new table, but the complexity of multiple
locations is not yet exposed to the reset of the system.

Related to bp multiple-image-locations

Change-Id: I6c4c684f522d9b41b9930e7f79a4e6fb3e3f5c39
Add migration 20 - drop images.location

The image location data has been migrated out of this column, so it
is no longer useful. This migration simply drops it.

Related to bp multiple-image-locations

Change-Id: I5985c7ef41fceeb3d23063c7e9e76b3b9271ffa2
Extend the domain model to v2 image data

This completes blueprint glance-domain-logic-layer

Change-Id: I5d0e9f54cfc745f484a8db8f29f64caeb832ec98
Merge "Add migration 19 - move image location data"
Merge "Add migration 20 - drop images.location"
Merge "Update oslo-config version."
Update openstack.common

Change-Id: I4515f504dd114de51c37655aa1e5bcaf1eef33e7
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Document db_auto_create in default config files

Change-Id: I933952b672254b32928762e0a4beba2b2b107810
Fix migration 015 downgrade with sqlite.

This adds a list() call around the select sqlalchemy to pull
the list of locations that start with swift. The list() call
forces the select query to finish, before we try to update the
database.

Change-Id: I63f2e184a49e8bbd7115dd59d644506ea4069558
Remove unnecessary logging from migration 019

Migration 019 included debug logging for every sqlalchemy call
that was run. This commit removes all of the logging and makes it
consistent with the other migrations.

Change-Id: I914f4f4458eacbb3bcabac092bbe166ce9069a5f
Remove compat cfg wrapper

This wrapper was there to allow oslo-config changes through the gate
while keystoneclient hadn't been updated.

Change-Id: I3d48673af58ae379e8e4d2c7fb4b4d81f3ed67dd
Merge "Document db_auto_create in default config files"
Merge "Remove compat cfg wrapper"
monkey_patch the time module for eventlet

Fixes bug 988099

Change-Id: I24dfe81863484ed07b77ab20f9d8ab7746e977df
Avoid using logging in signal handlers

Fixes bug 1029727

It is possible for logging to cause problems during signal handlers.
Fortunately, the logging we have in signal handlers is minimal and does
not add enough value to try to keep through workarounds.

Change-Id: I80708874c9740c906e5a49e0d9c1b45174470a85
Merge "Use more-specific value for X-Object-Manifest header."
Merge "Fix migration 015 downgrade with sqlite."
Merge "Remove unnecessary logging from migration 019"