[openstack-dev] [Heat] rough draft of Heat autoscaling API
Zane Bitter
zbitter at redhat.com
Mon Nov 18 09:24:02 UTC 2013
On 16/11/13 11:11, Angus Salkeld wrote:
> On 15/11/13 16:32 +0100, Zane Bitter wrote:
>> On 14/11/13 19:53, Christopher Armstrong wrote:
>>> I'm a little unclear as to what point you're making here. Right now, the
>>> "launch configuration" is specified in the scaling group by the
>>> "resources" property of the request json body. It's not a full template,
>>> but just a "snippet" of a set of resources you want scaled.
>>
>> Right, and this has a couple of effects, particularly for Heat:
>> 1) You can't share a single launch config between scaling groups -
>> this hurts composability of templates.
>> 2) The AWS::EC2::Launch config wouldn't correspond to a real API, so
>> we would have to continue to implement it using the current hack.
>
> IMHO we should not let the design be altered by aws resources.
> - let lauchconfing be ugly.
So, if our design was clearly better I probably would agree with you.
But having launchconfig as a thing separate from a scaling group means:
* You can share one launch config between multiple scaling groups - it's
more composable.
* You can delete a scaling group and then recreate it again without
respecifying all of the launchconfig parameters (which are the finicky
part).
* The CLI interface can be much simpler, since you wouldn't have to
supply all the configuration for the scaling group and the server
properties at the same time.
So I would would want this whether or not it enabled us to eliminate a
bunch of magic/hackery/technical debt from our AWS-compatible resource
plugins. It does though, which is even more reason to do it.
> - make the primary interface of a scaling unit be a nested stack (with
> our new config resources etc..)
So, I don't think we disagree in concept here, only about the
implementation...
Surely, though, we don't want to require the user to provide a Heat
template for every operation? One of the goals of a separate autoscaling
API is that you shouldn't need to write Heat templates to use
autoscaling in the simplest case (though, of course, it's completely
appropriate to require writing templates expose more powerful features).
That could still be achieved by having a default template that just
contains an OS::Nova::Server, but now we're back to just disagreeing
about implementation details.
cheers,
Zane.
More information about the OpenStack-dev
mailing list