def test_get_cpu_endpoint(self): set_workload_manager(self.__get_default_workload_manager()) cpu_dict = json.loads(status.get_cpu()) self.assertEqual(1, len(cpu_dict)) self.assertEqual(DEFAULT_PACKAGE_COUNT, len(cpu_dict["packages"])) for p in cpu_dict["packages"]: self.assertEqual(DEFAULT_CORE_COUNT, len(p["cores"])) for c in p["cores"]: self.assertEqual(DEFAULT_THREAD_COUNT, len(c["threads"]))
def test_isolate_workload_endpoint(self): workload_manager = self.__get_default_workload_manager() set_workload_manager(workload_manager) _, code, _ = isolate_workload(str(uuid.uuid4()), timeout=0.5) self.assertEqual(404, code) workload = get_test_workload(str(uuid.uuid4()), 2, BURST) workload_manager.add_workload(workload) _, code, _ = isolate_workload(workload.get_id(), timeout=0.5) self.assertEqual(200, code)
def test_get_wm_status_endpoint(self): set_workload_manager(self.__get_default_workload_manager()) event_manager = EventManager(MockEventProvider([]), [], 0.01) set_event_manager(event_manager) event_manager.start_processing_events() s = json.loads(get_wm_status()) self.assertEqual(1, len(s)) self.assertEqual(3, len(s["workload_manager"])) event_manager.stop_processing_events()
def test_get_isolated_workloads_endpoint(self): workload_manager = self.__get_default_workload_manager() set_workload_manager(workload_manager) isolated_workload_ids = json.loads(get_isolated_workload_ids()) self.assertEqual(0, len(isolated_workload_ids)) workload = get_test_workload(str(uuid.uuid4()), 2, BURST) workload_manager.add_workload(workload) isolated_workload_ids = json.loads(get_isolated_workload_ids()) self.assertEqual(1, len(isolated_workload_ids)) self.assertEqual(workload.get_id(), isolated_workload_ids[0])
def test_get_workloads_endpoint(self): set_config_manager(ConfigManager(TestPropertyProvider({}))) thread_count = 2 workload_id = str(uuid.uuid4()) workload = get_test_workload(workload_id, thread_count, STATIC) workload_manager = self.__get_default_workload_manager() set_workload_manager(workload_manager) workloads = json.loads(get_workloads()) self.assertEqual(0, len(workloads)) workload_manager.add_workload(workload) workloads = json.loads(get_workloads()) self.assertEqual(workload_id, workloads[0]["id"]) self.assertEqual(STATIC, workloads[0]["type"]) self.assertEqual(thread_count, workloads[0]["thread_count"])
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, cgroup_manager=cgroup_manager, cpu_allocator=cpu_allocator) set_workload_manager(workload_manager) # Setup the event handlers log.info("Setting up event handlers...") reconciler = Reconciler(cgroup_manager, RealExitHandler()) create_event_handler = CreateEventHandler(workload_manager) free_event_handler = FreeEventHandler(workload_manager) rebalance_event_handler = RebalanceEventHandler(workload_manager) reconcile_event_handler = ReconcileEventHandler(reconciler) oversub_event_handler = None if is_kubernetes(): oversub_event_handler = OversubscribeEventHandler( workload_manager, KubernetesOpportunisticWindowPublisher()) event_handlers = [ h for h in [
def test_get_violations_endpoint(self): set_workload_manager(self.__get_default_workload_manager()) violations = json.loads(get_violations()) self.assertEqual(2, len(violations))