Delete vnf should delete its corresponding stack (even in failure)

Bug #1499068 reported by Santosh
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tacker
In Progress
Medium
vishwanath jayaraman

Bug Description

When we have a situation where maximum vm limit is reached, and we create vnf say vnf_new, in background stack creation with id say id1 fails(because of max vm limit is reached).
Now vnf_new status is stuck in pending_create.At this point when we delete vnf_new, stack id1 stale entry is still there not getting deleted. This operation will create stale entries.

Revision history for this message
Sridhar Ramaswamy (srics-r) wrote :

Could be the same root cause as in for https://bugs.launchpad.net/tacker/+bug/1497035

Changed in tacker:
importance: Undecided → Medium
tags: added: nfv-resource-mgmt
Changed in tacker:
status: New → Confirmed
Revision history for this message
Sridhar Ramaswamy (srics-r) wrote :

Thinking further this bug reports beyond what is reported in #1497035 (mentioned above).

1) Here is the call sequence... vnf-create --> stack_create. When the later fails , for whatever reason - be it nova issue, neutron port binding issue (as seen in #1497035) or capacity issue (as seen by this bug).. tacker should move VNF status from PENDING_CREATE to ERROR state - which appropriate error message

2) If for some reason VNF create is stuck in PENDING_CREATE (say heat is taking a long time), a VNF delete should cleaning delete the backend resources (like the heat-stack).

Changed in tacker:
assignee: nobody → vishwanath jayaraman (vishwanathj)
Revision history for this message
vishwanath jayaraman (vishwanathj) wrote :

FYI: This is similar to the bug https://bugs.launchpad.net/tacker/+bug/1475798

Revision history for this message
vishwanath jayaraman (vishwanathj) wrote :

The fix for https://bugs.launchpad.net/tacker/+bug/1499067 will fix this issue as well.
The root cause for this issue and 1499067 is that the wrong exception was being thrown at https://github.com/stackforge/tacker/blob/master/tacker/vm/drivers/heat/heat.py#L355.
The DeviceCreateWaitFailed exception had to be thrown instead of the RuntimeError exception.
The https://github.com/stackforge/tacker/blob/master/tacker/vm/plugin.py#L261-L263 ensures that a stack failure is properly handled when DeviceCreateWaitFailed exception is thrown. It also ensures that the status is set to ERROR as part of https://github.com/stackforge/tacker/blob/master/tacker/vm/plugin.py#L272-L276

Changed in tacker:
status: Confirmed → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.