Techday Sofia 2016 @ StorPool
Sofia, 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.js
OpenNebula 4.12: 390 lines
Before...
more
pages...
11
Sunstone Rewrite
Zones-tab.js
OpenNebula 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 OpenNebula
Still 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

OpenNebula is Evolving... Fast! - Jaime Melis

  • 1.
    Techday Sofia 2016@ StorPool Sofia, Bulgaria, February 25th © OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License OpenNebula is Evolving… Fast! Jaime Melis 1
  • 2.
    Agenda ● OpenNebula 4.14Highlights ● The Road to 5.0 ● OpenNebula 5.0 Highlights ● MarketPlace ● Docker-Machine 2
  • 3.
    Great A'Tuin the turtlecomes, 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
  • 4.
    OpenNebula 4.14 ● GreatA'Tuin ● Last one before 5.0 ● Big Release (lots of changes) ● Compatibility Guide 4
  • 5.
    Disk and imagesnapshotting ● Disk snapshots are a new entity ● Create, Revert, Delete ○ running, poweroff, suspended ● Subject to Quotas ● Monitor snapshot size 5
  • 6.
    Disk and imagesnapshotting ● 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
  • 7.
    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
  • 8.
    Recovery mechanisms forVMs ● 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
  • 9.
    GPU Devices ● GPUsdiscovered by the monitorization probes ● Can be added to a template ● Passthrough to the VM ● Subject to Quotas 9
  • 10.
    Sunstone Rewrite ● Modularization ●Templates System $ git diff --stat release-4.12 master src/sunstone | tail -n1 823 files changed 273254 insertions(+), 201083 deletions(-) 10
  • 11.
    Sunstone Rewrite Zones-tab.js OpenNebula 4.12:390 lines Before... more pages... 11
  • 12.
    Sunstone Rewrite Zones-tab.js OpenNebula 4.14:36 lines After... more pages... 12
  • 13.
    Cloning of runningVMs 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
  • 14.
    Import of ExistingVMs ● 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
  • 15.
    Migration of VMsdatastores The System datastore of a VM can be migrated. $ onevm migrate <range|vmid_list> <hostid> [<datastoreid>] 15
  • 16.
    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
  • 17.
    Disk Resize Possibility toresize the size of a VM disk when instantiating the VM. The Context packages resize the Guest when starting. 17
  • 18.
    The Road to5.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
  • 19.
    Some Highlights... ● UserInterface ○ 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
  • 20.
    ● Share asless 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
  • 21.
    º º 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?
  • 22.
    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
  • 23.
  • 24.
    Docker-Machine + OpenNebula Integratewith Docker-Machine Use OpenNebula transparently to deploy your Docker host. Switch between your docker hosts.
  • 25.
  • 26.
    Docker-Machine + OpenNebula- You can try it out Try it out! https://github.com/OpenNebula/ docker-machine-opennebula
  • 27.
    Go Bindings GOCA http://github.com/OpenNebula/goca Go! bindingsfor OpenNebula Still a work in progress... we want your PRs!
  • 28.
    Questions? We Will BeHappy to Answer any Question Building your Enterprise-ready Cloud with OpenNebula @opennebula You are missing a lot if you do not upgrade! 28