FaSS – Fair Share Scheduler for OpenNebula

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 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!

Mitigating Meltdown Performance Penalty

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).

New Image Backup Addon for Cloud qcow2 Images

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.

OpenNebulaConf Coming to Amsterdam in November 2018

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!

New Linux Contextualization Packages

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.

 

 

 

 

OpenNebula 2017: Year in Review

As we quickly finish the last hours of 2017, we want to recap on what it meant for OpenNebula and summarize the huge achievements and milestones that the project had throughout the year.

OpenNebula turned 10 years old in 2017. We believe this is an astounding accomplishment by an infrastructure open source project that has achieved a high degree of matureness, and we would like to thank the OpenNebula community for their support. It wouldn’t be possible to achieve the adoption that OpenNebula has without your interest and engagement. We’d like to thank specially the project contributors for the efforts in bringing excellence to the cloud management platform field.

Some great improvements have been introduced this year in OpenNebula. Blackberry’s request for VM Groups was a great challenge but finally we could add this new feature in OpenNebula 5.4. Also the University of Louvain has funded new enhancements such as the Non-SLAAC IPv6 Address Range and the configurable image persistence setting. We would like to thank these sponsors, as we understand it they are helping not only the OpenNebula project but also the open source community.

OpenNebula adoption keeps striving at a healthy pace. We are proud to count very large scale infrastructures spanning across datacenters and based on heterogeneous virtualization, storage and networking platforms. We are happy to continue the same download rate as last year of OpenNebula packages served by our repositories, not counting the OpenNebula packages included in the most popular Linux distros.

Two important releases were deployed this year, OpenNebula 5.4 and vOneCloud 3.0, introducing significant features.

OpenNebula 5.4 (Medusa) arrived in June with a great acceptance among our users. Since then, 5 incremental releases were deployed to fix and improve this new software version. One of the major improvements is the native implementation of RAFT consensus algorithm which enables the High Availability deployment of the OpenNebula front-end without relying on third party components. VM groups were born this year, now any user will be able to group virtual machines depending on their role, activity, resources… Thanks to the feedback from our community, we know that this new feature is being really helpful for many of you. Cheers for that! You can follow the changelog on our documentation page to check this release or any previous one.

The OpenNebula team managed to implement full storage and network management capabilities on vOneCloud 3.0. Of course we did many more things that you can check on the release notes. Meanwhile, documentation has been updated to match this last vOneCloud release.

The OpenNebula community are most active than ever. 2017 was the year of amazing contributions to the OpenNebula ecosystem, ranging from support to LXD containers to many other contributions like addons, functionality patches, feedback for future releases, messages in the forum, twitter and so on. If interested in learning more about these contributions, along with other details about the great progress that we have seen for the OpenNebula project, check our monthly newsletters.

This year the first OpenNebulaConf in the US was held in Boston where important institutions such as Harvard, Akamai and Telefonica showed the multiple advantages of using OpenNebula. If you missed it or just wish to review the talks and courses given, check the web page of the conference. One more year the OpenNebulaConf in Europe was a success with people attending from everywhere around the world. This meeting was held in Madrid and was a two day long event where the people from Runtastic, Blackberry, Trivago and many other companies spoke about how they use OpenNebula and why. If you are interested on what they said you can find slides, pictures, videos and many other content in the conference’s website

In addition OpenNebula experts were present at the TechDays organised all around the globe. These events aim to teach and show the advantages of using OpenNebula. Of course this would not have been possible without our beloved hosts that prepared a warm and nice environment for our TechDays talks: Bit in Netherlands, Best Buy in CanadaFlyTech and CSUC in SpainStorPool in BulgariaTelefonica in SpainCESNET in Czech Republic….

Finally, same as in 2016, we want to highlight the participation in both VMworld editions, Europe and US, where the team were showcasing vOneCloud functionality over vCenter, with massive improvements like full networking and storage support. We are planning to come back in 2018 with even more advanced functionality, so stay tuned!

***

The OpenNebula team wishes happiness and prosperity in 2018 to you and your loved ones!

— The OpenNebula Team

OpenNebula Newsletter – December 2017

As expected, we have been working hard to finish 2017 stronger than ever. Below you will find a brief recap on the work done this month to keep OpenNebula ready.

The amazing response from our community to the call for TechDay hosts published last month is just another sign that things are going great around OpenNebula and we appreciate the effort. The schedule of events for 2018 will be published within the first weeks of January. Now we are focussing on keeping everything prepared for the upcoming year, which seems to be full of new and amazing challenges.

Technology

Improvements on Sunstone and the EC2 drivers were introduced this month. These came along with our two latests hotfix releases: OpenNebula 5.4.4 and 5.4.5.

An even faster Sunstone? Yes!

Our team managed to improve Sunstone’s load times so you can focus on your cloud administration. Some other suggestions have been implemented such us the request to make changes on the settings page and increase the disk size with the beautiful Sunstone slider. For the EC2 drivers some issues related with custom userdata have been solved successfully, also we made it possible to add EC2 target hosts through Sunstone.

But this is just a little summary, you can check other changes and enhancements on the following links:

We never give up! Even though migrating from Redmine to Github was a very tedious job, we managed to label all the issues correctly and in a cleaner way.

Community

As an open source project, OpenNebula needs the support of a proactive community of users, which we are glad to have!

It is a pleasure for us to see how you interact with each other solving doubts and asking questions. However, to enhance the activity of our Forum we have an active support team trying to solve your questions at any time. Feel free to ask and answer any question and if you are not yet part of our amazing community you can register with a few clicks at the forum’s main page.

Great news coming from Germany. Adacor Hosting now manages it’s virtualization system using OpenNebula. They published an interesting article where you can find the reasons for their change from OpenStack to OpenNebula.

OpenNebula is an open source cloud solution that provides a highly available, scalable and highly efficient virtualization platform

Another inspiring article, this time about vOneCloud, can be found here . In this article you will find an overall explanation of what vOneCloud can do for you, along with some useful links for downloading the latest vOneCloud release.

vOneCloud is for companies that want to create a self-service cloud environment on top of their VMware infrastructure without having to abandon their investment in VMware and retool the entire stack.

It is also worth noting that Virtuozzo now seamlessly integrates with OpenNebula. Therefore OpenNebula can be used as the orchestrator of this fine hyperconvergence platform. This is very good news for the OpenNebula ecosystem!

We are pleased to announce support of OpenNebula as a management panel for Virtuozzo’s Hyperconverged Platform. By combining the vast capabilities of OpenNebula with Virtuozzo-specific features of hypervisor and software defined storage, users are able to take advantages of the combined synergies

Outreach

PA240428

Next year is full of surprises, events and hard work, so please stay tuned!

vOneCloud 3.0.4 released!

We want to let you know that OpenNebula Systems has just announced the availability of vOneCloud version 3.0.4.

vOneCloud 3.0.4 is based in OpenNebula 5.4.5 and as such it includes all the bug fixes and functionalities introduced in 5.4.5: OpenNebula 5.4.5 Release Notes.

vOneCloud 3.0.4 is a maintenance release with the following bugfixes:

  • CPU monitoring in EC2 CloudWatch intermitent failures.
  • Cannot instantiate VM in Cloud view.
  • Unable to make changes on Sunstone settings page.
  • Image not decompressed on upload.
  • OpenNebula marketplace driver will not process image when a parser error occurs.
  • Inherit attributes may conflict with restricted attributes.
  • Disk size slider only goes up to 508GB.
  • oneshowback calculated times out
  • Sunstone no way for disable select auth type on settings tab.
  • Error getting group name in onegroup command.
  • onedb change body does not warn about connection issues or missing ids.
  • Better estimate image sizes when downloading from HTTP servers non marketplace.
  • Segfault when attaching interface to virtual router.
  • Improve Sunstone load times.
  • EC2 target host cant be added via Sunstone.
  • cloud view should not display remove icon of a template if the user has no MANAGE permissions.
  • Cannot authenticate via LDAP with group set.
  • Sunstone TypeError Cannot read property updateView
  • Floating IP is not freed from the network leases.
  • EC2 deployment fails with custom USERDATA

Relevant Links

OpenNebula Newsletter – November 2017

A summary of the activity of the OpenNebula project this last month.

Happy birthday to OpenNebula! 10 years managing cloud infrastructures have turned OpenNebula into a robust and fully featured cloud management platform. We want to thank our community for the feedback and support all along this years, we are very happy with this milestone!

We remind you that a Call for Hosts has just been published for our TechDays, which will take place throughout the upcoming year. Take a look at the guidelines and feel free to send us your contact information through this form.

Technology

A new hotfix release for Medusa, 5.4.3 (you can learn more about hotfix releases in this link), has been released. Some of the new functionality available in 5.4.3:

  • Explain how to add HTTPS to XMLRPC
  • Force even memory values for MEM attribute
  • Wild VMs should import NICs and Disks

vOneCloud 3.0.3 has also been released this month. This version of vOneCloud is based in the latest OpenNebula version and as such it includes all the bug fixes and functionalities introduced in 5.4.3.

A major change has been demanded by many of you, so we thought that this was the perfect time to fulfil your wishes. Good bye Redmine, hello Github. OpenNebula has successfully migrated all issues to Github! Still, work has to be done on labelling, but we are working very hard on it to make it easier for you to give us feedback or request some new features.

Community

OpenNebula is 10 years old! Ten years is a long time in the technology industry, and this is an amazing accomplishment by an infrastructure open source project. Thanks to the great support of our community, today we can celebrate our 10th anniversary. One decade working with and for you, has been a great pleasure. Thanks!

We are glad to see that CIEMAT has chosen OpenNebula for their cloud HTC infrastructure. It is always a great honor to help leading organisations on research, to continue with their great work. If you are interested on the implementation details, you can find the description of the HPC, access rules and some OpenNebula tutorials on the RICAP’s infrastructure website.

No need to say that we firmly encourage OpenNebula users to contribute to our GitHub  and ask any question in our forum .

Outreach

We are opening the Call for Hosts for the OpenNebula TechDays 2018. The OpenNebula Cloud TechDays are day-long educational and networking events to learn about OpenNebula. Join our technical experts from OpenNebula by OpenNebula Systems for a one-day, hands-on workshop on cloud installation and operation.

If you are interested in becoming a host of a TechDay for 2018, please read the guidelines and apply.

Cloud TechDays 2018 – Call for Hosts

We are opening the Call for Hosts for the OpenNebula TechDays 2018!

The OpenNebula Cloud TechDays are day-long educational and networking events to learn about OpenNebula.  Join our technical experts from OpenNebula by OpenNebula Systems for a one-day, hands-on workshop on cloud installation and operation. You’ll get a comprehensive overview of OpenNebula and will be equipped with the skills to take this back to your company and implement right away.

The OpenNebula TechDay events are targeted at

  • Cloud architects
  • Data center admins
  • Systems admins and integrators
  • DevOps architects
  • Solutions architect

The emphasis is to deliver an education oriented event, with local speakers and users to come together to share stories from their experiences using OpenNebula.

OpenNebula TechDays started in March 2014 and we’ve celebrated already 28 TechDays in the Netherlands, Belgium, Spain, United States, Romania, Czech Republic, France, Canada, Malaysia, Bulgaria, Germany and Ireland. They have been hosted by organizations like:

  • BestBuy
  • Telefonica
  • BIT.nl
  • Transunion
  • HYVE
  • Microsoft
  • BlackBerry
  • Harvard University
  • Netways
  • and many others

Do you wish to become a TechDay host for 2018? It’s very easy, drop by the TechDays guidelines and form, and get in contact with us, we only require that you provide a room with enough capacity for the attendees and some essential materials (wifi, projector, etc…). Deadline for this call is December 15, 2017.

Thanks!