def authz_heartbeat(*args, **kwargs): cycle_timer = kwargs['mythread']['cycle_timer'] logger.info('Checking authz availability') try: host_id = localconfig.get_host_id() authz_handlr = get_authorizer() handler = authz_handlr.__class__.__name__ ex = None try: result = authz_handlr.healthcheck() except Exception as e: ex = e result = False if not result: fail_event = ServiceAuthzPluginHealthCheckFailed(user_id=localconfig.ADMIN_ACCOUNT_NAME, name=service_name, host=host_id, plugin=handler, details=str(ex) ) logger.info('Sending healthcheck failure event: {}'.format(fail_event.__event_type__)) try: client = internal_client_for(CatalogClient, localconfig.ADMIN_ACCOUNT_NAME) client.add_event(fail_event) except Exception as ex: logger.exception( 'Failure to send authz healthcheck failure event: {}'.format(fail_event.to_json())) except Exception as e: logger.exception('Caught unexpected exception from the authz heartbeat handler') time.sleep(cycle_timer) return True
def _configure(self): """ Load service configuration :return: """ logger.info('Loading and initializing global configuration') self.configuration = self._get_service_configuration(self.global_configuration) self.instance_id = localconfig.get_host_id() self.fq_name = (self.name, self.instance_id) # get versions of things try: self.versions = localconfig.get_versions() except Exception as err: logger.error('cannot detect versions of service: exception - ' + str(err)) raise err try: kick_timer = int(self.configuration['cycle_timer_seconds']) except: kick_timer = 1 try: cycle_timers = {} cycle_timers.update(self.configuration['cycle_timers']) except: cycle_timers = {} self.monitor_kwargs['kick_timer'] = kick_timer self.monitor_kwargs['cycle_timers'] = cycle_timers self.monitor_kwargs['monitors'] = copy.deepcopy(self.__monitors__) self.monitor_kwargs['monitor_threads'] = self.monitor_threads self.monitor_kwargs['servicename'] = self.name logger.info('Configuration complete')
def _configure(self): """ Load service configuration :return: """ logger.info('Loading and initializing global configuration') self.configuration = self._get_service_configuration( self.global_configuration) self.instance_id = localconfig.get_host_id() self.fq_name = (self.name, self.instance_id) # get versions of things try: self.versions = localconfig.get_versions() except Exception as err: logger.error('cannot detect versions of service: exception - ' + str(err)) raise err self.task_handlers_enabled = self.configuration.get( 'task_handlers_enabled', True) env_setting = not os.environ.get('ANCHORE_ENGINE_DISABLE_MONITORS', 'false').lower() == 'true' self.task_handlers_enabled = self.task_handlers_enabled and env_setting if not self.task_handlers_enabled: if env_setting: logger.warn( 'Task handlers disabled by setting ANCHORE_ENGINE_DISABLE_MONITORS in environment' ) else: logger.warn( 'Task handlers disabled by configuration file value') try: kick_timer = int(self.configuration['cycle_timer_seconds']) except: kick_timer = 1 try: cycle_timers = {} cycle_timers.update(self.configuration['cycle_timers']) except: cycle_timers = {} self.monitor_kwargs['kick_timer'] = kick_timer self.monitor_kwargs['cycle_timers'] = cycle_timers self.monitor_kwargs['monitors'] = copy.deepcopy(self.__monitors__) self.monitor_kwargs['monitor_threads'] = self.monitor_threads self.monitor_kwargs['servicename'] = self.name logger.info('Configuration complete')
def _configure(self): """ Load service configuration :return: """ logger.info("Loading and initializing global configuration") self._init_versions() self.configuration = self._get_service_configuration( self.global_configuration) self.instance_id = localconfig.get_host_id() self.fq_name = (self.name, self.instance_id) self.task_handlers_enabled = self.configuration.get( "task_handlers_enabled", True) env_setting = (not os.environ.get("ANCHORE_ENGINE_DISABLE_MONITORS", "false").lower() == "true") self.task_handlers_enabled = self.task_handlers_enabled and env_setting if not self.task_handlers_enabled: if env_setting: logger.warn( "Task handlers disabled by setting ANCHORE_ENGINE_DISABLE_MONITORS in environment" ) else: logger.warn( "Task handlers disabled by configuration file value") try: kick_timer = int(self.configuration["cycle_timer_seconds"]) except: kick_timer = 1 try: cycle_timers = {} cycle_timers.update(self.configuration["cycle_timers"]) except: cycle_timers = {} self.monitor_kwargs["kick_timer"] = kick_timer self.monitor_kwargs["cycle_timers"] = cycle_timers self.monitor_kwargs["monitors"] = copy.deepcopy(self.__monitors__) self.monitor_kwargs["monitor_threads"] = self.monitor_threads self.monitor_kwargs["servicename"] = self.name logger.info("Configuration complete")