From: wanghong Date: Thu, 20 Mar 2014 02:39:37 +0000 (+0800) Subject: init_host should be called before RPC consumer is created X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=65fa80c361f71158cc492dfc520dc4a63ccfa419;p=openstack-build%2Fcinder-build.git 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 --- 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,