Proposal for using Launcher/ProcessLauncher for launching services
Currently other OpenStack projects like nova, cinder, keystone etc. are using oslo-incubator service framework to launch the services. Similar to these projects glance should also use this service framework to launch the services.
As of now when SIGHUP signal is sent to glance-api parent process, it calls the callback handler and then throws OSError. The OSError is thrown because os.wait system call was interrupted due to SIGHUP callback handler. As a result of this parent process closes the server socket. All the child processes also gets terminated without completing existing api requests because the server socket is already closed and the glance service fails to restart.
Ideally when SIGHUP signal is received by the glance-api process, it should process all the pending requests and then restart the glance-api service.
If oslo-incubator's common service framework is used in glance then it will handle service restart on ‘SIGHUP’ signal properly.
The main aim of using Launcer/Process Launcher framework in glance is to use the feature of reloading the Api/Registry configuration files without restarting the Api/Registry service.
The parameters like filesystem_
For example:
In production environment, when the storage is almost full administrator will add more capacity by adding more disks, then modify the glance-api.conf and finally he/she would want to reload the configuration changes without restarting service as restarting service would break users connected to it abruptly.
Blueprint information
- Status:
- Complete
- Approver:
- Mark Washenberger
- Priority:
- Undefined
- Drafter:
- Abhishek Kekane
- Direction:
- Needs approval
- Assignee:
- Abhishek Kekane
- Definition:
- Superseded
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Nikhil Komawar
Related branches
Sprints
Whiteboard
nikhil_k: update 2015-03-05:
superseded by https:/
Gerrit topic: https:/
Addressed by: https:/
Sync service module from oslo-incubator
Addressed by: https:/
Made provision for glance service to use Launcher
Addressed by: https:/
Made provision for glance service to use Launcher
Work Items
Work items:
Sync oslo-incubator service module in glance: DONE
Use Launcer/
Make provision to handle SIGHUP and SIGTERM signals independently: DONE