~~NOTOC~~

OpenNebula Quality Assurance

**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 ====== Test Cases ====== OpenNebula QA uses Jenkins as tool for continuous integration with automated test execution, the following test cases are considered: * **Unit Tests**, for the daemon core component (C++) using [[ http://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page|CPPunit]], and the OpenNebula Cloud API with [[http://rspec.info/|RSpec]] and [[http://www.junit.org/|Junit]] * **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. ====== Certification Policy ====== 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 * **SUSE Linux Enterprise**: Latest stable release * **CentOS**: Corresponding version of the Redhat supported versions if available * **openSUSE**: Latest stable release * **Debian**: Latest stable release ===== Certified Hypervisors ===== OpenNebula supports four 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 * **Xen Community**: Version supported by the linux distribution used in the cloud infrastructure nodes * **VMware**: Latest stable versions of ESX and Server products Citrix Xen Server and Hyper-V can be also supported. Please contact us for more details.