[Openstack] Using heat template for defining floating IPs for instances created by Autoscaling::LaunchConfiguration

Pekka Rinne tsierkkis at gmail.com
Thu Sep 12 13:33:47 UTC 2013


hello

By using LoadBalancing I think traffic from outside can be handled. But in
my case I'd need private network between instances, and then all instances
should be able to connect to each other by using a network that is not
visible outside. Also there could be several private internal networks, and
some instances would get access to all of them but some only to few
networks.

I have tried this so that in heat template I define internal Neutron
network and sub net and let AutoScaling create the instances. What happens
is that Horizon network topology does always show that the instances are
attached to the private network automatically. But the instances are not
always able to get IP address from DHCP . Not even if i try that manually
after stack processing is done. Sometimes this does work ok. Is this the
intended way how internal network should be used in this case?

But in case I have in my private network several sub nets, how the instance
could get IP from all (or some) of them? Now it seems that it only gets IP
from one subnet and it seems it just takes the first one.

Or i.e. how an instance created by auto scaling can get IP from subnets
created by the template (or from already existing networks). And the sub
nets could be in different private networks.

Also if I define in template more than one network heat fails the
AutoScalingGroup creation  : HTTP 400 Multiple possible networks found, use
a Network ID to be more specific
But I do not see any network ID parameter for AutoScalingGroup.

br,
Pekka




2013/9/11 Steven Hardy <shardy at redhat.com>

> On Wed, Sep 11, 2013 at 10:59:25AM +0300, Pekka Rinne wrote:
> > hi all
> >
> > If I create AutoScalingGroup by using heat and define in template
> > AWS::AutoScaling::AutoScalingGroup,
> AWS::AutoScaling::LaunchConfiguration,
> > AWS::AutoScaling::ScalingPolicy and OS::Ceilometer::Alarms for up&down
> > scaling - how is it intended that I can automatically associate Neutron
> > Floating IPs to instances created this way? Is there already existing
> some
> > mechanism that can handle this by using heat template?
>
> The more common topology for this kind of deployment would be an
> AutoScalingGroup behind a LoadBalancer resource, with an EIP associated
> with the LoadBalancer.
>
> > As in heat template it is not possible to define directly Neutron ports
> for
> > e.g. LaunchConfiguration.
>
> However, if your use-case demands it, I think this *should* be possible,
> can you expand on why it is not?
>
> Note that when defining the Neutron port, the ip_address is optional, and
> if ommitted, Neutron will allocate the first available fixed IP from the
> pool the instance:
>
> https://wiki.openstack.org/wiki/Neutron/APIv2-specification#Create_Port
>
> > And then when up scaling happens the new instances would need to have
> > floating IPs and ports as well. In down scaling network resources could
> be
> > released.
> >
> > The only way I could think of is that I would run stack update or use
> > horizon, but its not very practical with auto scaling.
> >
> > Or is there this kind of feature in road maps?
>
> I think we need to better understand your use-case, associating an EIP with
> every instance in a scaling group seems like a somewhat odd requirement,
> but as outlined above, I don't think it's impossible if you really need it.
>
> Steve
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130912/079cbb9a/attachment.html>


More information about the Openstack mailing list