Skip to content

Cleanup automation for cleanup with and without volume flag and csi volume exporter - #5139

Merged
priti-parate merged 49 commits into
dell:issue-4849-omnia-modernizationfrom
priti-parate:issue-4849-omnia-modernization
Sep 4, 2026
Merged

Cleanup automation for cleanup with and without volume flag and csi volume exporter#5139
priti-parate merged 49 commits into
dell:issue-4849-omnia-modernizationfrom
priti-parate:issue-4849-omnia-modernization

Conversation

@priti-parate

@priti-parate priti-parate commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Summary: This PR implements cleanup automation with optional volume deletion, adds CSI volume exporter deployment for PowerScale telemetry, fixes SQL injection vulnerabilities in MySQL query handling, and resolves numerous Ansible lint and Pylint issues across the telemetry domain.

Changes

Cleanup Automation

  • Added Delete_volume flag to control volume cleanup during telemetry cleanup operations

  • Updated cleanup functions in cleanup_func.py to support both volume-preserving and volume-deleting cleanup modes

  • Added new test cases for cleanup automation with and without volume deletion

  • Updated test messages and variables to reflect new cleanup behavior

CSI Volume Exporter

  • Deployed CSI volume exporter for PowerScale telemetry metrics collection

  • Simplified CSI volume exporter template for better maintainability

  • Integrated CSI volume exporter with PowerScale telemetry deployment playbooks

  • Added test cases for CSI volume exporter functionality

SQL Injection Fixes

  • Refactored MySQL query handling in iDRAC IP retrieval modules

  • Fixed SQL injection vulnerabilities in insert_idracips_mysqldb.py and read_idracips_from_mysqldb.py

  • Updated delete_idracips_from_mysqldb.py for secure query handling

  • Replaced raw SQL concatenation with parameterized queries

PowerScale Telemetry

  • Removed DCGM from telemetry domain

  • Updated PowerScale validation to remove image version cross-validation

  • Added offline image warning with specific image list

  • Integrated powerscale_telemetry_validation into telemetry_validation

  • Removed proxyHost validation

  • Updated cluster mount variables from cluster_mount to k8s_cluster_mount

  • Added Slurm cluster mount support for LDMS

Code Quality Improvements

  • Fixed Ansible lint errors across telemetry roles:

    • Fixed yaml[empty-lines] errors in generate_root_kustomization.yml and helm_install_karavi.yml

    • Replaced ignore_errors with failed_when: false in verify_idrac_telemetry.yml and enable.yml

    • Added FQCN prefix to include_tasks in install_python_dependencies.yml

    • Fixed yaml[line-length] in generate_root_kustomization.yml and precheck.yml

    • Fixed yaml[trailing-spaces] in check_powerscale_privileges.yml

    • Added newline at end of helm_install_karavi.yml

  • Fixed Pylint errors in test telemetry library files:

    • Fixed line-too-long errors in telemetry_msgs.py by splitting long strings

    • Removed duplicate 'deployment_failed' key in TEST_LOG_MSGS

    • Added trailing newlines to telemetry_msgs.py and test_case_vars.py

Infrastructure Changes

  • Updated orchestrator inventory with kube_vip support

  • Uncommented precheck play in telemetry.yml with tags [never, precheck]

  • Removed obsolete test_bmc_sync.yml

  • Updated input file loading to use OMNIA_DATA_PATH environment variable

  • Removed unused CSI secret path variable

  • Removed unused functions and updated required functions

Files Changed

File | Change Type | Description -- | -- | -- deploy_ldms.yml | Modified | Added default filters for safer variable handling delete_idracips_from_mysqldb.py | Modified | SQL injection fixes insert_idracips_mysqldb.py | Modified | SQL injection fixes read_idracips_from_mysqldb.py | Modified | SQL injection fixes cleanup_func.py | Modified | Added Delete_volume flag support telemetry_msgs.py | Modified | Updated cleanup messages, fixed pylint issues test_case_vars.py | Modified | Added cleanup automation variables test_cleanup_final.py | Modified | Updated for volume cleanup flag test_playbook.py | Modified | Updated for volume cleanup flag test_idempotency.py | Modified | Updated for cleanup automation test_performance.py | Modified | Updated for cleanup automation README.md | Modified | Updated test documentation generate_root_kustomization.yml | Modified | Fixed yaml[empty-lines] verify_idrac_telemetry.yml | Modified | Replaced ignore-errors with failed_when helm_install_karavi.yml | Modified | Fixed yaml[new-line-at-end-of-file] check_powerscale_privileges.yml | Modified | Fixed yaml[trailing-spaces] telemetry_packages.yml | Modified | Updated PowerScale validation precheck.yml | Modified | Fixed yaml[line-length]

Testing

  • Verified cleanup automation with and without volume deletion

  • Tested CSI volume exporter deployment and functionality

  • Validated SQL injection fixes through security testing

  • Ran Ansible lint suite - all errors resolved

  • Ran Pylint on test library files - all errors resolved

  • Tested PowerScale telemetry deployment with new validation logic

  • Verified offline mode image comparison with telemetry_packages.yml

Backward Compatibility

  • Cleanup automation is backward compatible - volume deletion is opt-in via Delete_volume flag

  • SQL injection fixes maintain existing functionality while improving security

  • CSI volume exporter is a new feature with no impact on existing deployments

  • Variable name changes (cluster_mount → k8s_cluster_mount) are internal and don't affect user input

  • DCGM removal is a breaking change for DCGM-dependent deployments (deprecated component)

Suggested Reviewers

@Abhishek-Sa1 @balajikumaran-c-s

priti-parate and others added 30 commits August 25, 2026 15:16
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
…, Added offline image warning with specific image list, Integrated powerscale_telemetry_validation into telemetry_validation, Removed proxyHost validation

Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
…odernization

Signed-off-by: priti-parate <140157516+priti-parate@users.noreply.github.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
…odernization

Signed-off-by: priti-parate <140157516+priti-parate@users.noreply.github.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Resolved conflict in cleanup_func.py by using updated variable names
from remote (LDMS_AGG_STS_NAME, LDMS_STORE_NAME, etc.) and removing
DCGM_POD_PREFIX as part of DCGM removal.
Signed-off-by: priti_parate <priti_parate@dell.com>
priti-parate and others added 18 commits August 31, 2026 12:20
Signed-off-by: priti_parate <priti_parate@dell.com>
… work

Resolved conflicts:
- install_python_dependencies.yml: kept the generic component-driven design
  and made 'component' optional (defaults to new 'base' package set) so the
  telemetry_setup caller, which passes no component, still installs the K8s
  client as it did before.
- telemetry_packages.yml: added 'base' pip_modules component for the above.
- deploy_powerscale/vars/main.yml: kept the static ps_clusters_found_msg;
  the incoming version counted user_helm_values.isilon, a key that does not
  exist in the CSM observability values file.
- telemetry_msgs.py: kept both the offline-mode and LDMS message entries.
- test_creds.yml: accepted upstream deletion; it is gitignored as
  auto-generated credentials and stays untracked locally.
- test/telemetry/README.md: reconciled the FVT test-count table.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
install_python_dependencies.yml is restored verbatim to the component-driven implementation: 'component' stays required, packages come from the pip_modules.<component> map in telemetry_packages.yml, and each package is installed via install_single_python_package.yml.

Reverted the merge-time accommodations made for the incoming version: dropped the 'base' pip_modules component, and dropped the componentless install_python_dependencies call that the incoming change added to telemetry_setup, since it would trip the 'component is provided' assert. Components install their own dependencies at enable time (see deploy_idrac_telemetry).
…_sync.yml

- Uncommented precheck flow in telemetry.yml with tags [never, precheck] to match other opt-in flows
- Removed src/telemetry/test_bmc_sync.yml
Signed-off-by: priti_parate <priti_parate@dell.com>
- Fixed yaml[empty-lines] errors in generate_root_kustomization.yml and helm_install_karavi.yml
- Replaced ignore_errors with failed_when in verify_idrac_telemetry.yml and enable.yml
- Added FQCN prefix to include_tasks in install_python_dependencies.yml
- Fixed yaml[line-length] in generate_root_kustomization.yml and precheck.yml
- Fixed yaml[trailing-spaces] in check_powerscale_privileges.yml
- Added newline at end of helm_install_karavi.yml

Signed-off-by: priti_parate <priti_parate@dell.com>
- Fixed line-too-long errors in telemetry_msgs.py by splitting long strings
- Removed duplicate 'deployment_failed' key in TEST_LOG_MSGS
- Added trailing newlines to telemetry_msgs.py and test_case_vars.py

Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
- Removed extra trailing newlines from telemetry_msgs.py and test_case_vars.py

Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: Super User <root@priti.omnia.dev>
Signed-off-by: Super User <root@priti.omnia.dev>
Signed-off-by: priti_parate <priti_parate@dell.com>
Signed-off-by: priti_parate <priti_parate@dell.com>
…odernization

Signed-off-by: priti-parate <140157516+priti-parate@users.noreply.github.com>
@priti-parate priti-parate changed the title Issue 4849 omnia modernization Cleanup automation for cleanup with and without volume flag and csi volume exporter Sep 3, 2026
Signed-off-by: priti_parate <priti_parate@dell.com>
@priti-parate
priti-parate marked this pull request as ready for review September 3, 2026 12:29
@abhishek-sa1

Copy link
Copy Markdown
Collaborator

@priti-parate pr description to be updated

@priti-parate
priti-parate merged commit 0e3da94 into dell:issue-4849-omnia-modernization Sep 4, 2026
11 of 14 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.

3 participants