Rainbow V Manager
A Textual-based TUI (Terminal User Interface) application for managing QEMU/KVM virtual machines using the libvirt python API.
Author: aginies@suse.com
Key Features
Overall Architecture & UX
- Zero X11 Dependency: Full control via terminal, eliminating the need for graphical environments.
- Multi-Server Transhypervisor View: Visualize and manage VMs across multiple hypervisors from a unified interface.
- Low-Bandwidth Remote Operations: Efficient remote administration ideal for cloud and edge environments.
- Color-Coded Status & Server Identification: Use intuitive color schemes to indicate VM status and server origins for quick identification.
Server & Host Management
- Host Resource Management: Manage not just VMs, but also the underlying server resources like Storage Pools and Virtual Networks.
- Embedded Virsh Shell: Instantly access a `virsh` shell for any managed server directly within the application for advanced commands.
- Websockify SSH & noVNC Integration: Enable secure SSH and noVNC remote viewing for headless server environments.
- Move Storage Volume: Move storage volumes between different pools, updating VM guest config if needed.
Virtual Machine Management
- Scalable VM Management: Manage hundreds of VMs across multiple libvirt servers with a single, consistent interface.
- Live Performance Monitoring: View real-time CPU and memory usage with sparkline graphs on each VM card.
- In-Depth Hardware Configuration: Control virtually all aspects of a VM's hardware, from CPU and memory to UEFI, Secure Boot, TPM, and boot order.
- Full Snapshot Management: Easily create, delete, and revert to VM snapshots through the interface.
- Advanced VM Resource Control: Disable disks, switch machine types, etc..
- VM Migration: Migrate VMs offline and live between servers, with pre-checks on server and VM guest config.
- Clone VM Capabilities: Clone VMs with advanced options, including specifying a custom suffix, cloning multiple instances at once, and automatic creation of storage for the new clones.
- Bulk Command Execution: Execute commands across multiple selected VMs simultaneously for streamlined management.
- Spice to VNC Transition: Automatically replace Spice graphics with VNC for simplified remote access and reduced resource usage.
Command-Line Interface (vmanager_cmd.py)
- Multi-server Management: Connect to and manage multiple
libvirtservers simultaneously from a single shell. - Bulk VM Operations: Execute commands like
start,stop, andstatuson multiple VMs across different servers at once. - Advanced VM Selection: Select VMs for operations using direct names or regular expression patterns.
- Storage Management: List storage pools and unused volumes across all connected servers.
- Tab Autocompletion: Context-aware autocompletion for server names, VM names, and storage pools.
Experimental Features
- Detect common pool: Detect common pool between server.
Interface showing multi-server VM management with color-coded status indicators
Quick Links
License
License: GPL3