Issue 4849 omnia modernization - #4917
Open
balajikumaran-c-s wants to merge 8 commits into
Open
Conversation
balajikumaran-c-s
force-pushed
the
issue-4849-omnia-modernization
branch
from
July 31, 2026 11:35
80e6967 to
4533e45
Compare
- Adapted from multi-repo image-build-manager test structure - Replaced git clone with rsync project sync (sync_project_to_remote) - Input sync reads OMNIA_DATA_PATH and OMNIA_PROJECT_NAME from target env vars - Removed config.yml sync (monorepo uses env vars instead) - Playbook workdir: src/image_build_manager/playbooks/ - Uses omnia-auto pip package for common utilities - All sensitive data (IPs, passwords, credentials) reset to placeholders - Updated README with monorepo architecture and env var documentation Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
- Remove config.yml from dataset (monorepo uses env vars via omnia.env) - Fix image_build_credentials.yml to match target fields (s3_access_id, s3_secret_key, aarch64_ssh_password) - Fix _read_remote_env to source /etc/omnia/omnia.env for non-login shells (testinfra uses non-login SSH which skips /etc/profile.d/) - Add _ensure_remote_dir to create target directories before sync (prevents rsync failures when playbook hasn't run yet) - Remove config.yml from REQUIRED_DATASET_FILES validation - Update all READMEs: proper setup flow, env var setup via omnia.sh, removed config.yml references, dataset sync paths updated - Reset main test_creds.yml to placeholder (was committed encrypted) - All sensitive data sanitized (IPs, passwords, hostnames) Verified: 8 passed, 0 failed, 4 skipped against target server Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
Documents how the consumer module integrates with the omnia-auto pip package: configure(), run_playbook wrapper pattern, test file usage. Updated install instructions to show PyPI as primary method. Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
Security fixes: - Reset test_creds.yml: replaced vault-encrypted real credentials with plaintext CHANGE_ME placeholder Lint fixes: - Removed unused FIREWALL_PORTS import from build_image_func.py - Refactored host_func.py: use omnia_auto connection_params, read_remote_env, ensure_remote_dir, resolve_domain_input_path instead of local duplicates - Added run_playbook wrapper in functions/__init__.py - Added PLAYBOOK_ENTRY_POINT, PLAYBOOK_WORKDIR to common_vars.py Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
- docs/test_creds.md: use short placeholders (<SSH_PASSWORD>, any) to avoid gitleaks generic-password rule (values under 8 chars) - build_image_func.py: add nosec B108 for remote SSH temp paths - repo_status.yml: add missing newline at end of file - test_config.yml: remove extra trailing blank line - test_creds.yml: reset to empty placeholder with copyright header - host_func.py: use __all__ for re-exports instead of noqa/pylint-disable, remove all suppression comments, use _host for unused parameter - __init__.py: move all imports to top, remove pylint-disable - conftest.py: remove pylint-disable from omnia_auto imports - build_image_func.py: remove pylint-disable from omnia_auto import - requirements.txt: add omnia-auto as git dependency Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
balajikumaran-c-s
force-pushed
the
issue-4849-omnia-modernization
branch
from
July 31, 2026 12:20
4533e45 to
e0ec965
Compare
Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
balajikumaran-c-s
marked this pull request as ready for review
July 31, 2026 13:30
Add reusable test automation utilities package for Dell Omnia test suites. Module structure (flat layout): - omnia_auto/functions/ — formatting, host, runner, sync, report - omnia_auto/vars/ — configuration management - omnia_auto/messages/ — log and assertion messages - docs/ — 7 usage guides covering all APIs - dist/ — pre-built wheel for pip install Key features: - TestLogger with colored output and symbols - Testinfra host setup with vault-encrypted credentials - run_playbook with live output streaming - clone_repo/sync_files for local and SSH operations - TestReport with HTML/JSON generation - configure() for consumer-driven settings Install: pip install test/omnia-auto/dist/omnia_auto-1.0.0-py3-none-any.whl Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
Rename test/omnia-auto/ to test/plugins/ for consistency with src/ structure. Inner package remains omnia_auto/ to preserve 'import omnia_auto' imports. Signed-off-by: balajikumaran-c-s <balajikumaran.cs@dell.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a comprehensive Functional Verification Test (FVT) suite for the
image_build_managermodule, covering the complete image build lifecycle: prepare, build, validate, and cleanup phases.What This PR Does
End-to-End Image Build Lifecycle Verification
Prepare Phase Validation
Verifies all prerequisites required for image build operations:
s3cmdconfiguration and connectivityBuild Phase Validation
Validates successful image creation and storage:
x86_64andaarch64architecturesValidate Phase Verification
Confirms deployment artifacts are correctly synchronized:
Cleanup Phase Verification
Ensures proper teardown and resource cleanup:
Test Framework Features
Scenario-based execution using
run_validation.shdeployverifytestFlexible test selection:
--suite container,--suite s3)--marker sanity,--marker x86_64)Automated reporting:
One-time environment setup via
setup_env.shSupports both:
Automatic Ansible Vault encryption for test credentials
Dataset-driven testing with configurable:
Test Coverage
x86_64/aarch64)Integration with omnia-auto
Leverages the shared omnia-auto automation framework for:
This eliminates duplicate common automation code and aligns the test suite with the broader Omnia validation framework.
Testing
Validated successfully on a live deployment: