def __init__(self, port): """ Read config and spawn child processes. :type port: int """ self._log = logging.getLogger('sent.daemon') self._log.info('Creating Sentinel') self._port = port self.children = dict() self._settings = None self._system = get_system() self._hostname = socket.getfqdn() self._prev_state = None self.listener_lock = Lock() self.version = get_version() self.task_client = None self.zkclient = KazooClient(hosts=get_zk_conn_string(), timeout=60.0, handler=SequentialThreadingHandler(), logger=logging.getLogger('kazoo.daemon')) self.zkclient.add_listener(self._zk_listener) # this will run self._reset_after_connection_loss self.zkclient.start() while not self._settings: self._log.info('Waiting for settings.') time.sleep(1) self._tmp_dir = os.path.join(self._settings.get('zookeeper').get('temp_directory', '/'), 'ruok') self.task_client = ZKTaskClient(self.children, self.zkclient, self._settings.get('zookeeper', {}).get('task')) self._rest_server = tornado.httpserver.HTTPServer(RestServer(self.children, self.version, self._tmp_dir, self._hostname, self.zkclient)) signal.signal(signal.SIGINT, self._handle_sigint) signal.signal(signal.SIGTERM, self._handle_sigint) self._log.info('Created Sentinel')
def __init__(self, port): """ Read config and spawn child processes. :type port: int """ self._log = logging.getLogger('sent.daemon') self._log.info('Creating Sentinel') self._port = port self.children = dict() self._settings = None self._system = get_system() self._hostname = socket.getfqdn() self._prev_state = None self.listener_lock = Lock() self.version = get_version() self.task_client = None self.zkclient = KazooClient(hosts=get_zk_conn_string(), timeout=60.0, handler=SequentialThreadingHandler(), logger=logging.getLogger('kazoo.daemon')) self.zkclient.add_listener(self._zk_listener) # this will run self._reset_after_connection_loss self.zkclient.start() while not self._settings: self._log.info('Waiting for settings.') time.sleep(1) self._tmp_dir = os.path.join( self._settings.get('zookeeper').get('temp_directory', '/'), 'ruok') self.task_client = ZKTaskClient( self.children, self.zkclient, self._settings.get('zookeeper', {}).get('task')) self._rest_server = tornado.httpserver.HTTPServer( RestServer(self.children, self.version, self._tmp_dir, self._hostname, self.zkclient)) signal.signal(signal.SIGINT, self._handle_sigint) signal.signal(signal.SIGTERM, self._handle_sigint) self._log.info('Created Sentinel')
def _get_system(self): sys = get_system() return sys