Proposal for using Launcher/ProcessLauncher for launching services

Registered by Abhishek Kekane

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_store_datadir, filesystem_store_datadirs can easily reloaded with the help of SIGHUP signal without restarting the service.

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

Mark Washenberger
Abhishek Kekane
Needs approval
Abhishek Kekane
Series goal:
Milestone target:
Completed by
Nikhil Komawar

Related branches



nikhil_k: update 2015-03-05:
superseded by

Gerrit topic:,topic:bp/use-common-service-framework,n,z

Addressed by:
    Sync service module from oslo-incubator

Addressed by:
    Made provision for glance service to use Launcher

Addressed by:
    Made provision for glance service to use Launcher


Work Items

Work items:
Sync oslo-incubator service module in glance: DONE
Use Launcer/ProcessLauncher to launch the services: DONE
Make provision to handle SIGHUP and SIGTERM signals independently: DONE

This blueprint contains Public information 
Everyone can see this information.