OpenNebula Quality Assurance
What is OpenNebula QA?
OpenNebula QA is the part of the OpenNebula project which covers all testing of the software that makes up an OpenNebula release. Its goal is to improve the quality of OpenNebula releases and updates. Testing & QA of a cloud management tool is particularly challenging as it requires to verify 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 & maintenance of a testing framework to exercise all the OpenNebula components
Maintenance of a testing infrastructure with multiple hypervisors and storage configurations
Regularly performing tests and feedback the development process by filling issues
Keep and up-to-date set of test cases to exercise a wide functionality scenarios
Automate the testing and bug identification process
OpenNebula QA uses Jenkins as tool for continuous integration with automated test execution, the following test cases are considered:
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, Xen and VMware) and storage configurations (shared and non-shared FS).
Scalability Tests, to asses the robustness and scalability of the core components when dealing with tens of thousands of VMs and hosts.
OpenNebula emphasizes interoperability and portability, providing cloud users and administrators with choice 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
OpenNebula supports three 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
OpenNebula supports three different public clouds:
- Amazon Web Service
- Microsoft Azure
Other Infrastructure Platform Components
OpenNebula supports the stable version at the time of the release of the update.