Autoscaling updates loadbalancer with bad IP address
Bug #1192128 reported by
Steven Hardy
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Steven Hardy |
Bug Description
When you launch AutoScalingMult
Appears to be a race between us and nova, where we assume ACTIVE state means the instance is ready to be added to the LB, but then LoadBalancer:
I'm sure we fixed a similar bug a while back.
server server1 0.0.0.0:80 check inter 30s fall 5 rise 3
Changed in heat: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → havana-2 |
Changed in heat: | |
assignee: | nobody → Steven Hardy (shardy) |
assignee: | Steven Hardy (shardy) → nobody |
Changed in heat: | |
assignee: | nobody → Vijendar Komalla (vijendar-komalla) |
Changed in heat: | |
status: | Triaged → In Progress |
Changed in heat: | |
assignee: | Vijendar Komalla (vijendar-komalla) → Steven Hardy (shardy) |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | havana-2 → 2013.2 |
To post a comment you must log in.
Looks like this is a regression caused by the following commit:
commit 4bc1bcb608379cc 396113a03f2ae37 ce78f9049c
Author: Andrew Plunk <email address hidden>
Date: Wed Jun 5 14:54:41 2013 -0500
Make autoscale not dependent on loadbalancer impl.
Autoscale was calling reload on a resource, which is not part of the
resource interface. Autoscale has been modified to use update.
Change-Id: Ifb17c9def7e560 d96e26308db67b4 ee3f93a2b9f
diff --git a/heat/ engine/ resources/ autoscaling. py b/heat/ engine/ resources/ autoscaling. py engine/ resources/ autoscaling. py engine/ resources/ autoscaling. py resource. Resource) :
id_list. append( inst.FnGetRefId ())
index 7020aef..ec596e5 100644
--- a/heat/
+++ b/heat/
@@ -211,7 +211,9 @@ class InstanceGroup(
for lb in self.properties ['LoadBalancerN ames']: lb].reload( id_list) lb].json_ snippet[ 'Properties' ]['Instances' ] = \ lb].update( self.stack[ lb].json_ snippet)
- self.stack[
+ self.stack[
+ inst_list
+ self.stack[
The loadbalancer Instances list should be id_list, not inst_list