OpenNebula Quality Assurance

What is OpenNebula QA?

QA & Testing of a cloud management tool is particularly challenging as it requires validating the integration of multiple software components, from different hypervisors and storage architectures to operating systems and DB backends.

As part of OpenNebula QA we perform the following activities:

  • Development and maintenance of a testing framework to exercise all the OpenNebula components
  • Maintenance of a testing infrastructure with multiple hypervisors and storage configurations
  • Regular test execution and circling feedback through to the development process by filing issues
  • Manage up-to-date set of test cases for wide functionality scenario coverage.
  • Automation of testing and bug identification process

Test Cases

OpenNebula QA uses Jenkins as a tool for continuous integration with automated test execution. The following test cases are considered:

  • Unit Tests for the daemon core component (C++) using CPPunit, and the OpenNebula Cloud API with RSpec and JUnit. For the Open Control Architecture (OCA) bindings, unit tests are carried out for Ruby, Java, and GO.  Unit tests for Python will be included starting in the upcoming v.5.8.
  • System Tests that check the integration of the OpenNebula core, driver subsystem and OpenNebula APIs.
  • System Integration Tests exercise complex use-cases on a complete cloud stack that includes contextualization, networking and image management. These tests combine multiple hypervisors (KVM and VMware), storage configurations (shared and non-shared FS), and network configurations (VLAN, VXLAN, OVS).
  • Scalability Tests to assess the robustness and scalability of the core components when dealing with tens of thousands of VMs and hosts.

Certification Policy

OpenNebula emphasizes interoperability and portability, providing cloud users and administrators with options across most popular cloud interfaces, hypervisors and public clouds for hybrid cloud computing deployments, and with a portable software that can be installed in most hardware and software combinations.

This section outlines the general policy that guides the Project to decide on the Certified Platform Components for the upgrades and updates of OpenNebula. The release notes of each major and minor version include a matrix with the certified platforms.

Certified Linux Distributions

OpenNebula is supported in distributions widely adopted in production environments and in popular community distributions in the available versions at the time of the release of the update:

  • RedHat Enterprise Linux: Last service packs of the two major releases
  • Ubuntu: LTS release and last Ubuntu Server release
  • CentOS: Corresponding version of the Redhat supported versions if available
  • Debian: Latest stable release

Certified Hypervisors

OpenNebula supports different hypervisors:

  • KVM: Because the support for KVM is included in the Linux kernel, the operation will be supported with the default kernel provided by the Linux distribution used in the nodes. No other kernel packages or kernel compilations will be supported
  • VMware: Latest stable versions of ESX and Server products

Public Clouds

OpenNebula supports different public clouds:

  • Amazon Web Service
  • Microsoft Azure

Other Infrastructure Platform Components

Please review the Platform Notes for details on support of Other Infrastructure Platform Components.