I've been reading up about Cloudbreak - with specific interest in deploying a HDP2.4 cluster to Openstack. It seems like Cloudbreak is a much better alternative to using the Openstack CLI. However I am confused about the templating capabilities of Cloudbreak. Can it do things like multiple networks with routers/firewalls between them? Can I create other machines which are not specifically Hadoop servers (eg a web server)? Can I specify other software to be included on my Hadoop nodes - eg LUKS disk encryption?
I know that most of Cloudbreak templating is based on Ambari blueprints - but is that is? Can blueprints do all the above things?
Currently Cloudbreak supporting 3 way of network configuration:
Create a new network and a new subnet: Every time a cluster is created with this kind of network setup a new network and a new subnet with the specified IP range will be created for the instances on OpenStack.
Create a new subnet in an existing network: Use this kind of network setup if you already have a network on OpenStack where you'd like to put the Cloudbreak created cluster but you'd like to have a separate subnet for it.
Use an existing subnet in an existing network: Use this kind of network setup if you have an existing network with one or more subnets on OpenStack and you'd like to start the instances of a cluster in one of those subnets.
If you want to run some custom service then you can use our recipe feature which is described in the documentation : Recipes
If you want to use some other custom functionality on network side then cloudbreak is an opensource project so I suggest to submit a pull request (which is very welcomed) or request it with a github issue.
How you configure your existing network it's up to you. For volumes we do do it through API or Heat templates and there is no out of the box customization available yet. You might want to do the LUKS through Cinder volume type creates and modify the template/code in Cloudbreak to reuse that encrypted volume. For custom things (e.g. web server) - currently it's the default Ambari stack with all the OTB components/services - though Ambari supports custom stacks.