Cannot delete the Stack after UpdateReplace was failed.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Mitsuru Kanabuchi |
Bug Description
=======
This is updated bug description that is belong to discussion.
We find there are two ploblems about Heat:
1) when UpdateReplace is failed, cannot delete the Stack if there are
dependency between backup_stack and existing_stack.
2) cannot access backup_stack via API.
This bug report treats 1). New bug report about 2) will be created.
=======
* Problem and Reproduce
When deleting the stack after UPDATE_FAILED, it causes DELETE_FAILED and "Error
deleting backup resources" in the Stack. This is an example.
devstack@
{
"AWSTemplate
"Resources" : {
"Net": {
"Type": "OS::Neutron::Net",
"name": "network"
}
},
"SubNet": {
"Type": "OS::Neutron:
"cidr": "10.0.1.0/24",
}
},
"Port": {
"Type": "OS::Neutron:
}
}
}
}
devstack@
+------
| id | stack_name | stack_status | creation_time |
+------
| 8ea7366e-
+------
devstack@
+------
| id | stack_name | stack_status | creation_time |
+------
| 8ea7366e-
+------
devstack@
{
"AWSTemplate
"Resources" : {
"Net": {
"Type": "OS::Neutron::Net",
"name": "network"
}
},
"SubNet": {
"Type": "OS::Neutron:
"cidr": "10.0.2.0/24",
}
},
"Port": {
"Type": "OS::Neutron:
}
}
}
}
devstack@
+------
| id | stack_name | stack_status | creation_time |
+------
| 8ea7366e-
+------
devstack@
+------
| id | stack_name | stack_status | creation_time |
+------
| 8ea7366e-
+------
devstack@
+------
| id | stack_name | stack_status | creation_time |
+------
| 8ea7366e-
+------
devstack@
+------
| id | stack_name | stack_status | creation_time |
+------
| 8ea7366e-
+------
devstack@
+------
| Property | Value |
+------
| capabilities | [] |
| creation_time | 2014-03-
| description | No description |
| disable_rollback | True |
| id | 8ea7366e-
| links | http://
| notification_topics | [] |
| parameters | { |
| | "AWS::StackId": "arn:openstack:
| | "AWS::Region": "ap-southeast-1", |
| | "AWS::StackName": "stack1" |
| | } |
| stack_name | stack1 |
| stack_status | DELETE_FAILED |
| stack_status_reason | Failed to DELETE : Error deleting backup resources: |
| | Resource DELETE failed: NeutronClientEx
| | 409-{u'
| | operation on subnet b06cdbb0-
| | 5e7145322912. One or more ports have an IP allocation f |
| template_
| timeout_mins | 60 |
| updated_time | 2014-03-
+------
devstack@
+------
| resource_name | resource_type | resource_status | updated_time |
+------
| Net | OS::Neutron::Net | CREATE_COMPLETE | 2014-03-
| Port | OS::Neutron::Port | CREATE_COMPLETE | 2014-03-
| SubNet | OS::Neutron::Subnet | CREATE_FAILED | 2014-03-
+------
devstack@
+------
| Property | Value |
+------
| description | |
| links | http://
| | http://
| logical_resource_id | SubNet |
| physical_
| required_by | Port |
| resource_name | SubNet |
| resource_status | CREATE_FAILED |
| resource_
| resource_type | OS::Neutron::Subnet |
| updated_time | 2014-03-
+------
* IMO
When deleting stack, Heat attempts to delete backup_stack if it exists.
( please see delete method on parser.py )
There is only SubNet in the backup_stack that has the Port. So the Subnet
cannot be deleted (cannot delete subnets before all ports has been deleted).
mysql> select id, nova_instance, name, status, stack_id from resource;
+------
| id | nova_instance | name | status | stack_id |
+------
| 21d8983e-
| 58d92166-
| 8969e3bb-
| ed16b409-
+------
4 rows in set (0.00 sec)
Changed in heat: | |
assignee: | nobody → Ryo Miki (miki-ryo-e) |
Changed in heat: | |
assignee: | Ryo Miki (miki-ryo-e) → Mitsuru Kanabuchi (kanabuchi) |
Changed in heat: | |
importance: | Undecided → High |
milestone: | none → juno-1 |
Changed in heat: | |
assignee: | Mitsuru Kanabuchi (kanabuchi) → Ryo Miki (miki-ryo-e) |
tags: | added: icehouse-rc-potential |
Changed in heat: | |
status: | In Progress → Triaged |
tags: | removed: icehouse-rc-potential |
Changed in heat: | |
assignee: | Ryo Miki (miki-ryo-e) → Mitsuru Kanabuchi (kanabuchi) |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | juno-1 → 2014.2 |
Fix proposed to branch: master /review. openstack. org/78952
Review: https:/