← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1301035] Re: Nova notifier thread does not run in rpc_worker sub-processes

 

** Also affects: neutron/icehouse
   Importance: Undecided
       Status: New

** Changed in: neutron/icehouse
       Status: New => In Progress

** Changed in: neutron/icehouse
   Importance: Undecided => Medium

** Changed in: neutron/icehouse
     Assignee: (unassigned) => Assaf Muller (amuller)

** Tags removed: icehouse-backport-potential

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1301035

Title:
  Nova notifier thread does not run in rpc_worker sub-processes

Status in OpenStack Neutron (virtual network service):
  Fix Committed
Status in neutron icehouse series:
  In Progress

Bug description:
  This reported to me today by Maru.  When an rpc worker is spawned as a
  sub-process, that happens after the nova notifier thread has already
  started.

  eventlet.hubs.use_hub() is the call in
  neutron/openstack/common/service.py that causes all thread execution
  to stop.

  From the event let documentation:  "Make sure to do this before the
  application starts doing any I/O! Calling use_hub completely
  eliminates the old hub, and any file descriptors or timers that it had
  been managing will be forgotten."

  Maru's observation is that this means that thread should not spawn
  before forking the process if they need to run in the child process.
  I agree.

  The reason that threads spawn is that the plugin gets loaded prior to
  forking and the thread for the nova notifier is started in the
  __init__ method of a sub-class of the plugin.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1301035/+subscriptions


References