From 65fa80c361f71158cc492dfc520dc4a63ccfa419 Mon Sep 17 00:00:00 2001 From: wanghong Date: Thu, 20 Mar 2014 10:39:37 +0800 Subject: [PATCH] init_host should be called before RPC consumer is created Currently, the init_host method is called after RPC consumer is created. This behavior will lead to a bug that when a rpc request is received the manager can not handle it because the driver has not been initialized! Change-Id: Ieedba1adeb3dd98eb4ff78427fe347423c016469 Closes-Bug: #1271568 --- cinder/service.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cinder/service.py b/cinder/service.py index 763ad47eb..811a6c8cf 100755 --- a/cinder/service.py +++ b/cinder/service.py @@ -100,6 +100,7 @@ class Service(service.Service): LOG.audit(_('Starting %(topic)s node (version %(version_string)s)'), {'topic': self.topic, 'version_string': version_string}) self.model_disconnected = False + self.manager.init_host() ctxt = context.get_admin_context() try: service_ref = db.service_get_by_args(ctxt, @@ -117,8 +118,6 @@ class Service(service.Service): self.rpcserver = rpc.get_server(target, endpoints) self.rpcserver.start() - self.manager.init_host() - if self.report_interval: pulse = loopingcall.LoopingCall(self.report_state) pulse.start(interval=self.report_interval, -- 2.45.2