quantum instance list index out of range
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Steve Baker |
Bug Description
From: Pekka Rinne <email address hidden>
I've got a template which gives list index out of range occasionally from heat (grizzly). Any ideas why? sometimes it works ok. Some kind of race situation? I'm just trying to learn quantum usage here..
2013-06-18 18:52:02.585 27948 ERROR heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
2013-06-18 18:52:02.585 27948 TRACE heat.engine.
{
"AWSTemplate
"Description" : "tbd",
"Parameters" : {
"KeyName" : {
"Type" : "String"
},
"InstanceType" : {
"Type" : "String",
"Default" : "m1.small",
},
"MyDistrib
"Default": "MyDistro",
"Type": "String",
}
},
"Mappings" : {
"AWSInstan
"m1.small" : { "Arch" : "64" }
},
"DistroArc
"MyDistro" : { "64" : "ubuntu1304-amd64" }
}
},
"Resources" : {
"network1": {
"Type": "OS::Quantum::Net"
},
"network2": {
"Type": "OS::Quantum::Net"
},
"mgmt-subnet": {
"Type": "OS::Quantum:
"Properties": {
"cidr": "30.0.1.0/24",
"gateway_ip": "30.0.1.1",
"allocation_pools": [{"start": "30.0.1.2", "end": "30.0.1.20"}]
}
},
"traffic-
"Type": "OS::Quantum:
"Properties": {
"cidr": "40.0.1.0/24",
"gateway_ip": "40.0.1.1",
"allocation_pools": [{"start": "40.0.1.2", "end": "40.0.1.20"}]
}
},
"network1po
"Type": "OS::Quantum:
"Properties": {
}
},
"network1po
"Type": "OS::Quantum:
"Properties": {
}
},
"network2po
"Type": "OS::Quantum:
"Properties": {
}
},
"network2po
"Type": "OS::Quantum:
"Properties": {
}
},
"inst1": {
"Type": "AWS::EC2:
"Metadata" : {
}
},
"ImageId" : { "Fn::FindInMap" : [ "DistroArch2AMI", { "Ref" : "MyDistribution" },
"KeyName" : { "Ref" : "KeyName" },
"NetworkInte
{ "NetworkInterfa
{ "NetworkInterfa
]
}
},
"inst2": {
"Type": "AWS::EC2:
"Metadata" : {
}
},
"ImageId" : { "Fn::FindInMap" : [ "DistroArch2AMI", { "Ref" : "MyDistribution" },
"KeyName" : { "Ref" : "KeyName" },
"NetworkInte
{ "NetworkInterfa
{ "NetworkInterfa
]
}
}
}
}
Changed in heat: | |
status: | Confirmed → In Progress |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | havana-2 → 2013.2 |
It seems in this case after heat crash in nova there is no IP address at all listed for the instance. That is why heat crashes as it indexes using [0] without checking list length first. Why there is no IP i do not know, sometimes with same template IP is created ok - sometimes (most times) not. This then leads to empty list being sent to heat -> crash.