コード例 #1
0
ファイル: service.py プロジェクト: ssthom/anchore-engine
        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
コード例 #2
0
ファイル: service.py プロジェクト: ksarabi/anchore-engine
    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')
コード例 #3
0
    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')
コード例 #4
0
    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")