INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD,...

24
INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen- [email protected] Virtual Node bootstrapper (VNB)
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD,...

Page 1: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

An On-Demand Dynamic Virtualization Manager

Øyvind Valen-Sendstad

CERN – IT/GD, ETICS

[email protected]

Virtual Node bootstrapper (VNB)

Page 2: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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

2

Page 3: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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

3

Page 4: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

4

ArchitectureETICS is not ‘just’ a build system

Page 5: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

ETICS build infrastructure - static platforms

X 5SL5 / 64

X 5Mac OSX

X 5SL5 / 32

X 5SL5 / 64

X 5SLC4

X 5 Debian

X 5 Ubuntu 7

X 5SL5

New SL5 Job

Physical node

Virtual static nodes

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

Page 6: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

ETICS build infrastructure - static platforms

X 5SL5 / 64

X 5Mac OSX

X 5 SL5 / 32

X 5RH7

X 5SLC4

X 5Debian

X 5Ubuntu 7

X 5SL5

New RH7 Job

Physical node

Virtual static nodes

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

Page 7: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782The proposed solution: dynamic virtual platforms

New job

AvailableX 5 X 5

Physical machine

Virtual machine

AvailableX 5

AvailableX 5

Available

VM repository

X

AvailableX 5

AvailableX 5

AvailableX 5

AvailableX 5

Page 8: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

The bootstrap process

8

1. User submits a build/test for a specific platform2. Request arrives to VNB3. VNB determines platform and hypervisor support4. Downloads a suitable VM from repository (or local cache)5. Deploys the VM6. Executes job7. Returns results8. Cleans up

Page 9: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying the bootstrapper

Page 10: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying the bootstrapper

Page 11: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Page 12: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Page 13: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying the bootstrapper

Page 14: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying the virtual machine

Page 15: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying the virtual machine

Page 16: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying multiple virtual machines on the same node

Page 17: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying multiple virtual machines on the same node

Page 18: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Deploying multiple virtual machines on the same node

Page 19: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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)

19

Page 20: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

Status

Working• Bootstrap process, tested on VMware and KVM

Remaining• Testing on Xen• Support for NT-based operating systems• Caching VM images locally

20

Page 21: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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

21

Page 22: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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

Page 23: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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

23

Page 24: INFSO-RI-223782 An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Oeyvind.valen-sendstad@cern.ch Virtual Node bootstrapper.

INFSO-RI-223782

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