Ejemplo n.º 1
0
  def __init__(self, cachedir, stacks_dir, common_services_dir, host_scripts_dir,
      alert_grace_period, cluster_configuration, config, recovery_manager,
      in_minutes=True):

    self.cachedir = cachedir
    self.stacks_dir = stacks_dir
    self.common_services_dir = common_services_dir
    self.host_scripts_dir = host_scripts_dir

    self._cluster_configuration = cluster_configuration
    
    if not os.path.exists(cachedir):
      try:
        os.makedirs(cachedir)
      except:
        logger.critical("[AlertScheduler] Could not create the cache directory {0}".format(cachedir))

    self.APS_CONFIG = {
      'apscheduler.threadpool.core_threads': 3,
      'apscheduler.coalesce': True,
      'apscheduler.standalone': False,
      'apscheduler.misfire_grace_time': alert_grace_period
    }

    self._collector = AlertCollector()
    self.__scheduler = Scheduler(self.APS_CONFIG)
    self.__in_minutes = in_minutes
    self.config = config
    self.recovery_manger = recovery_manager

    # register python exit handler
    ExitHelper().register(self.exit_handler)
Ejemplo n.º 2
0
    def __init__(self,
                 cachedir,
                 stacks_dir,
                 common_services_dir,
                 host_scripts_dir,
                 cluster_configuration,
                 config,
                 in_minutes=True):

        self.cachedir = cachedir
        self.stacks_dir = stacks_dir
        self.common_services_dir = common_services_dir
        self.host_scripts_dir = host_scripts_dir

        self._cluster_configuration = cluster_configuration

        if not os.path.exists(cachedir):
            try:
                os.makedirs(cachedir)
            except:
                logger.critical(
                    "[AlertScheduler] Could not create the cache directory {0}"
                    .format(cachedir))

        self._collector = AlertCollector()
        self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG)
        self.__in_minutes = in_minutes
        self.config = config

        # register python exit handler
        ExitHelper().register(self.exit_handler)
Ejemplo n.º 3
0
  def __init__(self, initializer_module, in_minutes=True):

    self.cachedir = initializer_module.config.alerts_cachedir
    self.stacks_dir = initializer_module.config.stacks_dir
    self.common_services_dir = initializer_module.config.common_services_dir
    self.extensions_dir = initializer_module.config.extensions_dir
    self.host_scripts_dir = initializer_module.config.host_scripts_dir
    self.configuration_builder = initializer_module.configuration_builder

    self._cluster_configuration = initializer_module.configurations_cache
    self.alert_definitions_cache = initializer_module.alert_definitions_cache

    self.config = initializer_module.config

    # the amount of time, in seconds, that an alert can run after it's scheduled time
    alert_grace_period = int(self.config.get('agent', 'alert_grace_period', 5))

    apscheduler_standalone = False

    self.APS_CONFIG = {
      'apscheduler.threadpool.core_threads': 3,
      'apscheduler.coalesce': True,
      'apscheduler.standalone': apscheduler_standalone,
      'apscheduler.misfire_grace_time': alert_grace_period,
      'apscheduler.threadpool.context_injector': self._job_context_injector if not apscheduler_standalone else None,
      'apscheduler.threadpool.agent_config': self.config
    }

    self._collector = AlertCollector()
    self.__scheduler = Scheduler(self.APS_CONFIG)
    self.__in_minutes = in_minutes
    self.recovery_manger = initializer_module.recovery_manager

    # register python exit handler
    ExitHelper().register(self.exit_handler)
Ejemplo n.º 4
0
    def __init__(self,
                 cachedir,
                 stacks_dir,
                 common_services_dir,
                 extensions_dir,
                 host_scripts_dir,
                 cluster_configuration,
                 config,
                 recovery_manager,
                 in_minutes=True):

        self.cachedir = cachedir
        self.stacks_dir = stacks_dir
        self.common_services_dir = common_services_dir
        self.extensions_dir = extensions_dir
        self.host_scripts_dir = host_scripts_dir

        self._cluster_configuration = cluster_configuration

        # a mapping between a cluster name and a unique hash for all definitions
        self._cluster_hashes = {}

        # the amount of time, in seconds, that an alert can run after it's scheduled time
        alert_grace_period = int(config.get('agent', 'alert_grace_period', 5))

        if not os.path.exists(cachedir):
            try:
                os.makedirs(cachedir)
            except:
                logger.critical(
                    "[AlertScheduler] Could not create the cache directory {0}"
                    .format(cachedir))

        apscheduler_standalone = False

        self.APS_CONFIG = {
            'apscheduler.threadpool.core_threads':
            3,
            'apscheduler.coalesce':
            True,
            'apscheduler.standalone':
            apscheduler_standalone,
            'apscheduler.misfire_grace_time':
            alert_grace_period,
            'apscheduler.threadpool.context_injector':
            self._job_context_injector if not apscheduler_standalone else None,
            'apscheduler.threadpool.agent_config':
            config
        }

        self._collector = AlertCollector()
        self.__scheduler = Scheduler(self.APS_CONFIG)
        self.__in_minutes = in_minutes
        self.config = config
        self.recovery_manger = recovery_manager

        # register python exit handler
        ExitHelper().register(self.exit_handler)
Ejemplo n.º 5
0
    def __init__(self, cachedir, stacks_dir, in_minutes=True):
        self.cachedir = cachedir
        self.stacks_dir = stacks_dir

        if not os.path.exists(
                cachedir) and AlertSchedulerHandler.make_cachedir:
            try:
                os.makedirs(cachedir)
            except:
                logger.critical(
                    "Could not create the cache directory {0}".format(
                        cachedir))
                pass

        self._collector = AlertCollector()
        self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG)
        self.__in_minutes = in_minutes
        self.__config_maps = {}