<tt><font size=2>Jay Lau <jay.lau.513@gmail.com> wrote on 04/26/2014
11:41:25 PM:<br>
<br>
> Just noticed this email, I have already filed a blueprint related
to<br>
> this topic </font></tt><a href="https://blueprints.launchpad.net/heat/+spec/vm-instance-"><tt><font size=2>https://blueprints.launchpad.net/heat/+spec/vm-instance-</font></tt></a><tt><font size=2><br>
> group-support<br>
</font></tt>
<br><tt><font size=2>> My idea is that can we add a new field such as
"PlacemenetPolicy" to<br>
> AutoScalingGroup? If the value is affinity, then when heat engine
<br>
> create the AutoScalingGroup, it will first create a server group <br>
> with affinity policy, then when create VM instance for the <br>
> AutoScalingGroup, heat engine will transfer the server group id as
<br>
> scheduler hints so as to make sure all the VM instances in the <br>
> AutoScalingGroup can be created with affinity policy.</font></tt>
<br><tt><font size=2>> <br>
> resources:<br>
>   WorkloadGroup:<br>
>     type: AWS::AutoScaling::AutoScalingGroup<br>
>     properties:<br>
>       AvailabilityZones: ["nova"]<br>
>       LaunchConfigurationName: {Ref: LaunchConfig}<br>
>       PlacementPolicy: ["affinity"]
<<<<<<<<<br>
>       MaxSize: 3<br>
>       MinSize: 2<br>
</font></tt>
<br><tt><font size=2>Remember that Heat has two resource types named <something>::<something>::AutoScalingGroup,
plus OS::Heat::InstanceGroup, and also OS::Heat::ResourceGroup.  Two
of those four kinds of group are almost (remember the indirection through
ScaledResource) certainly groups of Compute instances; the other two are
more open about their elements.  I think the thing you are clearly
saying that might be new in this discussion is the proposal to make one
or more of those four kinds of groups use Nova's server group feature.
 The relevant kind of group would then gain all the properties, attributes,
privileges, and responsibilities of a server group.  At least, that
makes sense to me.  The biggest questions in my mind are which kinds
of groups should get this treatment and how to cope with the cases where
the element is NOT a Compute instance.  A sub-case of that last issue
is: the scaled element is a composite thing that includes one or more Compute
instances.</font></tt>
<br>
<br><tt><font size=2>Regards,</font></tt>
<br><tt><font size=2>Mike</font></tt>
<br>