Hi folks, when I left off before I had showed you how to create a single catalog item in the self-service portal of CloudForms with RHEV. Now we’re going to expand on that theme by creating a multi-item catalog bundle. This is where things really start getting interesting. Hopefully you start getting ideas in your own heads as to how to change things for your own environments and adapt things for your own needs.
Let’s get started.
As I showed you before, there is in fact a use case for single VM self-service; everyone seems to need a VM for something. Squid server, corporate game server, hidden MP3 stash, whatever. But if you’re supporting a team of developers or you have production environments that need to be rolled out and/or added to, then the ability to push those complete environments out in a repeatable, consistent, and compliant fashion at the push of a button is a better use case.
That “environment” might include 10 VMs with several different applications that all work together at different levels, that install at different speeds, have different dependencies, and have different network needs. That’s all doable. I’m going to give you a small taste of that in today’s post. Our “stunt environment” consists of a classic 3 tier environment – web, middleware, and database.
Building it is similar to the “single catalog item” example from last week. We create 2 or more single items, then go back one more time to the “Configuration” drop down and select “bundle” instead of “item”. The big difference (little, really) is that we might not want them appearing in the catalog list, so we won’t check the “appear in catalog” box. From there, we select state machines to initialize and retire the bundle, then we simply start “adding resources” (catalog items) to our bundle. We can also add delay times to the creation so that certain VMs finish before or after others.
Let’s look at the demo (best viewed in full screen):
There is plenty of room for customization along the way. The state machines can be customized to pull from IPAM solutions like BlueCat or InfoBlox. Ansible or Puppet can be utilized. The dialog boxes can be customized to enter in user information or host information. Other third party tools can be pulled in and utilized. The CloudForms API is bi-directional, so you can push and pull.
When I close this series out next time, we’ll actually use the self-service portal. We’ll flip back and forth between CloudForms and RHEV to see that CloudForms is calling the shots, but RHEV is still doing the heavy lifting. You’ll also see that the portal itself already exists; we don’t have to set it up at all. We’re just creating the content that goes in it.
As always, comments and questions are welcome!
Hope this helps,