Convergence: cancel update doesn't immediately cancel the operation
Bug #1533176 reported by
Anant Patil
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
With convergence engine, the cancel stack-update requests takes time to finish. The resources already in progress are not interrupted and the threads keep running until either the resource completes or fails. If a user issues stack update, the provisioning of updated resource will have wait for the old resource in progress to complete or the stack to timeout. This could be affect the usability of heat upto some extent, since the user has to now wait and cannot cancel the running threads from old requests.
Changed in heat: | |
assignee: | nobody → Anant Patil (ananta) |
Changed in heat: | |
status: | New → In Progress |
Changed in heat: | |
assignee: | Anant Patil (ananta) → Rakesh H S (rh-s) |
Changed in heat: | |
assignee: | Rakesh H S (rh-s) → Anant Patil (ananta) |
Changed in heat: | |
assignee: | Anant Patil (ananta) → nobody |
status: | In Progress → New |
importance: | Undecided → Wishlist |
Changed in heat: | |
milestone: | none → no-priority-tag-bugs |
To post a comment you must log in.
I am planning to fix this by making the check_resource from worker as a scheduler. wrappertask. The check_resource will also register an event before starting and after every step it will check the state of event. If the event is ready with a cancel message, the check_resource should stop. This is similar to how the existing stack-cancel-update works.
When the stack-cancel-update request is received, the cancel message is broad-casted to each engine worker and the registered events are sent cancel message. The next step() of check_resource should see this event message and bail out.