From 51d913a30d621528eb20e2aa46fa06a7477781b4 Mon Sep 17 00:00:00 2001 From: Rabi Mishra Date: Thu, 21 Apr 2016 12:25:06 +0530 Subject: [PATCH] Check for worker_service initialization When stopping the engine check if the worker_service is intialized or not before stopping it. Change-Id: I876c2cef4bf6589b9bc45f58b5cd52ed0323c9e9 Closes-Bug: #1572851 --- heat/engine/service.py | 2 +- heat/engine/worker.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/heat/engine/service.py b/heat/engine/service.py index 4bdb8ff2e7..6ad49e25bd 100644 --- a/heat/engine/service.py +++ b/heat/engine/service.py @@ -420,7 +420,7 @@ class EngineService(service.Service): def stop(self): self._stop_rpc_server() - if cfg.CONF.convergence_engine: + if cfg.CONF.convergence_engine and self.worker_service: # Stop the WorkerService self.worker_service.stop() diff --git a/heat/engine/worker.py b/heat/engine/worker.py index 7ffe3b464f..5b455337c8 100644 --- a/heat/engine/worker.py +++ b/heat/engine/worker.py @@ -80,6 +80,8 @@ class WorkerService(service.Service): super(WorkerService, self).start() def stop(self): + if self._rpc_server is None: + return # Stop rpc connection at first for preventing new requests LOG.info(_LI("Stopping %(topic)s in engine %(engine)s."), {'topic': self.topic, 'engine': self.engine_id})