From a2e040dc2afc8365a34dd986bf069abe42cd2bef Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Fri, 13 Jul 2018 15:31:46 -0700 Subject: [PATCH] Allow setting test API microversions in gate tests Add MANILA_TEMPEST_MIN_API_MICROVERSION and MANILA_TEMPEST_MAX_API_MICROVERSION to the ci post_test_hook. These options default to the values specified in the api_version_request.py file. Also add the API Version History to the api-ref. Change-Id: I21b3a705986216afb0ce73ca1f92571dda757408 Closes-Bug: #1781671 --- api-ref/source/versions.inc | 5 ++++ contrib/ci/post_test_hook.sh | 12 ++++++++ .../openstack/rest_api_version_history.rst | 28 +++++++++---------- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/api-ref/source/versions.inc b/api-ref/source/versions.inc index dca29acd44..b33254f98b 100644 --- a/api-ref/source/versions.inc +++ b/api-ref/source/versions.inc @@ -21,6 +21,11 @@ Systems API: Read more about microversion guidelines that the service adheres to `here `_ +See `A history of the Shared File Systems API versions +`_ +to view the evolution of the API and pick an appropriate version for API +requests. + List All Major Versions ======================= diff --git a/contrib/ci/post_test_hook.sh b/contrib/ci/post_test_hook.sh index c868dc2a16..1f058d30d2 100755 --- a/contrib/ci/post_test_hook.sh +++ b/contrib/ci/post_test_hook.sh @@ -54,6 +54,18 @@ else fi iniset $TEMPEST_CONFIG share backend_names $BACKENDS_NAMES + +# Grab the supported API micro-versions from the code +_API_VERSION_REQUEST_PATH=$BASE/new/manila/manila/api/openstack/api_version_request.py +_DEFAULT_MIN_VERSION=$(awk '$0 ~ /_MIN_API_VERSION = /{print $3}' $_API_VERSION_REQUEST_PATH) +_DEFAULT_MAX_VERSION=$(awk '$0 ~ /_MAX_API_VERSION = /{print $3}' $_API_VERSION_REQUEST_PATH) +# Override the *_api_microversion tempest options if present +MANILA_TEMPEST_MIN_API_MICROVERSION=${MANILA_TEMPEST_MIN_API_MICROVERSION:-$_DEFAULT_MIN_VERSION} +MANILA_TEMPEST_MAX_API_MICROVERSION=${MANILA_TEMPEST_MAX_API_MICROVERSION:-$_DEFAULT_MAX_VERSION} +# Set these options in tempest.conf +iniset $TEMPEST_CONFIG share min_api_microversion $MANILA_TEMPEST_MIN_API_MICROVERSION +iniset $TEMPEST_CONFIG share max_api_microversion $MANILA_TEMPEST_MAX_API_MICROVERSION + # Set two retries for CI jobs iniset $TEMPEST_CONFIG share share_creation_retry_number 2 diff --git a/manila/api/openstack/rest_api_version_history.rst b/manila/api/openstack/rest_api_version_history.rst index 512001b3e1..602ae1071c 100644 --- a/manila/api/openstack/rest_api_version_history.rst +++ b/manila/api/openstack/rest_api_version_history.rst @@ -6,8 +6,8 @@ microversion change. The description for each version should be a verbose one which has enough information to be suitable for use in user documentation. -1.0 ---- +1.0 (Maximum in Kilo) +--------------------- The 1.0 Manila API includes all v1 core APIs existing prior to the introduction of microversions. The /v1 URL is used to call 1.0 APIs, and microversions headers sent to this endpoint are @@ -57,8 +57,8 @@ user documentation. --- Share Migration admin API. -2.6 ---- +2.6 (Maximum in Liberty) +------------------------ Return share_type UUID instead of name in Share API and add share_type_name field. @@ -101,8 +101,8 @@ user documentation. used preferentially by clients. Also, change 'uuid' field to 'id', move timestamps to detail view, and return all non-admin fields to users. -2.15 ----- +2.15 (Maximum in Mitaka) +------------------------ Added Share migration 'migration_cancel', 'migration_get_progress', 'migration_complete' APIs, renamed 'migrate_share' to 'migration_start' and added notify parameter to 'migration_start'. @@ -131,8 +131,8 @@ user documentation. ---- Add access_key in access_list API. -2.22 ----- +2.22 (Maximum in Newton) +------------------------ Updated migration_start API with 'preserve_metadata', 'writable', 'nondisruptive' and 'new_share_network_id' parameters, renamed 'force_host_copy' to 'force_host_assisted_migration', removed 'notify' @@ -188,8 +188,8 @@ user documentation. ---- Convert consistency groups to share groups. -2.32 ----- +2.32 (Maximum in Ocata) +----------------------- Added mountable snapshots APIs. 2.33 @@ -223,14 +223,14 @@ user documentation. ---- Added share-type quotas. -2.40 ----- +2.40 (Maximum in Pike) +---------------------- Added share group and share group snapshot quotas. 2.41 ---- Added 'description' in share type create/list APIs. -2.42 ----- +2.42 (Maximum in Queens) +------------------------ Added ``with_count`` in share list API to get total count info.