240 likes | 250 Views
Explore the innovative Virtual Node Bootstrapper to dynamically deploy virtual platforms on-demand, enhancing ETICS build and test infrastructure. Achieve increased availability, reproducible environments, and efficient resource utilization. Discover achievements, lessons learned, and future work.
E N D
Virtual Node bootstrapper (VNB) An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch
Contents • Brief introduction to ETICS • ETICS build infrastructure • Improving the build/test process • The Virtual Node Bootstrapper • Achievements • Status, Lessons learned and Further work • Summary
What ETICS is • It’s a software engineering management system • It’s a build and test infrastructure • It provides tools and resources to configure, manage and analyse build and test runs • It provides a common interface to diverse projects to facilitate knowledge sharing and operations management • It has an open repository of configuration metadata, packages, reports. The goal is to share information, but also to reliably store and preserve information • It has a plugin-based architecture and APIs to allow integrating ETICS into existing processes and extending it with custom actions • It’s multi-platform and independent from any specific build or test tool
ETICS build infrastructure - static platforms Problem 1: The composition of the pool is fixed. If we have 20 SL5 nodes all busy and a new request for SL5 arrives, it is queued even if many nodes are available with other platforms X 5 SLC4 X 5 Debian X 5 SL5 X 5 Ubuntu 7 Virtual static nodes New SL5 Job X 5 SL5 / 64 X 5 Mac OSX Physical node X 5 SL5 / 32 X 5 SL5 / 64
ETICS build infrastructure - static platforms Problem 2: If a platform is very rarely used, but we want to make it available, one or more nodes will do nothing most of the time X 5 SLC4 X 5 Debian X 5 SL5 X 5 Ubuntu 7 Virtual static nodes New RH7 Job X 5 SL5 / 64 X 5 Mac OSX Physical node X 5 SL5 / 32 X 5 RH7
The proposed solution: dynamic virtual platforms X 5 X 5 Available Available VM repository X 5 X 5 Available Available New job Virtual machine X 5 X 5 Available Available X 5 X 5 Available Available X Physical machine
The bootstrap process • User submits a build/test for a specific platform • Request arrives to VNB • VNB determines platform and hypervisor support • Downloads a suitable VM from repository (or local cache) • Deploys the VM • Executes job • Returns results • Cleans up
Achievements • Perform platform deployment on demand • Increase availability • Increase capability • Provide reproducible environments • Reduce maintenance • New releases • Upgrades • Security patches • Accommodate for specific software dependencies • Offer privileged access (root access to the VM, not the host) • Enable post build analysis (VM snapshot can be saved with results) • Virtual machine image customization (users can provide their own)
Status • Working • Bootstrap process, tested on VMware and KVM • Remaining • Testing on Xen • Support for NT-based operating systems • Caching VM images locally
Lessons learned • Privileges • The bootstrapper runs in the user-space and need privileges to use Xen and Vmware • Compatibility • The kernel in a virtual machine created in VMware is not necessarily able to run in a Xen or KVM environment
Further work • Deploy virtual machine image into a folder and chroot in order to run natively on a worker node • Update VNB on VM during startup • Support for NT-based operating systems
Open issues • Reproducibility • Different implementations of the virtual machine hardware can cause different behaviour of a virtual machine • Firewall • Ephemeral port range can be blocked by strict firewalls
Summary • The VNB gives • Better service availability • Better resource utilization • The VNB has • Generic design • Emulates when no hypervisors are present • The VNB allows • Running multiple bootstrappers on a single host