628d3f276d
Incorporate the existing release version validation with all the dcmanager operations/commands endpoints that allow the user to specify a release version: - subcloud add - subcloud prestage - subcloud redeploy - subcloud deploy show - subcloud deploy resume - subcloud deploy create - subcloud deploy install - prestage-strategy create - subcloud-backup restore Please note that the "subcloud deploy upload" release validation was addressed in a previous change [1]. These changes add the validate_release_version_supported check (previously introduced [1]) to all the endpoints that consume a release parameter. This is done to check whether a specified release version is supported by the current active version. [1] https://review.opendev.org/c/starlingx/distcloud/+/891911 Test Plan: For each command listed above, test the release parameter (--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 command is successful (completed with the current active version). Closes-Bug: 2036479 Change-Id: I1608a68ce6863f51dc0b90e0a6f6b9b588e85689 Signed-off-by: Salman Rana <salman.rana@windriver.com> |
||
---|---|---|
.. | ||
__init__.py | ||
fake_strategy.py | ||
fake_subcloud.py | ||
test_phased_subcloud_deploy.py |