-
Notifications
You must be signed in to change notification settings - Fork 492
Quality Assurance
- What is OpenNebula QA?
- Test Cases
- Certification Policy
- Certified Linux Distributions
- Certified Hypervisors
- Compatibility of Workloads on Certified Edge Clusters
- Other Infrastructure Platform Components
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
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.
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.
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: Latest service packs of the two major releases
- Ubuntu: Two latest LTS releases
- CentOS: Corresponding version of the RedHat supported versions if available
- Debian: Two latest LTS releases
OpenNebula supports different hypervisors:
- Libvirt/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
- LXC: Support for LXC version included in the Linux distribution
- VMware: latest stable version of vSphere
- Firecracker/KVM: Support for Firecracker and KVM versions included in the Linux distribution.
Please review this section to learn which combinations of hypervisors and public cloud providers can be used to dynamically generate Edge Clusters.
Please review the Platform Notes for details on support of Other Infrastructure Platform Components.
A. Use OpenNebula
- Release Packages
- Release Schedule
- Release Policy
- Product Roadmap
- Community Forum
- Documentation
- Documentation Archives
- QA & Testing
- Bugs & Feature Requests
B. Code OpenNebula
- Software Repo
- Documentation Repo
- How to Contribute
- Localization
- Sign your Work
- Vulnerability Management
C. Create an Add-on
D. Spread the Word