feat: Add upgrade_yml automation for per-component upgrade testing - #516
Conversation
prasant750h
commented
Jul 15, 2026
- Add upgrade_yml_func.py: check_upgrade_yml_exists, run_upgrade_yml, verify_upgrade_manifest, verify_manifest_component_status, check_software_component_enabled with process detection
- Add upgrade_yml_vars.py: UPGRADE_YML_VARS (components: oim, k8s, slurm, openchami with timeouts and prerequisites)
- Add upgrade_yml_msgs.py: test names, log messages, assert messages
- Add molecule/upgrade_yml scenario (verify-only, 7 tests): TC-1 preflight, TC-2 run, TC-3 manifest, TC-4 OIM, TC-5 K8s conditional, TC-6 Slurm conditional, TC-7 OpenCHAMI conditional
- Rename molecule/Upgrade to molecule/upgrade_omnia_sh
- Update run_molecule.sh with upgrade_yml scenario and upgrade_and_rollback flow
- Update init.py files for functions, vars, messages exports
- Add upgrade_yml_func.py: check_upgrade_yml_exists, run_upgrade_yml, verify_upgrade_manifest, verify_manifest_component_status, check_software_component_enabled with process detection - Add upgrade_yml_vars.py: UPGRADE_YML_VARS (components: oim, k8s, slurm, openchami with timeouts and prerequisites) - Add upgrade_yml_msgs.py: test names, log messages, assert messages - Add molecule/upgrade_yml scenario (verify-only, 7 tests): TC-1 preflight, TC-2 run, TC-3 manifest, TC-4 OIM, TC-5 K8s conditional, TC-6 Slurm conditional, TC-7 OpenCHAMI conditional - Rename molecule/Upgrade to molecule/upgrade_omnia_sh - Update run_molecule.sh with upgrade_yml scenario and upgrade_and_rollback flow - Update __init__.py files for functions, vars, messages exports
There was a problem hiding this comment.
dont create a folder called upgrade_yml add these in the upgrade folder only.
There was a problem hiding this comment.
move the files to the upgrade folder if u have added anything new.
we have moved all the upgrade test cases in the upgrade folder. so, all your test cases should be there in the upgrade folder
| "error": "" | ||
| } | ||
|
|
||
| status_cmd = run_in_container( |
There was a problem hiding this comment.
use existing core module function to load the yml file
| status_cmd = run_in_container( | ||
| host, | ||
| ( | ||
| f"python3 -c \"" |
There was a problem hiding this comment.
use existing core module function to load the yml file
| host, | ||
| ( | ||
| f"python3 -c \"" | ||
| f"import yaml, sys; " |
There was a problem hiding this comment.
use existing core module function to load the yml file
| parse_cmd = run_in_container( | ||
| host, | ||
| ( | ||
| f"python3 -c \"" |
There was a problem hiding this comment.
use existing core module function to load the yml file
| cmd = run_in_container( | ||
| host, | ||
| ( | ||
| f"python3 -c \"" |
There was a problem hiding this comment.
use existing core module function to load the json file
pushing changes based on the review comments
Signed-off-by: prasant750h <prasanth.charagenti@dellteam.com>
committing changes
| # ./run_molecule.sh telemetry verify --suite negative # Run negative tests only | ||
| # ./run_molecule.sh discovery verify --marker smoke # Run smoke tests | ||
| # ./run_molecule.sh Upgrade verify # Verify upgrade | ||
| # ./run_molecule.sh Upgrade verify -- -k upgrade_yml # Run upgrade.yml tests only |
There was a problem hiding this comment.
is this -k working ?? if not remove it
| # ./run_molecule.sh Upgrade verify # Verify upgrade | ||
| # ./run_molecule.sh Upgrade verify -- -k upgrade_yml # Run upgrade.yml tests only | ||
| # ./run_molecule.sh rollback_omnia_sh verify # Verify rollback | ||
| # ./run_molecule.sh all verify --flow upgrade_and_rollback # Full upgrade+rollback flow |
There was a problem hiding this comment.
check this commands also working or not wonce
committing changes
Signed-off-by: prasant750h <prasanth.charagenti@dellteam.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
saifudheene
left a comment
There was a problem hiding this comment.
No hardcoded passwords, tokens, API keys, credentials, or sensitive information are exposed in this PR
| prev="${COMP_WORDS[COMP_CWORD-1]}" | ||
|
|
||
| local scenarios="omnia_sh_install prepare_oim gitlab_install local_repo build_image_x86_64 build_image_aarch64 discovery provision telemetry apptainer kubernetes slurm dcgm hpc_benchmarks vast_storage build_stream one_shot_log_extraction gitlab_cleanup oim_cleanup omnia_sh_uninstall upgrade_omnia_sh rollback_omnia_sh upgrade_pre_k8s_telemetry upgrade_post_k8s_telemetry upgrade_negative_k8s_telemetry all list help" | ||
| local scenarios="omnia_sh_install prepare_oim gitlab_install local_repo build_image_x86_64 build_image_aarch64 discovery provision telemetry apptainer kubernetes slurm dcgm hpc_benchmarks vast_storage build_stream one_shot_log_extraction gitlab_cleanup oim_cleanup omnia_sh_uninstall Upgrade rollback_omnia_sh all list help" |
There was a problem hiding this comment.
Verify all the cases for upgrade and rollback. i can see few removed. Upgrade mentioned in capital
There was a problem hiding this comment.
All the scenarios are inside the Upgrade folder now, earlier it was all separate but now, all are within the Upgrade folder. Will change the Upgrade to upgrade
| local commands="test verify converge create prepare" | ||
| local suites="sanity negative regression smoke stress performance build_auto deploy_auto cleanup_manual build_manual deploy_manual build_stream gpu" | ||
| local flows="build_stream" | ||
| local flows="build_stream upgrade_and_rollback" |
There was a problem hiding this comment.
upgrade_and_rollback is local flow planned?
There was a problem hiding this comment.
This got added by mistake by devin, will get this removed
|
|
||
| # --- Upgrade & Rollback --- | ||
| upgrade_omnia_sh: | ||
| Upgrade: |
There was a problem hiding this comment.
this is required to override, need to check all cases