distcloud/distributedcloud/dcmanager/tests/unit/orchestrator/states/kube
albailey 462e3a90f0 DC kube upgrade robustness improvements
- Removed the patch steps from kube upgrade orchestration.
They were no longer needed, and would cause a failure if
there were no patches at all in the subcloud.

- The version selected for the subcloud is now the
available version in the kube version list.
This permits 'stepping' up a subcloud by one upgrade,
where it would have previously attempted to jump
multiple versions.

- Audit considers a subcloud out-of-sync if the
kube version is higher, so added a pre-check step
to determine if the upgrade should be skipped.

- Added support for to-version as an extra arg to
the strategy so that the subcloud can be upgraded
to a version greater or equal to the available version
in the subcloud.

- Added the ability for force to permit the kube
upgrade of a subcloud that is in-sync.

- Allow the --force to orchestrate all subclouds
if no explicit subcloud is indicated.

Test Plan:
=========
PASS:-System Controller and Subcloud same version.
     -Audit shows in-sync.
     -Subcloud not added to orchestration steps.

PASS:-System Controller lower version than Subcloud.
     -Audit shows out-of-sync.
     -Subcloud added to orchestration, but not upgraded.
     -Skipped during pre-check.

PASS:-System Controller lower version than Subcloud.
     -Audit shows out-of-sync.
     -Pass in 'to-version' lower than subcloud available
      version.
     -Subcloud added to orchestration, but not upgraded.
     -Skipped during pre-check.

PASS:-System Controller lower version than Subcloud.
     -Audit shows out-of-sync.
     -Pass in partial 'to-version' lower than subcloud
      available version.
     -Subcloud added to orchestration, but not upgraded.
     -Skipped during pre-check.

PASS:-System Controller lower version than Subcloud.
     -Audit shows out-of-sync.
     -Pass in 'to-version' higher than subcloud available
      version.
     -Subcloud added to orchestration, and upgraded to its
      'available' version.

PASS:-System Controller lower version than Subcloud.
     -Audit shows out-of-sync.
     -Pass in 'to-version' equal to subcloud available
      version.
     -Subcloud added to orchestration, and upgraded to its
      'available' version.

PASS:-System Controller lower version than Subcloud.
     -Subcloud at its highest version, no available version.
     -Audit shows out-of-sync.
     -Pass in 'to-version' higher that the version on subcloud
     -Subcloud added to orchestration, but not upgraded.
     -Skipped during pre-check.

PASS:-System Controller higher version than Subcloud.
     -Audit shows out-of-sync.
     -Subcloud added to orchestration, and upgraded to its
      'available' version.

PASS:-Subcloud already has a kube upgrade in progress and
     versions showing as partial. to-version is equal.
     -Audit shows out-of-sync.
     -Subcloud added to orchestration, and its upgrade is
      resumed.

PASS:-Subcloud already has a kube upgrade in progress but
     to-version passed to orchestration is lower version.
     -Audit shows out-of-sync.
     -Subcloud added to orchestration, and is skipped by
     the pre-check.

PASS:-Subcloud in sync with system controller.  Passing
     force and an explicit to-version allows the subcloud
     to be orchestrated beyond the version on the system
     controller.

Change-Id: Ia00a329349afe0c651d66ea04a6b1b388172a8eb
Story: 2008972
Task: 44133
Signed-off-by: albailey <Al.Bailey@windriver.com>
2021-12-22 11:40:38 -06:00
..
__init__.py Distributed Cloud Kubernetes Upgrade Orchestration 2021-03-03 11:24:14 -06:00
test_applying_vim_kube_upgrade_strategy.py Distributed Cloud Kubernetes Upgrade Orchestration 2021-03-03 11:24:14 -06:00
test_base.py Distributed Cloud Kubernetes Upgrade Orchestration 2021-03-03 11:24:14 -06:00
test_creating_vim_kube_upgrade_strategy.py DC kube upgrade robustness improvements 2021-12-22 11:40:38 -06:00
test_pre_check.py DC kube upgrade robustness improvements 2021-12-22 11:40:38 -06:00