If we look at the problem from the Neutron side, we can see that while
Neutron server starts, it firstly loads core plugin and service plugins,
which start message handling server, and only then forks to create api-
workers. As a result, all child processes get the same copy of the
context.

In this case, instead of making singletony ZeroMQ Context thread-local,
that is supposed to be used for threads and not processes, it is better
to create new Context for each socket. This will prevent such situations
from happening and will guarantee that each process works with its own
Context.

I have updated the proposed fix accordingly.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1364814

Title:
  Neutron multiple api workers can't send cast message to agent when use
  zeromq

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to