StarlingX Distributed Cloud
Go to file
Salman Rana 280f22364c Add release version parameter validation
Introduce validate_release_version_supported, a dcmanager util
method to check whether a release version is supported by the
current active version. This is necessary as many dcmanager
operations/commands now allow the user to specify a release
version (e.g., subcloud add, deploy, restore). That is, this
check is intended to validate the release version parameter
provided to the various operations that support it.
This implementation is based on sysinv-conductor's
import_load check, which parses the upgrades metadata.xml
file to check for the supported versions.

This validation check will be iteratively added to all the
API endpoints that consume a release parameter. Currently,
it is only used for the subcloud deploy upload endpoint.

Test Plan:
Test the release parameter using deploy upload -
"subcloud-deploy upload ... --release <release>":
    1. PASS: Verify that the current active version is
       accepted as a valid parameter.
    2. PASS: Verify that all the supported upgrade versions
       in /usr/rootdirs/opt/upgrades/metadata.xml are accepted
       as a valid release parameter.
    3. PASS: Verify that any upgrade version that's not included
       in metadata.xml is rejected with an error
       "<release> is not a supported release version". The only
       exception to this is the current active version, it must
       always be valid.
    4. PASS: Delete all the "supported_upgrades" elements in
       metadata.xml and verify the error
       "Unable to validate the release version" is printed.
    5. PASS: Delete metadata.xml and verify that
       "Unable to validate the release version" error is printed.
    6. PASS: Verify that the current active version is valid
       regardless of metadata.xml file and its contents.
    7. PASS: Exclude the release parameter and verify that the
       deploy upload is successful (with an upload completed
       for the current active version).

Closes-Bug: 2031557

Change-Id: Id8b5670b8cfcdf86d36bbf9180abe064c4279d1a
Signed-off-by: Salman Rana <salman.rana@windriver.com>
2023-08-25 15:26:46 -04:00
api-ref/source Add subcloud secondary status support and migration 2023-08-25 11:03:17 +08:00
distributedcloud Add release version parameter validation 2023-08-25 15:26:46 -04:00
doc Turn off the legacy pip resolver for distcloud 2021-01-22 16:00:28 -06:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:18:06 +02:00
tools/gate Adding py39 gate and removing py36 gates from zuul 2021-10-28 15:26:34 -05:00
.gitignore [Doc] OpenStack API Reference Guide 2018-09-25 08:18:08 -07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:44 +00:00
.mailmap StarlingX open source release updates 2018-08-07 11:51:21 -04:00
.zuul.yaml Clean up outdated configs in tox.ini and .zuul.yaml 2023-07-19 11:43:30 -03:00
CONTRIBUTING.rst StarlingX open source release updates 2018-08-07 11:51:21 -04:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-08-07 11:51:21 -04:00
HACKING.rst Update setup.cfg to align with StarlingX project 2019-01-07 16:34:24 +00:00
README_DC Update location of openrc in readme 2019-03-15 10:56:03 -05:00
bindep.txt Fix openstack-tox jobs for DC repo 2022-11-21 16:58:49 +00:00
centos_build_layer.cfg Build layering, add layer build config file 2019-11-08 08:40:22 +08:00
centos_dev_docker_images.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_dev_wheels.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_iso_image.inc Keystone token and resource caching 2020-03-23 21:31:04 -04:00
centos_pkg_dirs Update files for relocated repo 2019-11-04 14:36:51 -05:00
centos_stable_docker_images.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_stable_wheels.inc Update files for relocated repo 2019-11-04 14:36:51 -05:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:07:18 -04:00
debian_dev_docker_images.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_dev_wheels.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_iso_image.inc Debian: distcloud: update debian_iso_image.inc 2022-11-18 08:12:32 +08:00
debian_pkg_dirs Add debian packaging for distributedcloud 2022-01-25 19:06:08 -03:00
debian_stable_docker_images.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_stable_wheels.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
requirements.txt Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
test-requirements.txt Only install yamllint in py3 env 2021-04-06 11:40:45 -05:00
tox.ini Better message on SubcloudBackupOperationFailed 2023-02-22 20:39:55 -03:00