Exhibition VM Controller
VM management for exhibition environments with centralized control and automated scheduling.
Role: Developer
About the Project
Framework for preserving and operating historical digital artworks in museum exhibitions. Developed at ZKM | Center for Art and Media Karlsruhe, it addresses technical obsolescence by maintaining legacy computing environments as virtual machines with automated error recovery. When a VM crashes or an artwork hangs, the system automatically reverts to a known-good snapshot within 2-5 seconds — ensuring continuous exhibition operation without staff intervention. Tested in production for 6 months with 12 simultaneous VMs running Windows XP, legacy multimedia engines, and browser-based artworks requiring obsolete rendering systems.
Features
- Automated recovery — detects failures through heartbeat timeouts and QEMU agent monitoring, then reverts to clean snapshot state within seconds
- Modular guest scripts — specialized monitoring tools (AutoIT for Windows XP) handle heartbeat signaling, idle detection, and process watchdog functionality
- REST API — endpoints for VM control, snapshot management, heartbeat configuration, and health status
- Kiosk display — full-screen presentation using virt-viewer with automatic launcher startup for unattended exhibition operation
- libvirt integration — QEMU/KVM virtualization on Linux (Ubuntu 22.04, Debian 12), controlled via Python 3.10+ with FastAPI