We are chuffed to announce the release of: glance 13.0.0: OpenStack Image Service This release is part of the newton release series. For more details, please see below. 13.0.0 ^^^^^^ * Add "vhdx" to list of supported disk format. * Glance API "minor" version bumped to 2.4. * Deprecate the "show_multiple_locations" configuration option in favor of the existing Role Based Access Control (RBAC) for Image locations which uses "policy.json" file to define the appropriate rules. * The Images (Glance) version 1 API has been DEPRECATED. Please see deprecations section for more information. * Improved configuration option descriptions and handling. * Adding locations to a non-active or non-queued image is no longer allowed. * Glance no longer returns a 500 when 4 byte unicode characters are passed to the metadefs API. * Deprecated "sign-the-hash" approach for image signing. Old run_tests and related scripts have been removed. * Database downgrades have been removed from the Glance source tree. * The "s3" store driver has been removed. * Sample configuration file shipped with Glance source now has reordered store drivers configuration options for future consistent ordering. * Expired tasks are now deleted. New Features ************ * The identifier "vhdx" has been added to the list of supported disk formats in Glance. The respective configuration option has been updated and the default list shows "vhdx" as a supported format. Upgrade Notes ************* * Added additional metadata for CPU thread pinning policies to 'compute-cpu-pinning.json'. Use the "glance_manage" tool to upgrade. * The "disk_format" config option enables "vhdx" as supported by default. * The "default" policy in "policy.json" now uses the admin role rather than any role. This is to make the policy file restrictive rather than permissive and tighten security. * Glance API **CURRENT** "minor" version is now "2.4". * To partially fix an important image locations bug 1587985, an API impacting change has been merged into Glance. * This will result into a non-backward compatible experience before and after **Newton** release, for users using "add" feature to image locations. * Some backend store names were inconsistent between glance and glance_store. This meant that operators of the VMware datastore or file system store were required to use store names in "glance- api.conf" that did not correspond to any valid identifier in glance_store. As this situation encouraged misconfiguration and operator unhappiness, we have made the store names consistent in the Newton release. What this means for you: * This change applies only to operators who are using multiple image locations * This change applies only to operators using the VMware datastore or filesystem stores * This change applies only to the "store_type_preference" option * *VMware datastore operators*: The old name, now **DEPRECATED**, was "vmware_datastore". The **new** name, used in both glance and glance_store, is "vmware" * *File system store operators*: the old name, now **DEPRECATED**, was "filesystem". The **new** name, used in both glance and glance_store, is "file" * This change is backward compatible, that is, the old names will be recognized by the code during the deprecation period. Support for the deprecated names will be removed in the **Pike** release * We strongly encourage operators to modify their "glance- api.conf" files immediately to use the **new** names * Some additional points about "show_multiple_locations" configuration option deprecation. * Maintaining two different ways to configure, enable and/or disable a feature is painful for developers and operators, so the less granular means of controlling this feature will be eliminated in the **Ocata** release. * For the Newton release, this option will still be honored. However, it is important to update "policy.json" file for glance- api nodes. In particular, please consider updating the policies "delete_image_location", "get_image_location" and "set_image_location" as per your requirements. As this is an advanced option and prone to expose some risks, please check the policies to ensure security and privacy of your cloud. * Future releases will ignore this option and just follow the policy rules. It is recommended that this option is disabled for public endpoints and is used only internally for service-to- service communication. * As mentioned above, the same recommendation applies to the policy- based configuration for exposing multiple image locations. * The image signature verification feature has been updated to follow the "sign-the-data" approach, which uses a signature of the image data directly. The prior deprecated "sign-the-hash" approach, which uses a signature of an MD5 hash of the image data, has been removed. * The "db_downgrade" command has been removed from the "glance- manage" utility and all database downgrade scripts have been removed. In accord with OpenStack policy, Glance cannot be downgraded any more. Operators are advised to make a full database backup of their production data before attempting any upgrade. * The latest release of glance_store library does not have the support for the "s3" driver. All code references of the same have been removed from the library. As this release of Glance uses the updated glance_store library, you will find the "s3" driver support removed from Glance too. For example the Glance image location strategy modules no longer offer the "s3" driver support. Deprecation Notes ***************** * With the deprecation of the Images (Glance) version 1 API in the Newton release, it is subject to removal on or after the Pike release. The configuration options specific to the Images (Glance) v1 API have also been deprecated and are subject to removal. An indirectly related configuration option enable_v2_api has been deprecated too as it becomes redundant once the Images (Glance) v1 API is removed. Appropriate warning messages have been setup for the deprecated configuration options and when the Images (Glance) v1 API is enabled (being used). Operators are advised to deploy the Images (Glance) v2 API. The standard OpenStack deprecation policy will be followed for the removals. Critical Issues *************** * Attempting to set image locations to an image *not* in "active" or "queued" status will now result in a HTTP Conflict (HTTP status code 409) to the user. * Until now, no image status checks were in place while **adding** a location on it. In some circumstances, this may result in a bad user experience. It may also cause problems for a security team evaluating the condition of an image in "deactivated" status. * **Adding** locations is disallowed on the following image statuses - "saving", "deactivated", "deleted", "pending_delete", "killed". * Note that there are race conditions associated with adding a location to an image in the "active", "queued", "saving", or "deactivated" status. Because these are non-terminal image statuses, it is possible that when a user attempts to add a location, a status transition could occur that might block the **add** (or might appear to allow an add that should not be allowed). * For example, a user is not allowed to add a location to an image in "saving" status. Suppose a user decides to add a location anyway. It is possible that before the user's request is processed, the transmission of data being saved is completed and the image transitioned into "active" status, in which case the user's add location request will succeed. To the user, however, this success will appear anomalous because in most cases, an attempt to add a location to an image in "saving" status will fail. * We mention this so that you can be aware of this situation in your own testing. Security Issues *************** * All "qemu-img info" calls are now run under resource limitations that limit the CPU time and address space usage of the process running the command to 2 seconds and 1 GB respectively. This addresses the bug https://bugs.launchpad.net/glance/+bug/1449062 Current usage of "qemu-img" is limited to Glance tasks, which by default (since the Mitaka release) are only available to admin users. We continue to recommend that tasks only be exposed to trusted users * The initial implementation of the image signature verification feature in Glance was insecure, because it relied on an MD5 hash of the image data. More details can be found in bug 1516031. This "sign-the-hash" approach was deprecated in Mitaka, and has been removed in Newton. Related CVE-2015-8234. Bug Fixes ********* * Here is a list of other important bugs that have been fixed (or partially fixed) along with their descriptions. * bug 1617258: Image signature base64 needs to wrap lines * bug 1612341: Add cpu thread pinning flavor metadef * bug 1609571: version negotiation api middleware was NOT up to date to include v2.3 * bug 1602081: Glance needs to use oslo.context's policy dict * bug 1599169: glance-replicator size raises object of type 'NoneType' has no len() exception when no args provided * bug 1599192: glance-replicator needs to display human-readable size * bug 1585917: member-create will raise 500 error if member-id is greater than 255 characters * bug 1598985: glance-replicator compare output should show image name in addition to image id for missing images * bug 1533949: Glance tasks missing configuration item "conversion_format" * bug 1593177: The default policy needs to be admin for safer default deployment scenarios * bug 1584076: Swift ACLs disappears on v1 Glance images * bug 1591004: Unable to download image with no checksum when cache is enabled * bug 1584415: Listing images with the created_at and updated_at filters fails if an operator is not specified * bug 1590608: Services should use http_proxy_to_wsgi middleware from oslo.middleware library * bug 1584350: etc/glance-registry.conf sample file has redundant store section * bug 1543937: db-purge fails for very large number * bug 1580848: There's no exception when import task is created without properties * bug 1585584: Glare v0.1 is unable to create public artifact draft * bug 1582304: Allow tests to run when http proxy is set * bug 1570789: Metadefs API returns 500 error when 4 byte unicode character is passed * bug 1532243: glance fails silently if a task flow can not be loaded * bug 1568894: glance_store options missing in glance- scrubber.conf and glance-cache.conf sample files * bug 1568723: secure_proxy_ssl_header not in sample configuration files * bug 1535231: md-meta with case insensitive string has problem during creating * bug 1555275: Tags set changes on delete * bug 1558683: Versions endpoint does not support X-Forwarded- Proto * bug 1557495: Possible race conditions during status change Other Notes *********** * The glance configuration options have been improved with detailed help texts, defaults for sample configuration files, explicit choices of values for operators to choose from, and a strict range defined with "min" and "max" boundaries. * It must be noted that the configuration options that take integer values now have a strict range defined with "min" and/or "max" boundaries where appropriate. * This renders the configuration options incapable of taking certain values that may have been accepted before but were actually invalid. * For example, configuration options specifying counts, where a negative value was undefined, would have still accepted the supplied negative value. Such options will no longer accept negative values. * Options where a negative value was previously defined (for example, -1 to mean unlimited) will remain unaffected by this change. * Values which do not comply with the new restrictions will prevent the service from starting. The logs will contain a message indicating the problematic configuration option and the reason why the supplied value has been rejected. * The sample configuration files autogenerated using the oslo- config- generator tool now give consistent ordering of the store drivers configurations. * Some operators have reported issues with reordering observed in the sample configurations shipped with Glance release tarballs. This reordering may result into a incorrect "diff" of the configurations used downstream vs. newly introduced upstream. * Latest release of "glance_store" library (used in the **Newton** release of Glance) will include fix for the "glance_store" bug 1619487. * Until now every run of the oslo-config-generator resulted in random ordering of the store drivers configuration. After **Newton** release this order will remain consistent. * The store drivers configuration order in the sample or autogenerated files should be expected to be alphabetical as - "cinder", "filesystem", "http", "rbd", "sheepdog", "swift", "vmware". * Note the code name for the "ceph" driver is "rbd". * Note the ordering of the options within a store is not alphabetical. * Expired tasks are now deleted in Glance. As with other Glance resources, this is a "soft" deletion, that is, a deleted task is marked as "deleted" in the database so that the task will not appear in API responses, but the information associated with the task persists in the database. * Glance and Nova contain nearly identical digital signature modules. In order to better maintain and evolve this code and to eliminate the possibility that the modules diverge, we have replaced the digital signature module in Glance with the new "cursive" library. * The "cursive" library is an OpenStack project which implements OpenStack-specific verification of digital signatures. * In Newton, the majority of the signature verification code was removed from Glance. "cursive" has been added to Glance as a dependency and will be installed by default. * Glance uses the "cursive" library's functionality to verify digital signatures. To familiarize yourself with this new dependency and see the list of transitive dependencies visit http://git.openstack.org/cgit/openstack/cursive Changes in glance 12.0.0.0rc1..13.0.0 ------------------------------------- c7578a8 Correct releasenote for Ib900bbc05cb9ccd90c6f56ccb4bf2006e30cdc80 122a144 Fixing inconsistency in Glance store names. 6cba6b1 Adding constraints around qemu-img calls e32be7e Imported Translations from Zanata 912d1fb Update UPPER_CONSTRAINTS_FILE for stable/newton 793ce3b Update .gitreview for stable/newton cc869ec Complete and update Newton release notes 5c198ce Updated from global requirements e8e0abd Fix cursive named arguments 72affb4 Fix nits from commit that introduces cursive a2b329c Bump up Glance API minor version to 2.4 25b492c Fix a small markup typo 80006b4 Keep consistent order for regenerated configs 11cfe49 Regenerate config files for Newton ab9811b Improving help text for common-config opts 71aca20 Improving help text for data access API option afb18df Improving help text for Glance common-config opts 2f803d3 Remove DB downgrade 0fbeac7 Release note for glance config opts. 1f5dedd Improve help text of glance config opts 7c7dd62 Attempt to not set location on non active or queued image 6d88709 Improving help text for WSGI server conf opts. 5afb5d3 Use cursive for signature verification 8f39f7b Updated from global requirements 5085b29 Improving help text for metadefs config option 898c087 Improve the help text for registry client opts 34be9d9 Improving help text for send_identity_headers opt 743e7b0 Remove unused requirements 3ff3deb Remove "Services which consume this" section dbfc121 Deprecate `show_multiple_locations` option 5663196 Image signature base64 don't wrap lines 63e6dbb Deprecate the Images (Glance) v1 API 5662371 Improving help text of v1/v2 API & Registry opts c8e4e80 Improve help text of scrubber daemon option 45ab304 Improving help text for RPC opt 3d68577 Improving help text for image conversion_format b887fa4 Updated from global requirements 7acf08d Updated from global requirements ae7e9fc TrivialFix: Remove cfg import unused 91f37fd Improving help text for store_type_preference opt. 7c73e64 Improving help text for Notifier opts e291143 Removing deprecated variable aliases from oslo_messaging 9522d77 Improve help text of scrubber opts d01fabe Correct link to image properties cbb4b90 Improve help text of quota opts b158de3 Improve help text of registry server opts 89e4edc Get ready for os-api-ref sphinx theme change ec51162 Add registry_client_opts to glance-cache.conf.sample aba79f0 Updated from global requirements 411418b Add CPU thread pinning to metadata defs 5caf1c7 Stop stack tracing on 404s dffbb61 Don't use config option sqlite_db 2590b47 Index to generate doc page for refreshing-configs 7df813b Add guideline to refresh config files shipped with source 269f258 Add example for diff between assert true and equal d0f4316 Updated from global requirements 66335ba Remove references of s3 store driver 8c3560b Add test class to versions tests e736517 change the example URLs in dev-docs for Glance b59a6bd Updated from global requirements ceddda8 Updated from global requirements b7460f1 Updated from global requirements 5829139 Fix use of etc. in metadefs docs. 60a490d Improving help text for location_strategy opt. 53379a7 Use more specific asserts in unit tests 215ec1e Add a requirements guidelines to docs 7da4675 api-ref: correct versions response example f2930b9 Updated from global requirements 0d1daf4 Version negotiation api middleware to include v2.3 36f3755 Add release notes for newton-1 1ad6cb6 Remove deprecated test utility 5baa5e6 Some migrations tests incorrectly ref S3 for Swift 1d949ab Remove extraneous ws in architecture docs b5f31ee Refresh some config files based on bug fixes 4016d11 Generate and include sample config as part of docs 45003b0 Wrap text in sample configuration files at 80 71d09f0 Improving help text for proprty utils opts. d0153c6 Updated from global requirements d66d0c3 Improving help text for swift_store_utils opts a83653e cache_manage: fix a print bug in exit main de98965 replicator: dump: Display more info 08a320b replicator: livecopy: Display more info dc541c2 Updated from global requirements db04a37 Add ova to container format doc to rally plugin fc0b47b Add 'vhdx' disk format. 21c7981 Add 'ova' as a container_format in dev-docs ea010a2 Update sqlalchemy-migrate url 276b40b Improving help text for taskflow executor opts. f9adca0 Minor tweak to release note documentation b2e3ed9 Replace OpenStack LLC with OpenStack Foundation 8161bde api-ref: Replace image-update response example 5745827 api-ref: Refresh images schemas e81229b Correcting description of image_update API method. 5fc0537 Making Forbidden Exception action oriented 99dd153 Updated from global requirements 80a9f57 Make docs copyright consistent c8ecd93 Add LOG.warning to Disallowed minor changes c028c2d WADL to RST migration (part 2 - images) 46a7146 Updated from global requirements 280a027 Improving help text for context middleware opts e0c03c6 Add __ne__ built-in function 14ccf59 Replace "LOG.warn(_" with "LOG.(_LW" da230ab Updated from global requirements 06af212 Cleanup i18n marker functions to match Oslo usage ca501cb Use oslo.context features 2b4e921 glance-replicator: size: Handle no args better 368f7db WADL to RST migration (part 2 - metadefs) f9613c7 Remove unused LOG to keep code clean 7aa6458 Nitpick spell change 690249b Correct reraising of exception 3a15da1 Perform a cleanup of configuring.rst d04d312 Fix duplicated osprofile config for registry 76fa534 replicator: size: Display human-readable size 9eed745 Return 400 when name is more than 255 characters 9c03d6b glance-replicator: compare: Show image name in msg aff592d Use MultiStrOpt instead of ListOpt for args 07d0f02 Updated from global requirements d573b6f Improving help text for public_endpoint e78ff4a Add image signature verification metadefs 7533f1c Add signed images documentation 6db15ef Glance tasks lost configuration item conversion_format d330e5a Update to Glance Contributor's docs 011235f WADL to RST migration (part 2 - tasks) ed08411 Updated from global requirements 71c33b3 Updated from global requirements ee1b6dc WADL to RST migration (part 1) 4f61f95 Add documentation about generating release notes 969309f Change default policy to admin d719b3a Fix bug Swift ACL which disappears on Glance v1 images bf53c1b Do not set header if checksum doesn't exist 1a86665 Updated from global requirements bb89dd9 Fixes the use of dates when listing images c8659f9 Use olso_log and delay string interpolation while logging b54d3d1 Add in missing log hints b0d0b1d Use http-proxy-to-wsgi middleware from oslo.middleware 551018a Updated from global requirements 8932a71 Imported Translations from Zanata 38563b0 Add a soft delete functionality for tasks. 1b09730 Update man pages to current version and dates 85375d4 Incorrect title for Outbound Peak d6a8df5 Updated from global requirements a0bddc9 Remove redundant store config from registry sample f510bb2 Remove TODOs from deprecated "sign-the-hash" 13a17a8 Updated from global requirements e067242 Fix import of profiler options 9338e5c Add check to limit maximum value of max_rows 6c7dea2 Updated from global requirements bf6a928 Updated from global requirements ecf8aea Remove verbose option from glance tests bcf3722 Raise exception when import without properties 9a98274 Excluded the 'visibility' from protected artifact fields 790b015 Use OSprofiler options consolidated in lib itself 4ad190b Remove unnecessary executable permissions 2912031 Updated from global requirements 208c96a Normalize the options use singele quotes e137c39 Updated from global requirements adf0d59 Updated from global requirements 6f71b25 Allow tests to run when http proxy is set a9c2e11 Correct some misspelt words in glance f5c1087 Clarify language used in glanceapi future section 96cece9 Images APIs: The Future 0f8c0c3 Remove old `run_tests` script 13ea7f7 Updated from global requirements bc0c03f Remove unnecessary executable privilge of unit test file b2b95f5 Updated from global requirements 5aa52f1 Functional test comparing wrong items 90126a5 Contribution doc change for spec-lite 9c9a40f Updated from global requirements a37cc47 Improve help text of image cache opts 5ab6310 Remove deprecated "sign-the-hash" approach c5304cb Imported Translations from Zanata 3c194e6 Updated from global requirements 6e10f1b Return BadRequest for 4 byte unicode characters 38158e5 Log when task is not configured properly 50b0252 Corrected section underline 1109f82 Give helpful error in tests if strace is missing 1bea843 Adding detailed alt text to images for accessibility 67d7f55 Changed the spelling of opsrofiler to osprofiler. af0a9bf Fix doc build if git is absent 143df03 Increase max wait time, avoid racy failure in gate bded216 Updated from global requirements 36936f8 Add store opts to scrubber and cache sample conf c41729e Add wsgi options to the sample options 62f66e1 Removed one extra enter key f248c0e use os-testr instead of testr 37cf9d5 Updated from global requirements 385ffab Modified message of exception and log 09a4482 Given space in between two words. a31b963 Use messaging notifications transport instead of default b39a9c0 Updated from global requirements 54153d7 Update the Administrator guide links with new ones f79666f Imported Translations from Zanata 6163fe1 Use roles attribute from oslo context 8de4491 Updated from global requirements ff67543 Fix doc-strings warnings and errors 8d73de6 Add 'Documentation' section to 'Contributing' docs 02ef2ab Imported Translations from Zanata b9de463 Fix typos in Glance files 768f168 Imported Translations from Zanata 3710436 Fix db purge type validation 1cb2bda Imported Translations from Zanata def8cfd Copy the size of the tag set ab05625 Imported Translations from Zanata 513d717 Handle SSL termination proxies for version list d4aaa1b Imported Translations from Zanata 869e551 Imported Translations from Zanata 35f134e Imported Translations from Zanata 2222f1b Fixed typos in two comments 94d616f Update reno for stable/mitaka 040d5fa Update .gitreview for stable/mitaka 8708273 Fix possible race conditions during status change adfc7e5 fix docstring warnings and errors b9e7106 Fix link to <configuring> document 21f36f7 Update the configuration doc Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + CONTRIBUTING.rst | 7 +- HACKING.rst | 4 +- api-ref/source/conf.py | 249 ++ api-ref/source/index.rst | 27 + api-ref/source/v1/images-images-v1.inc | 344 ++ api-ref/source/v1/images-sharing-v1.inc | 150 + api-ref/source/v1/index.rst | 26 + api-ref/source/v1/parameters.yaml | 249 ++ .../v1/samples/image-member-add-request.json | 4 + .../v1/samples/image-members-add-request.json | 12 + .../samples/image-memberships-list-response.json | 11 + .../source/v1/samples/image-update-response.json | 25 + .../v1/samples/images-create-reserve-response.json | 22 + .../samples/images-create-with-data-response.json | 22 + .../v1/samples/images-list-details-response.json | 30 + .../source/v1/samples/images-list-response.json | 15 + .../v1/samples/shared-images-list-response.json | 15 + api-ref/source/v2/images-data.inc | 132 + api-ref/source/v2/images-images-v2.inc | 645 +++ api-ref/source/v2/images-parameters.yaml | 587 +++ api-ref/source/v2/images-schemas.inc | 138 + api-ref/source/v2/images-sharing-v2.inc | 360 ++ api-ref/source/v2/images-tags.inc | 52 + api-ref/source/v2/index.rst | 31 + api-ref/source/v2/metadefs-index.rst | 64 + api-ref/source/v2/metadefs-namespaces-objects.inc | 280 ++ .../source/v2/metadefs-namespaces-properties.inc | 306 ++ api-ref/source/v2/metadefs-namespaces-tags.inc | 300 ++ api-ref/source/v2/metadefs-namespaces.inc | 337 ++ api-ref/source/v2/metadefs-parameters.yaml | 527 +++ api-ref/source/v2/metadefs-resourcetypes.inc | 169 + api-ref/source/v2/metadefs-schemas.inc | 326 ++ .../source/v2/samples/image-create-request.json | 6 + .../source/v2/samples/image-create-response.json | 22 + .../samples/image-details-deactivate-response.json | 21 + .../v2/samples/image-member-create-request.json | 3 + .../v2/samples/image-member-create-response.json | 8 + .../v2/samples/image-member-details-response.json | 8 + .../v2/samples/image-member-update-request.json | 3 + .../v2/samples/image-member-update-response.json | 8 + .../v2/samples/image-members-list-response.json | 21 + api-ref/source/v2/samples/image-show-response.json | 21 + .../source/v2/samples/image-update-request.json | 15 + .../source/v2/samples/image-update-response.json | 24 + .../source/v2/samples/images-list-response.json | 48 + .../metadef-namespace-create-request-simple.json | 7 + .../samples/metadef-namespace-create-request.json | 39 + .../metadef-namespace-create-response-simple.json | 12 + .../samples/metadef-namespace-create-response.json | 41 + .../metadef-namespace-details-response.json | 40 + ...metadef-namespace-details-with-rt-response.json | 40 + .../samples/metadef-namespace-update-request.json | 7 + .../samples/metadef-namespace-update-response.json | 12 + .../samples/metadef-namespaces-list-response.json | 96 + .../v2/samples/metadef-object-create-request.json | 24 + .../v2/samples/metadef-object-create-response.json | 28 + .../samples/metadef-object-details-response.json | 28 + .../v2/samples/metadef-object-update-request.json | 12 + .../v2/samples/metadef-object-update-response.json | 16 + .../v2/samples/metadef-objects-list-response.json | 112 + .../samples/metadef-properties-list-response.json | 86 + .../samples/metadef-property-create-request.json | 15 + .../samples/metadef-property-create-response.json | 15 + .../samples/metadef-property-details-response.json | 15 + .../samples/metadef-property-update-request.json | 15 + .../samples/metadef-property-update-response.json | 15 + ...etadef-resource-type-assoc-create-response.json | 7 + .../metadef-resource-type-create-request.json | 5 + .../metadef-resource-types-list-response.json | 29 + .../v2/samples/metadef-tag-create-response.json | 5 + .../v2/samples/metadef-tag-details-response.json | 5 + .../v2/samples/metadef-tag-update-request.json | 3 + .../v2/samples/metadef-tag-update-response.json | 5 + .../v2/samples/metadef-tags-create-request.json | 13 + .../v2/samples/metadef-tags-create-response.json | 13 + .../v2/samples/metadef-tags-list-response.json | 13 + .../schemas-image-member-show-response.json | 35 + .../schemas-image-members-list-response.json | 52 + .../v2/samples/schemas-image-show-response.json | 234 ++ .../v2/samples/schemas-images-list-response.json | 265 ++ .../schemas-metadef-namespace-show-response.json | 234 ++ .../schemas-metadef-namespaces-list-response.json | 265 ++ .../schemas-metadef-object-show-response.json | 164 + .../schemas-metadef-objects-list-response.json | 195 + .../schemas-metadef-properties-list-response.json | 152 + .../schemas-metadef-property-show-response.json | 122 + ...ef-resource-type-association-show-response.json | 36 + ...f-resource-type-associations-list-response.json | 67 + .../samples/schemas-metadef-tag-show-response.json | 25 + .../schemas-metadef-tags-list-response.json | 56 + .../v2/samples/schemas-task-show-response.json | 72 + .../v2/samples/schemas-tasks-list-response.json | 71 + api-ref/source/v2/samples/task-create-request.json | 11 + .../source/v2/samples/task-create-response.json | 20 + .../v2/samples/task-show-failure-response.json | 21 + .../v2/samples/task-show-processing-response.json | 20 + .../v2/samples/task-show-success-response.json | 23 + api-ref/source/v2/samples/tasks-list-response.json | 26 + api-ref/source/v2/tasks-parameters.yaml | 195 + api-ref/source/v2/tasks-schemas.inc | 72 + api-ref/source/v2/tasks.inc | 198 + api-ref/source/versions/index.rst | 22 + .../versions/samples/image-versions-response.json | 64 + api-ref/source/versions/versions.inc | 56 + etc/glance-api-paste.ini | 19 +- etc/glance-api.conf | 4231 ++++++++++++++++---- etc/glance-cache.conf | 2297 ++++++++++- etc/glance-glare.conf | 2390 ++++++++--- etc/glance-manage.conf | 150 +- etc/glance-registry.conf | 2137 ++++++---- etc/glance-scrubber.conf | 2434 +++++++++-- etc/metadefs/compute-cpu-pinning.json | 14 +- etc/metadefs/compute-quota.json | 4 +- etc/metadefs/compute-vmware-flavor.json | 2 +- etc/metadefs/compute-vmware-quota-flavor.json | 2 +- etc/metadefs/compute-watchdog.json | 2 +- etc/metadefs/image-signature-verification.json | 50 + etc/oslo-config-generator/glance-api.conf | 2 + etc/oslo-config-generator/glance-cache.conf | 2 + etc/oslo-config-generator/glance-glare.conf | 1 + etc/oslo-config-generator/glance-manage.conf | 1 + etc/oslo-config-generator/glance-registry.conf | 2 +- etc/oslo-config-generator/glance-scrubber.conf | 2 + etc/policy.json | 2 +- glance/api/glare/versions.py | 31 +- glance/api/middleware/cache.py | 5 +- glance/api/middleware/context.py | 111 +- glance/api/middleware/version_negotiation.py | 2 + glance/api/policy.py | 17 +- glance/api/v1/images.py | 67 +- glance/api/v1/members.py | 31 +- glance/api/v2/image_actions.py | 10 +- glance/api/v2/image_data.py | 11 +- glance/api/v2/image_members.py | 22 +- glance/api/v2/images.py | 17 +- glance/api/v2/metadef_namespaces.py | 12 +- glance/api/v2/metadef_objects.py | 14 +- glance/api/v2/metadef_properties.py | 8 + glance/api/v2/metadef_tags.py | 19 +- glance/api/v3/router.py | 2 - glance/api/versions.py | 52 +- glance/async/flows/base_import.py | 31 +- glance/async/flows/convert.py | 65 +- glance/async/flows/introspect.py | 11 +- glance/async/flows/ovf_process.py | 29 +- glance/async/taskflow_executor.py | 45 +- glance/async/utils.py | 10 + glance/cmd/api.py | 0 glance/cmd/cache_manage.py | 2 +- glance/cmd/cache_prefetcher.py | 0 glance/cmd/glare.py | 0 glance/cmd/manage.py | 45 +- glance/cmd/registry.py | 0 glance/cmd/replicator.py | 54 +- glance/cmd/scrubber.py | 0 glance/common/auth.py | 4 - glance/common/client.py | 2 +- glance/common/config.py | 691 +++- glance/common/exception.py | 16 +- glance/common/location_strategy/__init__.py | 31 +- glance/common/location_strategy/store_type.py | 67 +- glance/common/property_utils.py | 65 +- glance/common/rpc.py | 52 +- glance/common/semver_db.py | 6 +- glance/common/signature_utils.py | 512 --- glance/common/store_utils.py | 2 +- glance/common/swift_store_utils.py | 57 +- glance/common/utils.py | 56 +- glance/common/wsgi.py | 307 +- glance/context.py | 10 +- glance/contrib/plugins/image_artifact/v1/image.py | 5 +- glance/db/simple/api.py | 25 +- glance/db/sqlalchemy/api.py | 64 +- glance/db/sqlalchemy/metadata.py | 25 +- glance/db/sqlalchemy/metadef_api/namespace.py | 4 +- glance/db/sqlalchemy/metadef_api/resource_type.py | 2 +- glance/db/sqlalchemy/metadef_api/tag.py | 4 +- glance/db/sqlalchemy/migrate_repo/README | 2 +- glance/db/sqlalchemy/migrate_repo/schema.py | 2 +- .../migrate_repo/versions/001_add_images_table.py | 9 +- .../versions/002_add_image_properties_table.py | 9 +- .../migrate_repo/versions/003_add_disk_format.py | 44 - .../migrate_repo/versions/003_sqlite_downgrade.sql | 54 - .../migrate_repo/versions/004_add_checksum.py | 10 - .../migrate_repo/versions/005_size_big_integer.py | 30 - .../migrate_repo/versions/006_key_to_name.py | 69 +- .../migrate_repo/versions/006_mysql_downgrade.sql | 11 - .../migrate_repo/versions/006_sqlite_downgrade.sql | 43 - .../migrate_repo/versions/007_add_owner.py | 23 +- .../versions/008_add_image_members_table.py | 21 +- .../versions/009_add_mindisk_and_minram.py | 24 +- .../migrate_repo/versions/010_default_update_at.py | 37 - .../011_make_mindisk_and_minram_notnull.py | 7 - .../migrate_repo/versions/011_sqlite_downgrade.sql | 58 - .../migrate_repo/versions/012_id_to_uuid.py | 230 -- .../migrate_repo/versions/013_add_protected.py | 7 - .../migrate_repo/versions/013_sqlite_downgrade.sql | 62 - .../versions/014_add_image_tags_table.py | 7 - .../versions/015_quote_swift_credentials.py | 4 - .../versions/016_add_status_image_member.py | 7 - .../migrate_repo/versions/016_sqlite_downgrade.sql | 43 - .../017_quote_encrypted_swift_credentials.py | 6 - .../versions/018_add_image_locations_table.py | 7 - .../versions/019_migrate_image_locations.py | 14 - .../versions/020_drop_images_table_location.py | 9 - .../versions/021_set_engine_mysql_innodb.py | 4 - .../versions/022_image_member_index.py | 35 - .../migrate_repo/versions/023_placeholder.py | 4 - .../migrate_repo/versions/024_placeholder.py | 4 - .../migrate_repo/versions/025_placeholder.py | 4 - .../026_add_location_storage_information.py | 11 - .../migrate_repo/versions/027_checksum_index.py | 10 - .../migrate_repo/versions/028_owner_index.py | 10 - .../029_location_meta_data_pickle_to_string.py | 29 +- .../migrate_repo/versions/030_add_tasks_table.py | 9 +- .../versions/031_remove_duplicated_locations.py | 6 - .../versions/032_add_task_info_table.py | 29 +- .../versions/033_add_location_status.py | 11 - .../migrate_repo/versions/034_add_virtual_size.py | 8 - .../versions/035_add_metadef_tables.py | 14 +- .../versions/036_rename_metadef_schema_columns.py | 9 - .../versions/037_add_changes_to_satisfy_models.py | 43 +- .../migrate_repo/versions/037_sqlite_downgrade.sql | 147 - .../versions/038_add_metadef_tags_table.py | 9 +- .../039_add_changes_to_satisfy_models_metadef.py | 172 +- ...nges_to_reinstall_unique_metadef_constraints.py | 162 - .../versions/044_update_metadef_os_nova_server.py | 5 - glance/domain/__init__.py | 3 + glance/glare/domain/__init__.py | 8 +- glance/glare/location.py | 6 +- glance/image_cache/__init__.py | 124 +- glance/image_cache/drivers/sqlite.py | 19 +- glance/locale/de/LC_MESSAGES/glance.po | 1042 +---- glance/locale/en_GB/LC_MESSAGES/glance-log-info.po | 16 +- glance/locale/es/LC_MESSAGES/glance-log-error.po | 12 +- glance/locale/es/LC_MESSAGES/glance-log-info.po | 16 +- glance/locale/es/LC_MESSAGES/glance-log-warning.po | 12 +- glance/locale/es/LC_MESSAGES/glance.po | 738 +--- glance/locale/fr/LC_MESSAGES/glance.po | 687 +--- glance/locale/glance-log-error.pot | 408 -- glance/locale/glance-log-info.pot | 381 -- glance/locale/glance-log-warning.pot | 303 -- glance/locale/glance.pot | 3553 ---------------- glance/locale/it/LC_MESSAGES/glance.po | 776 +--- glance/locale/ja/LC_MESSAGES/glance.po | 862 ++-- .../locale/ko_KR/LC_MESSAGES/glance-log-error.po | 355 ++ glance/locale/ko_KR/LC_MESSAGES/glance-log-info.po | 306 ++ .../locale/ko_KR/LC_MESSAGES/glance-log-warning.po | 269 ++ glance/locale/ko_KR/LC_MESSAGES/glance.po | 684 +--- glance/locale/pt_BR/LC_MESSAGES/glance-log-info.po | 16 +- .../locale/pt_BR/LC_MESSAGES/glance-log-warning.po | 12 +- glance/locale/pt_BR/LC_MESSAGES/glance.po | 741 +--- glance/locale/ru/LC_MESSAGES/glance.po | 654 +-- .../locale/tr_TR/LC_MESSAGES/glance-log-error.po | 12 +- glance/locale/tr_TR/LC_MESSAGES/glance-log-info.po | 16 +- .../locale/tr_TR/LC_MESSAGES/glance-log-warning.po | 12 +- glance/locale/tr_TR/LC_MESSAGES/glance.po | 492 +-- glance/locale/zh_CN/LC_MESSAGES/glance.po | 620 +-- glance/locale/zh_TW/LC_MESSAGES/glance.po | 570 +-- glance/location.py | 55 +- glance/notifier.py | 66 +- glance/opts.py | 17 +- glance/quota/__init__.py | 6 + glance/registry/__init__.py | 22 +- glance/registry/api/v1/images.py | 65 +- glance/registry/api/v1/members.py | 12 +- glance/registry/client/__init__.py | 161 +- glance/registry/client/v1/api.py | 43 +- glance/registry/client/v1/client.py | 8 + glance/scrubber.py | 203 +- .../functional/test_bin_glance_cache_manage.py | 1 - .../integration/legacy_functional/test_v1_api.py | 2 +- .../unit/common/scripts/test_scripts_utils.py | 4 - rally-jobs/plugins/plugin_sample.py | 4 +- ...u-thread-pinning-metadata-09b1866b875c4647.yaml | 4 + ...processlimits-to-qemu-img-c215f5d90f741d8a.yaml | 12 + .../notes/add-vhdx-format-2be99354ad320cca.yaml | 11 + .../notes/bug-1593177-8ef35458d29ec93c.yaml | 6 + .../notes/bump-api-2-4-efa266aef0928e04.yaml | 13 + .../consistent-store-names-57374b9505d530d0.yaml | 32 + ...te-show-multiple-location-9890a1e961def2f6.yaml | 32 + .../notes/deprecate-v1-api-6c7dbefb90fd8772.yaml | 19 + .../improved-config-options-221c58a8c37602ba.yaml | 30 + ...ocation-add-status-checks-b70db66100bc96b7.yaml | 38 + .../notes/newton-1-release-065334d464f78fc5.yaml | 20 + .../notes/newton-bugs-06ed3727b973c271.yaml | 61 + .../remove-db-downgrade-0d1cc45b97605775.yaml | 11 + .../notes/remove-s3-driver-639c60b71761eb6f.yaml | 12 + ...-store-config-opts-newton-3a6575b5908c0e0f.yaml | 31 + .../notes/soft_delete-tasks-43ea983695faa565.yaml | 10 + .../notes/use-cursive-c6b15d94845232da.yaml | 22 + releasenotes/source/index.rst | 3 +- releasenotes/source/mitaka.rst | 6 + requirements.txt | 41 +- test-requirements.txt | 19 +- tools/colorizer.py | 330 -- tools/install_venv.py | 73 - tools/install_venv_common.py | 172 - tools/migrate_image_owners.py | 115 - tools/with_venv.sh | 7 - tox.ini | 20 +- 387 files changed, 27404 insertions(+), 19173 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index c30953f..fb6b1a2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,2 +11,2 @@ PasteDeploy>=1.5.0 # MIT -Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT -Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT @@ -17,7 +17,7 @@ pycrypto>=2.6 # Public Domain -oslo.config>=3.7.0 # Apache-2.0 -oslo.concurrency>=3.5.0 # Apache-2.0 -oslo.context>=0.2.0 # Apache-2.0 -oslo.service>=1.0.0 # Apache-2.0 -oslo.utils>=3.5.0 # Apache-2.0 -stevedore>=1.5.0 # Apache-2.0 -futurist>=0.11.0 # Apache-2.0 +oslo.config>=3.14.0 # Apache-2.0 +oslo.concurrency>=3.8.0 # Apache-2.0 +oslo.context>=2.9.0 # Apache-2.0 +oslo.service>=1.10.0 # Apache-2.0 +oslo.utils>=3.16.0 # Apache-2.0 +stevedore>=1.16.0 # Apache-2.0 +futurist!=0.15.0,>=0.11.0 # Apache-2.0 @@ -25,2 +25,2 @@ taskflow>=1.26.0 # Apache-2.0 -keystoneauth1>=2.1.0 # Apache-2.0 -keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 +keystoneauth1>=2.10.0 # Apache-2.0 +keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 @@ -34 +34 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 @@ -39 +39 @@ six>=1.9.0 # MIT -oslo.db>=4.1.0 # Apache-2.0 +oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 @@ -42 +42 @@ oslo.log>=1.14.0 # Apache-2.0 -oslo.messaging>=4.0.0 # Apache-2.0 +oslo.messaging>=5.2.0 # Apache-2.0 @@ -44,2 +44 @@ oslo.middleware>=3.0.0 # Apache-2.0 -oslo.policy>=0.5.0 # Apache-2.0 -oslo.serialization>=1.10.0 # Apache-2.0 +oslo.policy>=1.9.0 # Apache-2.0 @@ -48 +47 @@ retrying!=1.3.0,>=1.2.3 # Apache-2.0 -osprofiler>=1.1.0 # Apache-2.0 +osprofiler>=1.4.0 # Apache-2.0 @@ -51 +50 @@ osprofiler>=1.1.0 # Apache-2.0 -glance-store>=0.13.0 # Apache-2.0 +glance-store>=0.18.0 # Apache-2.0 @@ -57,2 +55,0 @@ semantic-version>=2.3.1 # BSD -castellan>=0.3.1 # Apache-2.0 -cryptography>=1.0 # BSD/Apache-2.0 @@ -59,0 +57,2 @@ debtcollector>=1.2.0 # Apache-2.0 +cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0 +cursive>=0.1.1 # Apache-2.0 @@ -62 +61 @@ debtcollector>=1.2.0 # Apache-2.0 -iso8601>=0.1.9 # MIT +iso8601>=0.1.11 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index a8ba7ad..15deb57 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9 +9 @@ hacking<0.11,>=0.10.0 -Babel>=1.3 # BSD +Babel>=2.3.4 # BSD @@ -12 +12 @@ Babel>=1.3 # BSD -bandit>=0.17.3 # Apache-2.0 +bandit>=1.1.0 # Apache-2.0 @@ -14 +14 @@ coverage>=3.6 # Apache-2.0 -fixtures>=1.3.1 # Apache-2.0/BSD +fixtures>=3.0.0 # Apache-2.0/BSD @@ -16,3 +16,3 @@ mox3>=0.7.0 # Apache-2.0 -mock>=1.2 # BSD -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD -requests!=2.9.0,>=2.8.1 # Apache-2.0 +mock>=2.0 # BSD +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +requests>=2.10.0 # Apache-2.0 @@ -24,0 +25,2 @@ oslotest>=1.10.0 # Apache-2.0 +os-testr>=0.7.0 # Apache-2.0 + @@ -26 +28 @@ oslotest>=1.10.0 # Apache-2.0 -PyMySQL>=0.6.2 # MIT License +PyMySQL!=0.7.7,>=0.6.2 # MIT License @@ -33,0 +36 @@ python-swiftclient>=2.2.0 # Apache-2.0 +os-api-ref>=1.0.0 # Apache-2.0 @@ -35 +38 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 -reno>=0.1.1 # Apache2 +reno>=1.8.0 # Apache2