summaryrefslogtreecommitdiff
path: root/designate/central/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'designate/central/service.py')
-rw-r--r--designate/central/service.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/designate/central/service.py b/designate/central/service.py
index 169f7fbe..3843de88 100644
--- a/designate/central/service.py
+++ b/designate/central/service.py
@@ -184,37 +184,40 @@ def notification(notification_type):
return outer
-class Service(service.RPCService, service.Service):
+class Service(service.RPCService):
RPC_API_VERSION = '6.2'
target = messaging.Target(version=RPC_API_VERSION)
- def __init__(self, threads=None):
- super(Service, self).__init__(threads=threads)
+ def __init__(self):
+ self._scheduler = None
+ self._storage = None
+ self._quota = None
- self.network_api = network_api.get_network_api(cfg.CONF.network_api)
+ super(Service, self).__init__(
+ self.service_name, cfg.CONF['service:central'].topic,
+ threads=cfg.CONF['service:central'].threads,
+ )
- # update_service_status needs is called by the emitter so we pass
- # ourselves as the rpc_api.
- self.heartbeat_emitter.rpc_api = self
+ self.network_api = network_api.get_network_api(cfg.CONF.network_api)
@property
def scheduler(self):
- if not hasattr(self, '_scheduler'):
+ if not self._scheduler:
# Get a scheduler instance
self._scheduler = scheduler.get_scheduler(storage=self.storage)
return self._scheduler
@property
def quota(self):
- if not hasattr(self, '_quota'):
+ if not self._quota:
# Get a quota manager instance
self._quota = quota.get_quota()
return self._quota
@property
def storage(self):
- if not hasattr(self, '_storage'):
+ if not self._storage:
# Get a storage connection
storage_driver = cfg.CONF['service:central'].storage_driver
self._storage = storage.get_storage(storage_driver)
@@ -232,8 +235,8 @@ class Service(service.RPCService, service.Service):
super(Service, self).start()
- def stop(self):
- super(Service, self).stop()
+ def stop(self, graceful=True):
+ super(Service, self).stop(graceful)
@property
def mdns_api(self):
@@ -251,7 +254,7 @@ class Service(service.RPCService, service.Service):
def zone_api(self):
# TODO(timsim): Remove this when pool_manager_api is gone
if cfg.CONF['service:worker'].enabled:
- return self.worker_api
+ return self.worker_api
return self.pool_manager_api
def _is_valid_zone_name(self, context, zone_name):