It goes without saying that making OpenStack easy testable is crucial for future of OpenStack adoption. Let’s see how OpenStack testing process can be improved by Rally functional testing control plane.
OpenStack architecture pros & cons in nutshell
OpenStack has micro-services architecture. There are bunch of projects, each project has bunch of services, and these services are collaborating together to provide IaaS and PaaS. Micro services approach is not the silver bullet architecture that resolves all issues.
Benefits of Micro Services approach
- Isolation. Every part of system: VM, Volumes, Images, Object Storage is separated project, with separated API. So even if implementation is bad it can be rewritten without affecting other parts of system.
- Scale. Projects are developed separately, this means separated teams (with their experts and leads) are working on separated projects.
Issues of micro services approach
- Common functionality. If you would like to add new API method to all services, or to new
- Deployment configuration and management. You need to use separated projects that will just install and manage it. Like Fuel, RDO, JuJu.
- CI/CD. Testing requires very smart CI/CD that can pick proper versions of every project, configure all projects properly, start all services and then run tests.
- Testing. Every project requires test that brings big issues. Those issues and how to mitigate them is the goal of this blogpost.
Why it is hard to test OpenStack?