OpenNebula is Evolving... Fast! - Jaime Melis

28
Techday Sofia 2016 @ StorPool Sofia, Bulgaria, February 25th © OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License OpenNebula is Evolving… Fast! Jaime Melis 1

Transcript of OpenNebula is Evolving... Fast! - Jaime Melis

Techday Sofia 2016 @ StorPoolSofia, Bulgaria, February 25th

© OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License

OpenNebula is Evolving…Fast!

Jaime Melis

1

Agenda

● OpenNebula 4.14 Highlights● The Road to 5.0● OpenNebula 5.0 Highlights● MarketPlace● Docker-Machine

2

Great A'Tuin

the turtle comes, swimming slowly through the interstellar gulf, hydrogen frost on his ponderous limbs, his huge and ancient shell pocked with meteor craters. Through sea-sized eyes that are crusted with rheum and asteroid dust He stares fixedly at the Destination.

Terry Pratchett - The Colour of Magic

3

OpenNebula 4.14

● Great A'Tuin

● Last one before 5.0

● Big Release (lots of changes)

● Compatibility Guide

4

Disk and image snapshotting

● Disk snapshots are a new entity

● Create, Revert, Delete○ running, poweroff, suspended

● Subject to Quotas

● Monitor snapshot size

5

Disk and image snapshotting

● Can be exported to a new image○ $ onevm disk-saveas

○ STATES: running, poweroff, suspended○ --deferred is deprecated

● Persistent images can have snapshots○ operations: flatten, revert, delete

● 3 implementations: Ceph, FS (plain files) and Qcow2,

6

Disk Showback

● OpenNebula <= 4.12○ CPU_COST○ MEMORY_COST

● New DISK_COST is introduced

● It's a MB/hour metric

● Defined in the template

7

Recovery mechanisms for VMs

● OpenNebula is much more recoverable

● Any state can now be recovered○ --success

○ --failure

○ --retry

○ --interactive

● FAILED state is now:BOOT_FAILURE, PROLOG_MIGRATE_POWEROFF_FAILURE, etc...

8

GPU Devices

● GPUs discovered by the monitorization probes

● Can be added to a template

● Passthrough to the VM

● Subject to Quotas

9

Sunstone Rewrite

● Modularization● Templates System

$ git diff --stat release-4.12 master src/sunstone | tail -n1

823 files changed 273254 insertions(+), 201083 deletions(-)

10

Sunstone Rewrite

Zones-tab.jsOpenNebula 4.12: 390 lines

Before...

more pages...

11

Sunstone Rewrite

Zones-tab.jsOpenNebula 4.14: 36 lines

After...

more pages...

12

Cloning of running VMs

Provides the ability to clone a VM along with its reference disks and networks.

$ onevm save <vmid> <name>

Clones the VM's source Template,

replacing the disks with live snapshots

of the current disks. The VM capacity and

NICs are also preserved

States: POWEROFF

13

Import of Existing VMs

● KVM, Xen, AWS, Azure and vCenter● The monitoring probes detect wilds● wild VMs can be imported● The life-cycle can be managed

Limitations:● Delete --recreate● Undeploy (and Undeploy --hard)● Migrate (and Migrate --live)● Stop

14

Migration of VMs datastores

The System datastore of a VM can be migrated.

$ onevm migrate <range|vmid_list>

<hostid> [<datastoreid>]

15

Cold Attach / Detach of NICs and DISKS

These operations can now be executed in the POWEROFF state.

$ onevm disk-attach <vmid>

Attaches a disk to a running VM. When

using --file add only one

DISK instance.

States: RUNNING, POWEROFF

valid options: file, image, target,

cache, prefix

16

Disk Resize

Possibility to resize the size of a VM disk when instantiating the VM.

The Context packages resize the Guest when starting.

17

The Road to 5.0

● Evolution result after 8 years + ~80 releases.

● 5.x series goal○ Keep project vision and KISS adherence ○ Improve usability and refine current feature set○ As much as possible, don’t break compatibility○ Less used components to the add-on catalog

Some Highlights...

● User Interface○ Improve input fields & views in Sunstone

● Virtual Network:○ Security groups○ Virtual routers

● Storage○ Ceph as system Datastore & tuning○ Integrated Marketplace*○ Better LVM backend and new iSCSI

● Virtualization○ Make possible more operations across VM states○ Guest-Context improvements

* Discussed in this talk

● Share as less as possible● Tolerate big latencies● Reduce coupling by sharing just: User & Auth information● Federation of identities

Federation: Overview

Multimaster replication

Shared tables across zones

Sunstone

OpenNebula

Infrastructure

XML-RPC API

OpenNebula

Infrastructure

XML-RPC API

DBDB

º

º

Federation: Marketplace

oned

export image

S3 - http

Datastores

*

* Market storage (optional)

ºoned

Datastores

download image

S3 - http

external marketplaces

download to desktop

Marketplace

zone

zone

How can we share zone contents?

Federation: Marketplace Demonstration● Totally integrated, multiple uses cases, e.g.

○ Setup market for some groups○ Set access control to appliances

● 5.0 shipped with two backends○ Web server, using http transport to move images○ S3 object store through Ceph S3 gateway○ Public OpenNebula marketplace (client-only)

● Follows OpenNebula architecture:○ Datastore specific operations○ MarketPlace specific drivers

● Future plans to add more external drivers

Docker and OpenNebula

+

Docker-Machine + OpenNebula

Integrate with Docker-Machine

Use OpenNebula transparently to deploy your Docker host.

Switch between your docker hosts.

Docker-Machine

Docker-Machine Purpose

Docker Client

Public Cloud

Docker-Machine + OpenNebula - You can try it out

Try it out!

https://github.com/OpenNebula/docker-machine-opennebula

Go Bindings

GOCA

http://github.com/OpenNebula/goca

Go! bindings for OpenNebulaStill a work in progress... we want your PRs!

Questions?We Will Be Happy to Answer any Question

Building your Enterprise-ready Cloud with OpenNebula

@opennebula

You are missing a lot if you do not upgrade!

28