[RFE] Implement "stop agent" hook script support in Neutron
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Wishlist
|
Slawek Kaplonski |
Bug Description
Dear all,
Following a quick thread on the openstack-discuss ML[1], I would like to request a new feature:
Hook script support for Neutron agents.
The Why:
Neutron doesn't know about containers, and just kills processes whenever it doesn't need them, keeping dangling containers.
This can lead to some issues, among them:
- disk space usage
- "failed" containers (exit-code 137 instead of a clean 0)
- issues when validating container state in CI[2]
- possible issue starting a new container due to name already used (not yet seen, but might occur)
The What:
Currently, launching an agent already supports a so-called "wrapper" (script). The current use in TripleO is to start a new container with the right options.
Adding such a feature for the "stop" part would allow to do more than just kill the process:
- clean up the configuration (in bare-metal use)
- clean up temporary files (in bare-metal use)
- clean up the container(s) instead of keeping them in failed state
The How:
Apparently, it might be possible to take advantage of the "get_stop_command" parameter for the "external_
Thank you!
Cheers,
C.
[1] http://
[2] https:/
[3] https:/
affects: | tripleo → neutron |
Changed in neutron: | |
milestone: | train-1 → none |
status: | Triaged → New |
tags: | added: rfe |
Changed in neutron: | |
importance: | Medium → Wishlist |
tags: |
added: rfe-triaged removed: rfe |
Changed in neutron: | |
assignee: | Slawek Kaplonski (slaweq) → Brian Haley (brian-haley) |
Changed in neutron: | |
assignee: | Brian Haley (brian-haley) → Slawek Kaplonski (slaweq) |
Changed in neutron: | |
assignee: | Slawek Kaplonski (slaweq) → Brian Haley (brian-haley) |
Changed in neutron: | |
assignee: | Brian Haley (brian-haley) → Slawek Kaplonski (slaweq) |
Hi Cedric,
Thanks for your submission. Of course we always consider proposals to improve Neutron. Having said that, I have a couple of questions about your proposal:
1) Shouldn't this cleanup be the responsibility of the containerization framework? Have you contemplated that possibility? Why wouldn't the containerization framework be capable of handling the cleanup? Why do we have to resort to Neutron?
2) You also mention "hooks" in your proposal. What would be the mechanism to register such hooks? An API?