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
