def __init__(self, fsid, cluster_name, persister, servers, eventer, requests): super(ClusterMonitor, self).__init__() self.fsid = fsid self.name = cluster_name self.update_time = datetime.datetime.utcnow().replace(tzinfo=utc) self._persister = persister self._servers = servers self._eventer = eventer self._requests = requests # Which mon we are currently using for running requests, # identified by minion ID self._favorite_mon = None self._last_heartbeat = {} self._complete = gevent.event.Event() self.done = gevent.event.Event() self._sync_objects = SyncObjects(self.name) self._request_factories = { CRUSH_MAP: CrushRequestFactory, CRUSH_NODE: CrushNodeRequestFactory, OSD: OsdRequestFactory, POOL: PoolRequestFactory } self._plugin_monitor = PluginMonitor(servers) self._ready = gevent.event.Event()
def __init__(self, fsid, cluster_name, notifier, persister, servers, eventer): super(ClusterMonitor, self).__init__() self.fsid = fsid self.name = cluster_name self.update_time = datetime.datetime.utcnow().replace(tzinfo=utc) self._notifier = notifier self._persister = persister self._servers = servers self._eventer = eventer # Which mon we are currently using for running requests, # identified by minion ID self._favorite_mon = None self._last_heartbeat = {} self._complete = gevent.event.Event() self.done = gevent.event.Event() self._sync_objects = SyncObjects(self.name) self._requests = RequestCollection(self._sync_objects, eventer) self._derived_objects = DerivedObjects() self._request_factories = { OSD: OsdRequestFactory, POOL: PoolRequestFactory } self._plugin_monitor = PluginMonitor(servers) self._ready = gevent.event.Event() self._request_ticker = Ticker(request_collection.TICK_PERIOD, lambda: self._requests.tick())