[openstack-dev] [magnum][heat] spawn a group of nodes on different availability zones
Mathieu Velten
mathieu.velten at cern.ch
Wed Mar 2 10:50:52 UTC 2016
Hi all,
I am looking at a way to spawn nodes in different specified
availability zones when deploying a cluster with Magnum.
Currently Magnum directly uses predefined Heat templates with Heat
parameters to handle configuration.
I tried to reach my goal by sticking to this model, however I couldn't
find a suitable Heat construct that would allow that.
Here are the details of my investigation :
- OS::Heat::ResourceGroup doesn't allow to specify a list as a variable
that would be iterated over, so we would need one ResourceGroup by AZ
- OS::Nova::ServerGroup only allows restriction at the hypervisor level
- OS::Heat::InstanceGroup has an AZs parameter but it is marked
unimplemented , and is CFN specific.
- OS::Nova::HostAggregate only seems to allow adding some metadatas to
a group of hosts in a defined availability zone
- repeat function only works inside the properties section of a
resource and can't be used at the resource level itself, hence
something like that is not allowed :
resources:
repeat:
for_each:
<%az%>: { get_param: availability_zones }
template:
rg-<%az%>:
type: OS::Heat::ResourceGroup
properties:
count: 2
resource_def:
type: hot_single_server.yaml
properties:
availability_zone: <%az%>
The only possibility that I see is generating a ResourceGroup by AZ,
but it would induce some big changes in Magnum to handle
modification/generation of templates.
Any ideas ?
Regards,
Mathieu Velten
More information about the OpenStack-dev
mailing list