Call _post_downgrade_### after downgrade migration is run

Fixes bug 1195470

Tests are currently only run after a upgrade during the database migration
unit tests and never during a downgrade. This change calls an optional
_post_downgrade_### method after running the downgrade migration to allow
it to be tested as well.

Change-Id: I592424b464b91c2be9e253402986e673ce33c8d0
Add unit test for migration 012

This continues implementing unit tests for the migrations that are
currently missing them

Change-Id: I08b92532d1469ee03b976e2522e12a4540f0dae2
Prefetcher should perform data integrity check

When prefetching into cache we should verify the image data checksum.

Fixes bug 882585.

Change-Id: I01211894d0d76d69cbf92fe726fbed56326d950d
Introduced DB pooling for non blocking DB calls

The DbApi module is wrapped with the tpool wrapper if the configuration is
enabled. use_tpool is disabled (False) by default

Related to bp mysql-thread-pool

Change-Id: Ie7274ac855549b96c581c3eb0bcf79f3c74be0ed
Remove unused local vars

Remove unused local vars in test files to make code cleaner.

Change-Id: If97fad2d6b85730ea1cebc477f5f092c1c17976d
Fixes files with wrong bitmode

Some modules have bitmode 755. Changed to 644

Change-Id: I1635abdd2665b463473b283cc0e15f057caf4195
Notify error not called on upload errors in V2

The 'upload' method in glance/api/v2/image_data.py catches a couple of
exceptions, but does not send notifications for any of them. They should
also be sending notifications as is being done in v1.

Fixes: Bug #1217837
Change-Id: Ie38307f514c1716dce31403d9ef57eae8290450d
Fix localisation string usage

The format string for localisation needs to be a fixed
literal, otherwise translation tools do not work.

Change-Id: I8e0e38df15ec61a0ccbfa41c3ccaed3a01d1d4d5
Rule parser for property protections

This patch introduces the way protected properties
will be configured and parsed.

Related to bp api-v2-property-protection
docImpact

Change-Id: I3d24cacccf3f51b07a4090b8a5db1f2451090762
Property Protection Layer

This patch introduces the property protection layer and the tests
associated with it

Related to bp api-v2-property-protection

Change-Id: Iaf2111bf07377ef6a4c89a621888077cc14be776
Enable protected properties in gateway

Related to bp api-v2-property-protection

Activate property protections if the config value is set.
Added the corresponding functional and unit tests.

Change-Id: If38604d812c34416b8369bf6f868a0f2509c2649
Merge "Remove unused local vars"
Update schema descriptions to indicate readonly

Longer term we may look into using the json hyper-schema readonly
attribute, but for now this will allow the user to see up-front
which properties are actually read-only and cannot be changed.

Change-Id: I8c8b94732c219fe61caa584527921b65217bea30
Merge "Introduced DB pooling for non blocking DB calls"
Merge "Notify error not called on upload errors in V2"
Merge "Update schema descriptions to indicate readonly"
Merge "Rule parser for property protections"
Merge "Property Protection Layer"
Merge "Enable protected properties in gateway"
Merge "Call _post_downgrade_### after downgrade migration is run"