From bce032748508984fa5251ca0f28317eb665ead4a Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Fri, 31 Jan 2014 13:44:23 +0100 Subject: [PATCH] service: re-enable eventlet just for sockets This reenables eventlet monkey patching, but just for socket, as that should be enough to get oslo.rpc unblocked and have the event loop running. Change-Id: I5e9b77a7931ceb69eac458634acdc904e30f0e3d Fixes-Bug: #127460 --- ceilometer/service.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ceilometer/service.py b/ceilometer/service.py index 630b89f59..25df4bab6 100644 --- a/ceilometer/service.py +++ b/ceilometer/service.py @@ -21,6 +21,7 @@ import os import socket import sys +import eventlet from oslo.config import cfg from stevedore import named @@ -107,6 +108,9 @@ class DispatchedService(object): def prepare_service(argv=None): + # NOTE(jd) We need to monkey patch the socket module for, at least, + # oslo.rpc, otherwise everything's blocked on its first read() + eventlet.monkey_patch(socket=True) gettextutils.install('ceilometer', lazy=True) rpc.set_defaults(control_exchange='ceilometer') cfg.set_defaults(log.log_opts,