The OpenNebula team is pleased to announce the availability of OpenNebula 5.4.6, a new maintenance release of the 5.4.x series.This version fixes multiple bugs and add some minor features, specially relevant the possibility to setting the CPU model to alleviate the performance penalties of Meltdown OS fixes.

Check the release notes for the complete set of changes.

Relevant Links

Do you operate a small Cloud infrastructure and need to optimise the centre occupancy? Then FaSS, a Fair Share Scheduler for OpenNebula (ONE), will address your issues!

FaSS is a product of the INDIGO-DataCloud project and has been developed to boost small Cloud infrastructures, like those used for scientific computing, which often operate in a saturated regime: a condition that constrains the free auto-scaling of applications. In those cases, tenants typically pay a priori for a fraction of the overall resources and are assigned a fixed quota accordingly. Nevertheless, they might want to be able to exceed their quota and to profit from additional resources temporarily left unused by other tenants. Within this business model, one definitely needs an advanced scheduling strategy.

What FaSS does is to satisfy resource requests according to an algorithm that prioritises tasks according to

  • an initial weight;
  • the historical resource usage of the project.
Software design

The software was designed to be as little intrusive as possible in the ONE code, and interacts with ONE exclusively through its XML-RPC interface. Additionally, the native ONE scheduler is preserved for matching requests to available resources.

FaSS is composed of five functional components: the Priority Manager (PM), a set of fair-share algorithms, Terminator, the XML-RPC interface and the database.

  • The PM is the main module. It periodically requests the list of pending Virtual Machines (VMs) to ONE and re-calculates the priorities in the queue by interacting with an algorithm module of choice.
  • The default algorithm in FaSS v 1 is Slurm’s MultiFactor.
  • Terminator runs asynchronously with respect to the PM. It is responsible for removing from the queue VMs in pending state for too long, as well as terminating, suspending or powering-off running VMs after a configurable Time-to-Live.
  • The XML-RPC server of FaSS intercepts the calls from the First-In-First-Out scheduler of ONE and sends back the reordered VMs queue.
  • FaSS database is InfluxDB. It stores the initial and recalculated VM priorities and some additional information for accounting purposes. No information already present in the ONE DB is duplicated in FaSS.

How can I install FaSS?

Please find the detailed instructions in GitHub.

The only prerequisites are:

  • To install ONE (versions above 5.4 operate with FaSS above v1.2, if you run a previous version of ONE you need FaSS v1.1 or before);
  • To install InfluxDB and create fassdb.

All the other requested packages are installed automatically with the rpm.

You can then install FaSS as root user:
$ cd /tmp/
$ git clone https://github.com/indigo-dc/one-fass
$ cd one-fass
$ cd rpms
$ yum localinstall one-fass-service-v1.3-1.3.x86_64.rpm

The last step is to adjust the configuration file of the ONE scheduler, to allow it to point at the FaSS endpoint instead in:
/etc/one/sched.conf
change:
ONE_XMLRPC = "http://localhost:2633/RPC2"
to:
ONE_XMLRPC = "http://localhost:2637/RPC2"

Is it difficult to use?

Not at all! A detailed usage description can be found in GitHub.

  1. Edit the initial shares for every user:
    $ cd /tmp/one-fass/etc
    and edit the file:
    shares.conf
  1. Start FaSS:
    systemctl start fass

Now FaSS is ready and working!

Additional features

There are few additional features that allow you to keep your Cloud infrastructure clean:

  • You can set your VMs to be dynamic and be terminated after a specific Time-to-Live instantiating with:
    $ onetemplate instantiate <yourtemplateid> --raw static_vm=0
  • Instead of terminating your VMs they can be powered-off, suspended or rebooted changing the action to be performed in:
    /one-fass/etc/fassd.conf
What’s next?

We are implementing several new features in FaSS, for example the possibility of setting the Time-to-Live per user. We are also planning to test several new algorithms. So stay tuned!

We are sure you are aware of the various OS patching going on to mitigate the Meltdown and Spectre security flaws.

If all your hypervisors support PCID, you can activate this for all your new VMs setting the following in your `/etc/one/vmm_exec/vmm_exec_kvm.conf` file (and restarting OpenNebula afterwards):

RAW = “<cpu mode=’host-passthrough’></cpu>”

Note that this may impair live migrations of VMs between hypervisors with heterogeneous CPUs.

The OpenNebula team is working towards an easier way to define this option on a per-VM basis, as well as support from the scheduler to pick compatible hypervisors. This will be available to the community shortly through a public maintenance release (5.4.6).

FeldHost™ Delivers new addon “Image Backup” – Tool for backuping your cloud qcow2 images

FeldHost™ is pleased to introduce a new OpenNebula addon Image Backup, which allows you to backup qcow2 images in your cloud. Script is written in NodeJS and has the following options:

  • Backup all qcow2 images
  • Backup only specific image
  • Dry run for testing purposes
  • Option to backup deployments

Benefits

  • Live snapshots with FS freeze if guest agent is enabled
  • Automatically backups new images
  • Backups also image snapshots
  • Backups deployment files
  • Easy restore – Creates backup directory tree identical with datastores

How it works?

Read the documentation to get started.

Usage example

Install dependecies, clone git repo and copy sample config:

yum install epel-release
yum install nodejs npm

OR

apt-get install nodejs
git clone https://github.com/OpenNebula/addon-image-backup.git ~/one-image-backup
cd ~/one-image-backup 
npm install
cp config.sample.js config.js

Configure by following the manual.

vi config.js

Test and verify using dry run and verbose options.
List of options.

./one-image-backup.js -dvD

Setup cron:

vi /etc/cron.d/one-image-backup

MAILTO=your@email.tld
# Run every Saturday on 01:00
00 1 * * Sat user /path/to/one-image-backup/backup.sh

What Next & Contributions

Image Backup is a new project, and there are some things to improve. Contributors are welcome, we apply the Github Pull Request model for contributions in code and documentation. Stay tuned.

We are happy to announce that the seventh edition of our community conference will be held in Amsterdam on November 12-13 2018.

OpenNebula Conferences are education events that serve as a meeting point of cloud users, developers, administrators, integrators and researchers, featuring talks with experiences and use cases. They also include tutorials, lightning talks, and hacking sessions that provide an opportunity to discuss burning ideas, and meet face to face to discuss development. Previous speakers include Santander Bank, CentOS, European Space Agency, Akamai, FermiLab, Puppet, Red Hat, BlackBerry, Harvard University, Telefonica, Akamai, Runtastic, Unity, Citrix, Trivago …

And remember… OpenNebulaConfs are vendor-neutral events focused on real-world practices and how to successfully implement open source in your cloud.

We look forward to seeing you in Amsterdam!

We have released new Linux contextualization packages (ver. 5.4.2) with wider platform support, a few improvements and bugfixes. This release is a major update. New packages are available for download on the GitHub with updated documentation for KVM/vCenter environments. Packages are compatible with the OpenNebula versions from 4.6 to 5.4.

The main focus of this release was to come again with updated packages for the Amazon EC2 environments used via OpenNebula Cloud Bursting; these packages weren’t updated for some time. Currently, only main systemd platforms CentOS 7, Ubuntu 16.04 and Debian 9 are supported via the dedicated one-context-ec2 packages, but other similar systems should work as well. Also, we have aligned the support for Alpine Linux contextualization (formerly maintained in the separate repository) and merged the required changes into the general Linux contextualization repository. From this release on, we provide the Alpine Linux package for easy setup. A fix contributed by Dmitry Tyzhnenko ensures the sudo configuration is created, if the contextualized user (specified via context parameter USERNAME) is different to root. There are also several bugfixes in the scripts, dependencies, and package creation. Please see the complete release notes on the download page.

On top of that, new KVM appliances with Alpine Linux 3.6 and Fedora 27 were added, and most of our existing generic Linux KVM appliances were updated on the OpenNebula Marketplace.

We have added the very new EC2 contextualized appliances on the OpenNebula Marketplace for a quick start with the OpenNebula Cloud Bursting on the Amazon EC2! These are available for the current generation of the EBS based HVM instances in the EC2 region us-east-1.

In case of any questions, you can use our public forum or submit an issue on the GitHub.