Was this "Fix" ever merged for production release? I"m running Openstack-Ansible Pike (16.0.1) and I'm still getting this error. Based on your number / release cycle, this error has probably been floating around for 2 years. Embarrassing. 2017-11-06 15:33:54.427 6079 DEBUG neutron.agent.linux.utils [-] Running command: ['sudo', '/openstack/venvs/neutron-16.0.1/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'kill', '-9', '6080'] create_process /openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/linux/utils.py:92 2017-11-06 15:33:54.437 6079 CRITICAL neutron [-] Unhandled error: AssertionError: do not call blocking functions from the mainloop 2017-11-06 15:33:54.437 6079 ERROR neutron Traceback (most recent call last): 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/bin/neutron-keepalived-state-change", line 11, in 2017-11-06 15:33:54.437 6079 ERROR neutron sys.exit(main()) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/cmd/keepalived_state_change.py", line 19, in main 2017-11-06 15:33:54.437 6079 ERROR neutron keepalived_state_change.main() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/l3/keepalived_state_change.py", line 156, in main 2017-11-06 15:33:54.437 6079 ERROR neutron cfg.CONF.monitor_cidr).start() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/linux/daemon.py", line 253, in start 2017-11-06 15:33:54.437 6079 ERROR neutron self.run() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/l3/keepalived_state_change.py", line 69, in run 2017-11-06 15:33:54.437 6079 ERROR neutron for iterable in self.monitor: 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/linux/async_process.py", line 261, in _iter_queue 2017-11-06 15:33:54.437 6079 ERROR neutron yield queue.get(block=block) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/queue.py", line 313, in get 2017-11-06 15:33:54.437 6079 ERROR neutron return waiter.wait() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/queue.py", line 141, in wait 2017-11-06 15:33:54.437 6079 ERROR neutron return get_hub().switch() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch 2017-11-06 15:33:54.437 6079 ERROR neutron return self.greenlet.switch() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 346, in run 2017-11-06 15:33:54.437 6079 ERROR neutron self.wait(sleep_time) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/hubs/poll.py", line 85, in wait 2017-11-06 15:33:54.437 6079 ERROR neutron presult = self.do_poll(seconds) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/hubs/epolls.py", line 62, in do_poll 2017-11-06 15:33:54.437 6079 ERROR neutron return self.poll.poll(seconds) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/l3/keepalived_state_change.py", line 133, in handle_sigterm 2017-11-06 15:33:54.437 6079 ERROR neutron self._kill_monitor() 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/l3/keepalived_state_change.py", line 130, in _kill_monitor 2017-11-06 15:33:54.437 6079 ERROR neutron run_as_root=True) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 223, in kill_process 2017-11-06 15:33:54.437 6079 ERROR neutron execute(['kill', '-%d' % signal, pid], run_as_root=run_as_root) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 131, in execute 2017-11-06 15:33:54.437 6079 ERROR neutron _stdout, _stderr = obj.communicate(_process_input) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/usr/lib/python2.7/subprocess.py", line 800, in communicate 2017-11-06 15:33:54.437 6079 ERROR neutron return self._communicate(input) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/usr/lib/python2.7/subprocess.py", line 1419, in _communicate 2017-11-06 15:33:54.437 6079 ERROR neutron stdout, stderr = self._communicate_with_select(input) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/usr/lib/python2.7/subprocess.py", line 1520, in _communicate_with_select 2017-11-06 15:33:54.437 6079 ERROR neutron rlist, wlist, xlist = select.select(read_set, write_set, []) 2017-11-06 15:33:54.437 6079 ERROR neutron File "/openstack/venvs/neutron-16.0.1/lib/python2.7/site-packages/eventlet/green/select.py", line 40, in select 2017-11-06 15:33:54.437 6079 ERROR neutron assert hub.greenlet is not current, 'do not call blocking functions from the mainloop' 2017-11-06 15:33:54.437 6079 ERROR neutron AssertionError: do not call blocking functions from the mainloop 2017-11-06 15:33:54.437 6079 ERROR neutron Is there any fix?