Incorrect updating and deleting OS::Nova::HostAggregate
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Rico Lin |
Bug Description
host aggregate resource is incorrectly updates and deletes.
First case: If there's no difference in hosts property, handle_update incorrectly resolves and decides that all hosts, specified during creation, should be deleted. For example, on create we have next template:
heat_template_
resources:
ha:
type: OS::Nova:
properties:
name: ha
availabil
hosts:
- ubuntu
metadata:
rar: zip
And on update we change only metadata:
heat_template_
resources:
ha:
type: OS::Nova:
properties:
name: ha
availabil
hosts:
- ubuntu
metadata:
rar: zip
test: test
Resource updated but when we call resource-show, we get: http://
Second case: HostAggregate cannot be deleted. When we trying to delete the resource, next error occurres:
BadRequest: Cannot remove host from aggregate 3. Reason: Host aggregate is not empty. (HTTP 400) (Request-ID: req-5b1bb325-
Traceback of this error:
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
2015-11-26 15:49:11.732 TRACE heat.engine.
Changed in heat: | |
assignee: | nobody → huangtianhua (huangtianhua) |
Changed in heat: | |
assignee: | huangtianhua (huangtianhua) → Rico Lin (rico-lin) |
Changed in heat: | |
assignee: | Rico Lin (rico-lin) → Sergey Kraynev (skraynev) |
Changed in heat: | |
assignee: | Sergey Kraynev (skraynev) → huangtianhua (huangtianhua) |
Changed in heat: | |
assignee: | huangtianhua (huangtianhua) → Rico Lin (rico-lin) |
The second case I didn't reproduce. I can delete the stack successful.