Graceful service shutdown
Enable Nova services to be terminated gracefully. Disable processing of new requests, but allow new requests to complete before terminating the process.
During a software upgrade, this would allow service instances to be swapped out, while still completing existing requests.
Steps:
1) Disable message "listening".
2) Disable periodic task timer.
3) Wait for existing requests and periodic tasks to complete.
4) Kill process.
Blueprint information
- Status:
- Complete
- Approver:
- Russell Bryant
- Priority:
- Low
- Drafter:
- Brian Elliott
- Direction:
- Approved
- Assignee:
- Christopher Lefelhocz
- Definition:
- Approved
- Series goal:
- Accepted for icehouse
- Implementation:
- Implemented
- Milestone target:
- 2014.1
- Started by
- Thierry Carrez
- Completed by
- Russell Bryant
Related branches
Related bugs
Sprints
Whiteboard
Havana summit etherpad: https:/
Gerrit topic: https:/
Addressed by: https:/
Make launchers trigger service cleanup on shutdown
related review for oslo: https:/
bug related to that oslo change: https:/
Addressed by: https:/
graceful-
Work Items
Work items:
Modify launchers to initiate a graceful shutdown when SIGTERM/SIGINT is raised. (Right now the service greenthread is simply killed.): DONE
Modify "Consumers" stop receiving RPC messages: DONE
Terminate RPC threads: DONE
Disable periodic task looping: DONE
Disable service group thread: DONE
Make shutdown wait for in-progress work to finish: DONE
Work items for icehouse-1:
Port Oslo code to nova: INPROGRESS
Dependency tree
* Blueprints in grey have been implemented.