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)
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,
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,