[Don't merge]avocado.utils.podman: Add VLLM container support and enhanced lifecyc…#6274
[Don't merge]avocado.utils.podman: Add VLLM container support and enhanced lifecyc…#6274abdhaleegit wants to merge 1 commit intoavocado-framework:masterfrom
Conversation
Summary of ChangesHello @abdhaleegit, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly expands the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
The pull request introduces significant enhancements to the avocado.utils.podman module, adding comprehensive support for VLLM container management and expanding container lifecycle operations. This includes new methods for running VLLM containers with AIU support, listing, logging, inspecting, and removing containers, and an improved login mechanism with API key authentication. Additionally, asynchronous versions of these methods are provided, along with concurrent container management functionalities. The changes are well-structured and maintain existing error handling patterns. My review focused on correctness, efficiency, and maintainability, ensuring the new functionalities integrate seamlessly and robustly.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6274 +/- ##
==========================================
- Coverage 73.84% 73.16% -0.69%
==========================================
Files 206 206
Lines 22565 22799 +234
==========================================
+ Hits 16663 16680 +17
- Misses 5902 6119 +217 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…le management - Add run_vllm_container() method for creating VLLM containers with AIU support * Device mapping for /dev/vfio * Volume mounting for model directories * Environment variables (AIU_PCIE_IDS, VLLM_SPYRE_USE_CB, optional chunk settings) * Privileged mode with custom memory/shm settings * Port mapping and VLLM-specific arguments - Add container lifecycle management methods: * list_containers(): List all or running containers * logs(): Get container logs with follow and tail options * inspect(): Get detailed container information * remove(): Delete containers with optional force flag * stats(): Monitor container resource usage - Enhance login() method with API key authentication support * Add api_key parameter for token-based authentication * Auto-use 'iamapikey' username for IBM Cloud registries * Maintain backward compatibility with username/password auth - Add concurrent container management methods (AsyncPodman only): * run_multiple_vllm_containers(): Create N containers concurrently with unique AIU IDs * start_multiple_containers(): Start multiple containers in parallel * stop_multiple_containers(): Stop multiple containers in parallel * remove_multiple_containers(): Remove multiple containers in parallel * get_multiple_container_logs(): Retrieve logs from multiple containers concurrently - Add pull() method for downloading container images from registries All methods implemented in both synchronous (Podman) and asynchronous (AsyncPodman) versions. Maintains existing code structure and error handling patterns. - Assisted by AI tools Signed-off-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
39b31cb to
d31c2fb
Compare
|
@PraveenPenguin a little more testing is inprogress, please do not merge until my confirmation |
…le management
Add run_vllm_container() method for creating VLLM containers with AIU support
Add container lifecycle management methods:
Enhance login() method with API key authentication support
Add concurrent container management methods (AsyncPodman only):
Add pull() method for downloading container images from registries
All methods implemented in both synchronous (Podman) and asynchronous (AsyncPodman) versions. Maintains existing code structure and error handling patterns.