Skip to content

feat: Add upgrade_yml automation for per-component upgrade testing - #516

Merged
abhishek-sa1 merged 9 commits into
dell:automation-v2.2.0.0from
prasant750h:upgrade_yml
Aug 6, 2026
Merged

feat: Add upgrade_yml automation for per-component upgrade testing#516
abhishek-sa1 merged 9 commits into
dell:automation-v2.2.0.0from
prasant750h:upgrade_yml

Conversation

@prasant750h

Copy link
Copy Markdown
  • 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont create a folder called upgrade_yml add these in the upgrade folder only.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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(

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use existing core module function to load the yml file

status_cmd = run_in_container(
host,
(
f"python3 -c \""

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use existing core module function to load the yml file

host,
(
f"python3 -c \""
f"import yaml, sys; "

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use existing core module function to load the yml file

parse_cmd = run_in_container(
host,
(
f"python3 -c \""

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use existing core module function to load the yml file

cmd = run_in_container(
host,
(
f"python3 -c \""

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Comment thread run_molecule.sh Outdated
# ./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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this -k working ?? if not remove it

Comment thread run_molecule.sh Outdated
# ./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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 saifudheene left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hardcoded passwords, tokens, API keys, credentials, or sensitive information are exposed in this PR

Comment thread run_molecule.sh Outdated
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"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verify all the cases for upgrade and rollback. i can see few removed. Upgrade mentioned in capital

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread run_molecule.sh Outdated
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"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upgrade_and_rollback is local flow planned?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This got added by mistake by devin, will get this removed

Comment thread test_run_config.yml Outdated

# --- Upgrade & Rollback ---
upgrade_omnia_sh:
Upgrade:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is required to override, need to check all cases

@abhishek-sa1
abhishek-sa1 merged commit 50a8fda into dell:automation-v2.2.0.0 Aug 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants