Handle SIGHUP: neutron-server (multiprocess) and metadata agent

Bug #1463976 reported by OpenStack Infra
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-manuals
Invalid
Undecided
Unassigned

Bug Description

https://review.openstack.org/161732
commit 6d0d72973152bb45587437c80d4ffe0fe7bba761
Author: Elena Ezhova <email address hidden>
Date: Tue Apr 7 14:58:13 2015 +0300

    Handle SIGHUP: neutron-server (multiprocess) and metadata agent

    All launchers implemented in common.service require each service to
    implement reset method because it is called in case a process
    receives a SIGHUP.

    This change adds the reset method to neutron.service.RpcWorker and
    neutron.wsgi.WorkerService which are used to wrap rpc and api
    workers correspondingly.

    Now neutron-server running in multiprocess mode (api_workers > 0 and
    rpc_workers > 0) and metadata agent don't die on receiving SIGHUP and support
    reloading policy_path and logging options in config.

    Note that reset is called only in case a service is running in daemon mode.

    Other changes made in the scope of this patch that need to be mentioned:

    * Don't empty self._servers list in RpcWorker's stop method

      When a service is restarted all services are gracefully shutdowned,
      resetted and started again (see openstack.common.service code).
      As graceful shutdown implies calling service.stop() and then
      service.wait() we don't want to clean self._servers list because
      it would be impossible to wait for them to stop processing
      requests and cleaning up their resources.
      Otherwise, this would lead to problems with rpc after starting
      the rpc server again.

    * Create a duplicate socket each time WorkerService starts

      When api worker is stopped it kills the eventlet wsgi server
      which internally closes the wsgi server socket object. This server
      socket object becomes not usable which leads to "Bad file
      descriptor" errors on service restart.

    Added functional and unit tests.

    DocImpact
    Partial-Bug: #1276694
    Change-Id: I75b00946b7cae891c6eb192e853118e7d49e4a24

Tom Fifield (fifieldt)
Changed in openstack-manuals:
milestone: none → liberty
Revision history for this message
Tom Fifield (fifieldt) wrote :

This is a cool new feature:

    Now neutron-server running in multiprocess mode (api_workers > 0 and
    rpc_workers > 0) and metadata agent don't die on receiving SIGHUP and support
    reloading policy_path and logging options in config.

Changed in openstack-manuals:
status: New → Confirmed
importance: Undecided → Medium
Changed in openstack-manuals:
assignee: nobody → Justin Hammond (justin-hammond)
Changed in openstack-manuals:
milestone: liberty → mitaka
Revision history for this message
Njira Perci (njirap) wrote :

Hi Justin.. Are you still working on this..?

Revision history for this message
Justin Hammond (justin-hammond) wrote :

I am not. Unassigning myself. Thank you for catching this.

Changed in openstack-manuals:
assignee: Justin Hammond (justin-hammond) → nobody
Changed in openstack-manuals:
milestone: mitaka → newton
Changed in openstack-manuals:
milestone: newton → ocata
tags: added: networking-guide
Revision history for this message
John Davidge (john-davidge) wrote :

This doesn't look like it needs any documentation other than devref. Marking Invalid of openstack-manuals.

Changed in openstack-manuals:
status: Confirmed → Invalid
milestone: ocata → none
importance: Medium → Undecided
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.