Adding status field to image location -- DB migration

Adding a status field to image's each location property, each location
status can be 'active', 'pending_delete' and 'deleted'.

Under location's status information Scrubber service can make cleanup
based on DB records also but not a dedicated queue-file for each image.

This is first part of this change which covered DB core migration.

Partially-Implements BP: image-location-status

Change-Id: I013b70d55ef14a3ceaca962f9bc48296cb8b2552
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Merge "Adding status field to image location -- DB migration"
Add a virtual_size attribute to the Image model

In order to distinguish file size from the virtual image size, we need
to add a new field to the Image model to represent that. This patch adds
a new field called `virtual_size` to the Image model and the migration
for it.

The existing size attribute is kept as is in order to keep backwards
compatibility. Most of the users consider that attribute to be the
physical image size, which is what we're trying to achieve here.

The API implementation will be done in a follow-up patch.

Partially-Implements bp: split-image-size

Change-Id: Ie968e8bcfaeda79de003fe8fd7a3b58c3e45f592
Add `virtual_size` to Glance's API v2

This patch adds the knowledge of a virtual_size field to Glance's API
v2. The virtual_size field should respect the same rules applied to the
size field in terms of readability, access control and propagation.

Glance's API v1 has been left unmodified.

docImpact
Implements blueprint: split-image-size

Change-Id: Ie4f58ee2e4da3a6c1229840295c7f62023a95b70