Add AWX automation platform integration#82
Add AWX automation platform integration#82maryamtahhan wants to merge 2 commits intoredhat-et:mainfrom
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 10 minutes and 38 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (31)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
41720db to
bfda5b2
Compare
…rdening This commit improves the existing Ansible playbook infrastructure for vLLM CPU performance evaluation with enhanced AWX compatibility, security hardening, and comprehensive testing. - Fix type normalization to handle AnsibleUnsafeText from AWX - Fix allocated_nodes to return integers instead of strings - Handle empty strings and Jinja2 None conversions properly - Simplify node eligibility checking and allocation logic - Improve error messages for better validation feedback - Add no_log: true to all tasks handling HF_TOKEN - Prevent token exposure in container start operations - Secure environment variable handling in AWX jobs - Add comprehensive unit tests for cpu_utils filter plugin (598 lines) - Test coverage for: CPU range conversion, NUMA extraction, multi-NUMA allocation, OMP binding, and real-world scenarios - Support for both pytest and standalone execution - Add collections/requirements.yml for Ansible collection dependencies - Better parameter validation for AWX jobs in concurrent load testing - AWX detection for result path handling - Improved NUMA topology detection in core sweep - Enhanced result path consistency in main benchmark - Better workload configuration handling - Simplify prerequisites section - Update examples with current best practices - Clearer workflow documentation Files changed: 13 files, 772 insertions(+), 323 deletions(-) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Maryam Tahhan <mtahhan@redhat.com>
This commit adds comprehensive AWX (Ansible Automation Platform) support for orchestrating and managing vLLM performance tests through a web UI. - KIND-based AWX deployment for local development and testing - Automated AWX operator installation with proper RBAC configuration - Hybrid node configuration to prevent 500 errors - CoreDNS auto-configuration for host DNS resolution on Linux - Comprehensive Makefile for deployment, configuration, and cleanup - Build custom execution environment with pre-installed Ansible collections - Python 3.9 base from official AWX-EE image - Security hardening: GPG verification for collections, SHA256 for Python - Build scripts with proper error handling and path traversal protection - Support for both Podman and Docker builds - CI workflow for building and pushing EE images to container registry - Automatic project, inventory, and credential setup - Auto-import all playbooks as job templates with sensible defaults - SSH credential management with security (no_log protection) - HuggingFace token credential auto-creation - Execution environment auto-detection for Podman/Docker/KIND - Retry logic for reliability during AWX startup - Non-blocking configuration for KIND DNS limitations - Pre-configured templates for all benchmark playbooks - Inline documentation and examples in extra_vars - Support for concurrent load testing with all three phases - Core sweep automation - Auto-configured variables with YAML validation - Comprehensive README with deployment, configuration, and usage guides - Troubleshooting documentation for common issues - Support for macOS and Linux - Environment variable overrides for project/branch/credentials - Status display and verification commands - GitHub Actions workflow for execution environment builds - Build on PRs, push to registry only on merge to main - Security: prevent non-main branches from overwriting latest tag - Optional Trivy security scanning - Unit test workflow updated for new test location Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Maryam Tahhan <mtahhan@redhat.com>
bfda5b2 to
23e35d8
Compare
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Summary
This PR adds comprehensive AWX (Ansible Automation Platform) support for orchestrating and managing vLLM performance tests through a web UI.
Key Features
AWX Deployment Infrastructure
Custom Execution Environment
AWX Configuration Automation
no_logprotection)Job Template Features
extra_varsCI/CD Integration
Files Added
AWX Infrastructure
automation/test-execution/awx/Makefile- Deployment and management automationautomation/test-execution/awx/README.md- Comprehensive documentationautomation/test-execution/awx/configure-awx.yml- Auto-configuration playbookautomation/test-execution/awx/kind-cluster.yaml- KIND cluster configurationautomation/test-execution/awx/awx-instance.yaml- AWX instance definitionExecution Environment
automation/test-execution/awx/execution-environment.yml- EE definitioncontext/Containerfile- Custom EE build definitioncontext/_build/scripts/*- Build scripts (assemble, entrypoint, introspect.py, etc.)context/_build/requirements.yml- Build requirementsCI/CD
.github/workflows/build-execution-environment.yml- EE build workflow.github/workflows/unit-tests.yml- Updated test pathsTest Plan
make deploy-awxMerge Order
This PR is part 2 of a 2-part refactoring of PR #53:
🤖 Generated with Claude Code