One of the most challenging tasks one can face is deploying an infrastructure from nothing. When we’re faced with a net new environment, we often don’t have the tools we’re used to, like VMware vCenter, or VMware Auto Deploy. Both of these tools have other dependancies, which require a working infrastructure. Sometimes, the answer may be to manually build a VMware ESXi host, on which we can then install other key infrastructure components, in order to grow the environment. For example, we may want to leverage a single ESXi host to deploy VMware vRealize Orchestrator, and then use vRO to deploy the rest of our infrastructure. Automating this initial build, while it may not seem important, can be key to the ability to scale up and scale down an infrastructure as needed.
OpenStack on OpenStack, or OpenStackCeption
Enter TripleO, or OpenStack on OpenStack. TripleO is currently in incubation, which means it still has a ways to go before it becomes an official OpenStack program. The theory behind TripleO is first creating a deployment cloud, hosting some of the key OpenStack services you will need to build your production cloud. This may be a smaller environment that doesn’t fully leverage as many high availability features as out production cloud. One of the key components in the deployment cloud is Heat, or OpenStack’s orchestration program. It is with Heat that we will orchestrate the build out of our production cloud. The provisioning templates and disk images we need are some of the key components of our TripleO deployment, and we can easily import them into a newer or different deployment cloud as needed.
(From the TripleO Architecture Overview)
CI/CD of Our OpenStack Cloud
One use case for TripleO is to help us with a CI/CD model for our own OpenStack cloud environment. There may be new features we want to test out, or we may end up writing some custom code specifically for our own environment. We can then leverage TripleO to rapidly deploy a fresh OpenStack with these features integrated, or to simply see if anything breaks when we add new OpenStack components.
TripleO developers do exactly this. Besides using the environment to develop and test TripleO itself, a future use case is to enable further testing of Nova and Ironic. This is another great example of the OpenStack community working together to enable the rapid development of programs and features.
While TripleO is still in incubation, I have found it to be one of the best documented programs out there. Since it is still in incubation, deployment is not as streamlined and simple as the it will be in the desired end state. It may not be ready for many environments, but a read through of the deployment guide will help those interested get an idea of the effort involved.
Song of the Day – Bastille – Bite Down (Bastille vs. HAIM)