'Reload and re-apply configuration settings
Existing child processes are sent a SIGHUP signal
and will exit after completing existing requests.
New child processes, which will have the updated
configuration, are spawned. This allows preventing
interruption to the service.'

def reload(self):

    def _has_changed(old, new, param):
        old = old.get(param)
        new = getattr(new, param)
        return (new != old)
    old_conf = utils.stash_conf_values()
    has_changed = functools.partial(_has_changed, old_conf, CONF)
    CONF.reload_config_files()
    os.killpg(self.pgid, signal.SIGHUP)
    self.stale_children = self.children
    self.children = set()
    logging.setup(CONF, 'glance')
    config.set_config_defaults()
    self.configure(old_conf, has_changed)
    self.start_wsgi()
