Remove internal store references from migration 017

Migration 017 was accessing a object internal to the swift store driver
and changing its behavior in order to do the migration. This worked but
it made the assumption that the driver logic would not change without
also changing the migration code.  This patch removes all dependencies on
the swift driver from the migration code.  This patch is smilar to
https://review.openstack.org/#/c/24552/.

Fixes bug: 1155749
Change-Id: Iffd800f62d61bf7608f7be5b23d76d702e6d4064
Small change to exception handling in swift store

Tweak the exception handling when deleting stale chunks from the swift
backend so we don't need to use the sys module or stash the exception.

Addresses bug 1158342.

Change-Id: If83ad04e54e978a25a793fed394a384c15dc3b8a
Add 'set_image_location' policy option

Gives operators the option to prevent references to 'external' image data.

Addresses bug 1153613.

Change-Id: I68aac9039eed0f70ed3b893f5c51838a70d290ae
Functional tests display the logs of the services they started

Function tests fork out processes that run glance-{api,registry,etc}.
These services are started with a conf file that directs logging
to a different file.  Unfortunately that logged information is not
recorded by the test frameworks that run these tests.  This change
opens the log file and dumps it out to a logger created for that
service.  In this way a developer can inspect the logs of all the
services created by a failed tests using the test frameworks interface
(like Jenkins web interface).

Fixes bug: 1162933

Change-Id: Ie699baaa376ca4ec848a8600f9fc5da6484b24f0
remove deprecated assert_unicode sqlalchemy attribute

Removing this enables use with sqlalchemy 0.8.0
The deprecation is described upstream at:
http://docs.sqlalchemy.org/en/latest/changelog/changelog_08.html#change-ad44af79c886d1bb283042deb64f9cbe

Change-Id: Ia34b38245c6abe1ddb4162eee89459a7130deacb
Make is_public an argument rather than a filter.

There is disagreement between the v1 api and v2 api about what an
'is_public' filter ought to mean. Version 1 uses 'is_public'
to filter whether or not image.is_public == True or False. Version 2
uses 'visibility' for this purpose. But in addition, it is theoretically
possible that 'is_public' is a valid property filter in v2.

With this change, v1 can pass is_public in as an argument to
image_get_all. V2 will continue to pass is_public through filters.

fixes bug: 1157988
fixes bug: 1154760

Change-Id: I716cb8b4f207f8526125ed360f5a24a6630c1e67
Invalid reference to self in functional test test_scrubber.py

In the test_scrubber.py the function wait_for_scrub() makes a
reference to self even tho it is not a member of any class and
has no such reference in its scope.  This patch makes that
function a method in the test class so that it can assert the
failure which it intends.

fixes bug: 1163617

Change-Id: I453c8097363dc2f7577fd807ffe8cbc613078258
Merge "Add 'set_image_location' policy option"
Merge "remove deprecated assert_unicode sqlalchemy attribute"
Merge "Make is_public an argument rather than a filter."
Merge "Invalid reference to self in functional test test_scrubber.py"
Merge "Functional tests display the logs of the services they started"
Merge "Remove internal store references from migration 017"
Merge "Small change to exception handling in swift store"