Commit d31c2fb
committed
avocado.utils.podman: Add VLLM container support and enhanced lifecycle 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>1 parent cbea52d commit d31c2fb
1 file changed
Lines changed: 690 additions & 0 deletions
0 commit comments