VM Management
OpenFactory includes a web-based interface for managing KVM/QEMU virtual machines, powered by CTO-GUI. This enables testing, development, and manual verification of your builds.
Features
- Network Topology Visualization - Interactive D3.js graph showing VMs and networks
- VM Lifecycle Management - Create, start, stop, and delete virtual machines
- Real-time Updates - WebSocket-based live status updates
- VNC Console Access - Direct console access to running VMs
- Machine Templates - Pre-configured VM types for quick deployment
Architecture
┌─────────────────────────────────────────────────────────┐
│ VM Management │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │
│ │ React │────▶│ Backend │────▶│ KVM │ │
│ │ Frontend │ │ (Python) │ │ libvirt │ │
│ └──────────────┘ └──────────────┘ └─────────┘ │
│ │ │ │
│ └────WebSocket───────┘ │
│ │
└─────────────────────────────────────────────────────────┘Use Cases
Build Testing
Manually test your OpenFactory builds:
- Build creates an ISO
- Create a VM from the ISO
- Access the console via VNC
- Verify configuration interactively
Multi-VM Testing
Test client-server architectures:
- Create multiple VMs
- Configure virtual networks
- Test inter-VM communication
- Verify network services
Development
Develop and debug configurations:
- Boot your custom image
- Make changes interactively
- Iterate on configuration
- Export working configuration
Quick Links
| Topic | Description |
|---|---|
| Network Topology | Visualize your VM network |
| Creating VMs | Create and manage VMs |
| VNC Console | Access VM consoles |
Prerequisites
VM Management requires:
- KVM/QEMU installed on the host
- libvirt running and configured
- User permissions for libvirt group
For containerized deployments, privileged access to /dev/kvm is required.
Getting Started
- Navigate to VM Management in the sidebar
- View the network topology
- Create a VM from your build
- Access the console to verify
The interface updates in real-time as VMs start, stop, and change state.