tempest/releasenotes/notes/volume-service-testing-default-to-v3-endpoints-20b86895a590925d.yaml
ghanshyam 89c213fb35 Volume Service Testing: default to v3 endpoints
Volume service has 2 versions of APIs, v2 and v3. v3 base
version 'v3.0' is supposed to be identical to v2 APIs.

Current supported API is v3 and all future development
will be on v3 with microversion.

Base API       v3.0 == v2
API versioning  v3.0 + microversion (v3.1, v3.2 etc)

In current situation, Tempest tests v2 API mainly and
v3 microversion specific change. As Cinder already made v3 as
current supported APIs which are supposed to be identical to v2,
it's is good to test v3 API as default with ability to configure
to test v2 APIs also.

Tempest should have flexibility to run existing test against any
of the API version. All existing tests which used to run on v2 APIs
should pass on v3.0 without any change.

Idea to achieve that is:
 -  Use config option ``[volume].catalog_type`` to switch the target API
    version for testing. For example-
    If it is configured to v3 endpoints, all tests will run against v3 APIs. like
    'volumev3' in case of devstack [1].
    If it is configured to v2 endpoints, all tests will run against v2 APIs. like
    'volumev2' in case of devstack.

Changes required:
Tempest: this commit
 1. Change the default value of the config option ``[volume].catalog_type`` to ``volumev3``
    so that all gate job test v3 as default.
 2. Make all volume service clients version less.

Devstack: I531f3b32e81ac5d282461597ca286c09429cb143
 3. Make Devstack to configure the ``[volume].catalog_type`` on tempest for v2 job.
 4. If Tempest if configured to tests v2 APIs, configure tempest to skip microversion tests
    as no microversion supported in v2 APIs.

v2 API Job: TODO
 5. Add new job for v2 APIs testing and set ``[volume].catalog_type`` to ``volumev2``
    to run all tests against v2 APIs.

This way we will have:
 - default gate testing of v3 APIs.
 - separate job testing v2 APIs till it is required.

..1 924b1149c8/lib/cinder (L361)

NOTE: Next patch will make all service clients under v3 dir
      and keep v2 service clients available for backward
      compatibility.

Change-Id: I0c9193501eb9eaa25eb5f0786bb72eb7855099fb
2018-05-16 07:59:19 +00:00

9 lines
321 B
YAML

---
upgrade:
- |
The volume config option ``catalog_type`` default is changed to
``volumev3`` which is v3 API endpoint configured in devstack.
With this change Tempest will be testing v3 API as default.
User who want to test v2 API can still test by configuring the
``catalog_type`` to v2 endpoint.