OneFlow allows users and administrators to define, execute and manage multi-tiered applications, or services composed of interconnected Virtual Machines with deployment dependencies between them. These groups of Virtual Machines are deployed and managed as a single entity.
One of the new features in 4.8 is the definition of dynamic networks for OneFlow Services. This allows you to create more generic Service Templates. For example, the same Service Template can be used by users of different VDC’s that may have access to different Virtual Networks.
The following diagram shows a sample Service with two roles, Master and Slave. The Slave role contains 3 VMs, and must be deployed after the Master role VM is running. There are two networks, “Internal” and “Public”.
The Service Template must be defined by the cloud administrator, and it looks like this in Sunstone:
As you can see, the Public and Internal networks are defined in the Service Template. These networks are not attached to any specific OpenNebula Virtual Network yet, that will happen when the users instantiate the Service.
The slave role has a VM Template defined to start the 3 VMs. The VM Templates can be configured with user inputs, another new feature of OpenNebula 4.8. This will help you to create a customized instance each time a new Service is created. In this example, we will ask the user for a couple of configuration attributes in the master role VM Template:
Now everything is ready to be published. This is how the Service Template will look for the end users:
After the Service creation, the users will get a nice interface that hides most of the complexity behind it:
We hope that you find these new features useful to prepare complex deployments for your users. You can read more in our documentation, and see more new features in our screencasts. If you can’t upgrade to 4.8 yet, give it a try in your laptop with one of our sandbox machines.