Esempio n. 1
0
    def test_publish_window(self):
        set_config_manager(ConfigManager(TestPropertyProvider({})))
        set_workload_monitor_manager(TestWorkloadMonitorManager())
        window_publisher = TestOpportunisticWindowPublisher(
            get_current_end_func=lambda: datetime.utcnow() - timedelta(minutes=
                                                                       1),
            add_window_func=lambda: None,
        )

        w_id = str(uuid.uuid4())
        workload = get_test_workload(w_id, 1, STATIC)

        set_cpu_usage_predictor_manager(
            TestCpuUsagePredictorManager(
                TestSimpleCpuPredictor({w_id:
                                        DEFAULT_TOTAL_THRESHOLD - 0.001})))

        oeh = OversubscribeEventHandler(TestWorkloadManager([workload]),
                                        window_publisher)
        oeh._handle(json.loads(OVERSUBSCRIBE_EVENT.decode("utf-8")))

        self.assertEqual(0, oeh.get_skip_count())
        self.assertEqual(1, oeh.get_success_count())
        self.assertEqual(1, window_publisher.get_current_end_count)
        self.assertEqual(1, window_publisher.add_window_count)
Esempio n. 2
0
    set_event_log_manager(event_log_manager)

    log.info("Watching property changes for restart...")
    RestartPropertyWatcher(get_config_manager(), exit_handler,
                           RESTART_PROPERTIES)

    log.info("Modeling the CPU...")
    cpu = get_cpu_from_env()

    # Start periodic scheduling
    log.info("Starting periodic event scheduling...")
    start_periodic_scheduling(exit_handler)

    # Start the cpu usage predictor manager
    log.info("Setting up the cpu usage predictor manager...")
    set_cpu_usage_predictor_manager(ConfigurableCpuUsagePredictorManager())

    # Start performance monitoring
    log.info("Starting performance monitoring...")
    workload_monitor_manager = WorkloadMonitorManager()
    set_workload_monitor_manager(workload_monitor_manager)

    # Setup the workload manager
    log.info("Setting up the workload manager...")
    cpu_allocator = get_fallback_allocator(get_config_manager())
    log.info(
        "Created Fallback CPU allocator with primary: '{}' and secondary: '{}".
        format(cpu_allocator.get_primary_allocator().__class__.__name__,
               cpu_allocator.get_secondary_allocator().__class__.__name__))
    cgroup_manager = FileCgroupManager()
    workload_manager = WorkloadManager(cpu=cpu,
Esempio n. 3
0
    log.info("Watching property changes for restart...")
    RestartPropertyWatcher(get_config_manager(), exit_handler,
                           RESTART_PROPERTIES)

    log.info("Modeling the CPU...")
    cpu = get_cpu_from_env()

    # Start period scheduling
    log.info("Starting periodic event scheduling...")
    start_periodic_scheduling()

    # Start the cpu usage predictor manager
    log.info("Setting up the cpu usage predictor manager...")
    cpu_predictor_manager = CpuUsagePredictorManager()
    set_cpu_usage_predictor_manager(cpu_predictor_manager)

    # Start performance monitoring
    log.info("Starting performance monitoring...")
    workload_monitor_manager = WorkloadMonitorManager()
    set_workload_monitor_manager(workload_monitor_manager)

    # Setup the workload manager
    log.info("Setting up the workload manager...")
    cpu_allocator = get_fallback_allocator(get_config_manager())
    log.info(
        "Created Fallback CPU allocator with primary: '{}' and secondary: '{}".
        format(cpu_allocator.get_primary_allocator().__class__.__name__,
               cpu_allocator.get_secondary_allocator().__class__.__name__))
    cgroup_manager = FileCgroupManager()
    workload_manager = WorkloadManager(cpu=cpu,