Skip to content

Conversation

SoWieMarkus
Copy link
Collaborator

@SoWieMarkus SoWieMarkus commented Aug 25, 2025

Change summary:

  • Make descheduler a kubernetes operator for the descheduling resource
  • Descheduling resources are created and reconciled by performing a live migration
  • Once there is a descheduling for a virtual machine, it is immune to new deschedulings
  • Descheduling resources are pruned after 24h making it possible to trigger another descheduling, and cleanup the resources overall
  • Reasons for the descheduling are exported to the descheduling resource
  • Implement syncer for kvm domain libvirt steal time metric, time window is small (20 minutes)
  • Implement feature extractor that extracts the maximum steal pct and the host where the vm currently resides on
  • Implement descheduler step that triggers vm deschedulings after a 20% steal pct is reached

Unrelated changes:

  • Fix that the prometheus syncer didn't use its own api for the metric types

Instructions to test:

  • Check the changes in cortex.secrets.example.yaml -- a new prometheus source is needed for the type kvm_libvirt_domain_metric.
  • Use the provided sample yaml to drop a descheduling resource into the local cluster. The operator should reconcile it appropriately. Disable dry-run if a live migration should be triggered

@SoWieMarkus SoWieMarkus added syncer Pull Requests that update the cortex-syncer extractor Pull Requests that update the cortex-extractor nova Pull Requests that update the nova-scheduler descheduler Nova Descheduler related. labels Sep 2, 2025
@PhilippMatthes PhilippMatthes self-assigned this Oct 14, 2025
@PhilippMatthes PhilippMatthes marked this pull request as ready for review October 15, 2025 08:47
Copy link
Contributor

Test Coverage Report

Coverage in lib module (lib/): 73.9%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:175:				GetConfigOrDie			0.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:192:				newConfigFromMaps		75.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:208:				readRawConfig			75.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:221:				readRawConfigFromBytes		75.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:230:				mergeMaps			100.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:252:				GetLoggingConfig		100.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:253:				GetDBConfig			100.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:254:				GetMonitoringConfig		100.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:255:				GetMQTTConfig			100.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:256:				GetAPIConfig			100.0%
github.com/cobaltcore-dev/cortex/lib/conf/conf.go:257:				GetKeystoneConfig		0.0%
github.com/cobaltcore-dev/cortex/lib/conf/logging.go:12:			Level				100.0%
github.com/cobaltcore-dev/cortex/lib/conf/logging.go:28:			SetDefaultLogger		100.0%
github.com/cobaltcore-dev/cortex/lib/conf/opts.go:19:				NewRawOpts			100.0%
github.com/cobaltcore-dev/cortex/lib/conf/opts.go:26:				Unmarshal			66.7%
github.com/cobaltcore-dev/cortex/lib/conf/opts.go:35:				UnmarshalJSON			0.0%
github.com/cobaltcore-dev/cortex/lib/conf/opts.go:50:				Load				83.3%
github.com/cobaltcore-dev/cortex/lib/conf/validation.go:33:			Validate			66.7%
github.com/cobaltcore-dev/cortex/lib/db/db.go:41:				NewPostgresDB			70.8%
github.com/cobaltcore-dev/cortex/lib/db/db.go:92:				CheckLivenessPeriodically	76.5%
github.com/cobaltcore-dev/cortex/lib/db/db.go:118:				SelectTimed			0.0%
github.com/cobaltcore-dev/cortex/lib/db/db.go:130:				CreateTable			70.0%
github.com/cobaltcore-dev/cortex/lib/db/db.go:147:				AddTable			66.7%
github.com/cobaltcore-dev/cortex/lib/db/db.go:158:				TableExists			58.3%
github.com/cobaltcore-dev/cortex/lib/db/db.go:187:				Close				50.0%
github.com/cobaltcore-dev/cortex/lib/db/db.go:194:				ReplaceAll			50.0%
github.com/cobaltcore-dev/cortex/lib/db/db.go:221:				BulkInsert			84.4%
github.com/cobaltcore-dev/cortex/lib/db/monitor.go:17:				NewDBMonitor			100.0%
github.com/cobaltcore-dev/cortex/lib/keystone/keystone_api.go:35:		NewKeystoneAPI			100.0%
github.com/cobaltcore-dev/cortex/lib/keystone/keystone_api.go:40:		Authenticate			75.0%
github.com/cobaltcore-dev/cortex/lib/keystone/keystone_api.go:75:		FindEndpoint			0.0%
github.com/cobaltcore-dev/cortex/lib/keystone/keystone_api.go:83:		Client				0.0%
github.com/cobaltcore-dev/cortex/lib/monitoring/monitoring.go:23:		NewRegistry			100.0%
github.com/cobaltcore-dev/cortex/lib/monitoring/monitoring.go:35:		Gather				87.5%
github.com/cobaltcore-dev/cortex/lib/mqtt/monitor.go:15:			NewMQTTMonitor			0.0%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:38:				NewClient			0.0%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:43:				NewClientWithConfig		0.0%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:53:				onUnexpectedConnectionLoss	78.9%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:83:				Connect				92.3%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:127:				Publish				0.0%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:135:				publish				76.9%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:158:				resubscribeAllTopics		66.7%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:170:				Subscribe			75.0%
github.com/cobaltcore-dev/cortex/lib/mqtt/mqtt.go:192:				Disconnect			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/activation.go:12:		NoEffect			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/activation.go:15:		Norm				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/activation.go:21:		Apply				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/api_monitor.go:23:		NewSchedulerMonitor		100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/api_monitor.go:47:		Callback			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/api_monitor.go:53:		Respond				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:54:			SetConsumer			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:64:			getStepKey			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:77:			NewPipeline			80.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:124:		runSteps			81.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:160:		normalizeInputWeights		100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:169:		applyStepWeights		87.5%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:190:		sortSubjectsByWeights		100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline.go:219:		Run				90.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline_monitor.go:37:		NewPipelineMonitor		100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline_monitor.go:110:	SubPipeline			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/pipeline_monitor.go:117:	observePipelineResult		50.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/scaling.go:7:			clamp				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/scaling.go:22:			MinMaxScale			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step.go:28:			Validate			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step.go:62:			Init				80.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step.go:72:			GetAlias			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step.go:75:			PrepareResult			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step.go:85:			PrepareStats			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_monitor.go:43:		GetName				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_monitor.go:48:		GetAlias			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_monitor.go:53:		Init				0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_monitor.go:58:		MonitorStep			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_monitor.go:81:		Run				45.6%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_monitor.go:220:		impact				94.4%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_validation.go:30:		GetName				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_validation.go:35:		GetAlias			0.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_validation.go:40:		Init				100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_validation.go:49:		ValidateStep			100.0%
github.com/cobaltcore-dev/cortex/lib/scheduling/step_validation.go:57:		Run				84.6%
github.com/cobaltcore-dev/cortex/lib/sso/sso.go:23:				RoundTrip			100.0%
github.com/cobaltcore-dev/cortex/lib/sso/sso.go:30:				NewHTTPClient			100.0%
github.com/cobaltcore-dev/cortex/lib/tools/histogram.go:7:			Histogram			100.0%
total:										(statements)			73.9%
Coverage in reservations module (reservations/internal/): 74.6%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:56:	NewCommitmentsClient		100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:61:	Init				0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:107:	ListFlavorsByName		92.3%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:130:	ListProjects			88.9%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:148:	ListCommitmentsByID		100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:191:	listCommitments			90.5%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:228:	ListServersByProjectID		100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/client.go:268:	listServersForProject		88.9%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/messages.go:135:	UnmarshalJSON			77.8%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/messages.go:158:	MarshalJSON			0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/syncer.go:39:	NewSyncer			0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/syncer.go:48:	Init				100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/syncer.go:60:	resolveUnusedCommitments	53.3%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/syncer.go:158:	SyncReservations		66.7%
github.com/cobaltcore-dev/cortex/reservations/internal/commitments/syncer.go:262:	Run				80.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/controller.go:44:	Reconcile			73.8%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/controller.go:157:	SetupWithManager		100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/monitor.go:31:	Init				100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/monitor.go:43:	Describe			100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/monitor.go:49:	Collect				100.0%
total:											(statements)			74.6%
Coverage in decisions module (decisions/internal/): 84.1%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:49:	getCertaintyLevel			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:60:	Create					0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:64:	Update					0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:68:	Delete					0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:73:	Generic					0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:83:	mapToSortedHostScores			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:94:	findHostPosition			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:117:	Reconcile				75.6%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:202:	validateInput				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:210:	validatePipelineHosts			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:222:	setErrorState				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:233:	findWinner				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:250:	calculateScores				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:285:	findCriticalSteps			93.3%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:331:	calculateStepImpacts			97.3%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:417:	generateOrderedScoresAndDescription	85.1%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:512:	formatImpactValue			85.7%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:527:	formatStepImpactsMultiLine		92.9%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:560:	formatDuration				80.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:572:	generateGlobalDescription		97.4%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/controller.go:647:	SetupWithManager			0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:37:	NewTestDecision				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:62:	WithRequestedAt				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:68:	WithInput				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:74:	WithPipelineOutputs			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:80:	WithEventType				0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:86:	Build					100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:96:	NewTestSchedulingDecision		100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:110:	WithDecisions				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:116:	WithCreationTimestamp			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:122:	WithNamespace				0.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:128:	Build					100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:133:	NewTestPipelineOutput			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:141:	SetupTestEnvironment			88.9%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:161:	CreateTestRequest			75.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:174:	AssertResourceExists			75.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:190:	AssertResourceDeleted			75.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:206:	AssertResourceState			66.7%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:215:	AssertResourceError			66.7%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:224:	AssertNoError				66.7%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:233:	AssertResultCount			66.7%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:242:	AssertDecisionCount			66.7%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:251:	AssertFinalScores			62.5%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:268:	AssertDeletedHosts			63.6%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:291:	AssertDescriptionContains		75.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:303:	CreateTTLReconciler			100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/test_helpers.go:316:	CreateSchedulingReconciler		75.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/ttl_controller.go:27:	Start					100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/ttl_controller.go:49:	Reconcile				100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/ttl_controller.go:62:	getTTL					100.0%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/ttl_controller.go:70:	processResourceForTTL			77.8%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/ttl_controller.go:113:	reconcileAllResourcesOnStartup		81.2%
github.com/cobaltcore-dev/cortex/decisions/internal/controller/ttl_controller.go:144:	SetupWithManager			0.0%
total:											(statements)				84.1%
Coverage in machines module (machines/internal/): 0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/controller.go:49:		Reconcile		0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/controller.go:101:	SetupWithManager	0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/noop.go:19:		GetName			0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/noop.go:22:		GetAlias		0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/noop.go:24:		Init			0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/noop.go:34:		Run			0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/request.go:22:		GetSubjects		0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/request.go:29:		GetWeights		0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/request.go:36:		GetTraceLogArgs		0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/request.go:39:		GetPipeline		0.0%
github.com/cobaltcore-dev/cortex/machines/internal/controller/request.go:42:		WithPipeline		0.0%
total:											(statements)		0.0%
Coverage in scheduler module (scheduler/internal/): 56.9%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/http/api.go:35:					NewAPI					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/http/api.go:54:					Init					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/http/api.go:64:					canRunScheduler				100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/http/api.go:89:					CinderExternalScheduler			80.5%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/request.go:17:					GetSubjects				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/request.go:24:					GetWeights				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/request.go:27:					GetTraceLogArgs				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/request.go:35:					GetPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/api/request.go:38:					WithPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/cinder/pipeline.go:25:					NewPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/conf/conf.go:156:						IsUndefined				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/conf/conf.go:166:						IsUndefined				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/cinder/checks.go:21:					RunChecks				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/cinder/checks.go:26:					checkCinderSchedulerReturnsValidHosts	0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/manila/checks.go:24:					RunChecks				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/manila/checks.go:29:					checkManilaSchedulerReturnsValidHosts	0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/nova/checks.go:50:					getHypervisors				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/nova/checks.go:93:					prepare					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/nova/checks.go:232:					randomRequest				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/nova/checks.go:294:					checkNovaSchedulerReturnsValidHosts	0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/e2e/nova/checks.go:326:					RunChecks				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/http/api.go:35:					NewAPI					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/http/api.go:54:					Init					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/http/api.go:60:					canRunScheduler				100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/http/api.go:85:					ManilaExternalScheduler			80.5%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/request.go:17:					GetSubjects				100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/request.go:24:					GetWeights				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/request.go:27:					GetTraceLogArgs				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/request.go:35:					GetPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/api/request.go:38:					WithPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/pipeline.go:28:					NewPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/plugins/netapp/cpu_usage_balancing.go:31:		Validate				60.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/plugins/netapp/cpu_usage_balancing.go:49:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/manila/plugins/netapp/cpu_usage_balancing.go:54:		Run					93.8%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/http/api.go:53:					NewAPI					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/http/api.go:88:					Init					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/http/api.go:100:					canRunScheduler				86.7%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/http/api.go:136:					NovaExternalScheduler			61.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/http/api.go:221:					HandleCommitmentChangeRequest		73.1%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/http/api.go:437:					HandleListSchedulingDecisions		0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/request.go:17:					GetSubjects				100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/request.go:24:					GetWeights				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/request.go:27:					GetTraceLogArgs				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/request.go:39:					GetPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/api/request.go:42:					WithPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/pipeline.go:75:					NewNovaPipelineConsumer			0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/pipeline.go:90:					Consume					4.1%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/pipeline.go:214:					NewPipeline				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/pipeline.go:249:					modify					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/pipeline.go:276:					Run					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:31:		Validate				60.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:49:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:54:		Run					94.1%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:31:	Validate				60.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:49:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:54:	Run					94.1%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_compute_capabilities.go:22:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_compute_capabilities.go:36:	convertToCapabilities			100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_compute_capabilities.go:53:	Run					86.5%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_correct_az.go:20:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_correct_az.go:23:		Run					78.6%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_disabled.go:21:			GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_disabled.go:24:			Run					90.9%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_external_customer.go:23:		Validate				100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_external_customer.go:35:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_external_customer.go:39:		Run					96.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_accelerators.go:21:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_accelerators.go:24:		Run					93.3%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_enough_capacity.go:26:	Validate				100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_enough_capacity.go:35:	Init					20.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_enough_capacity.go:58:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_enough_capacity.go:74:	Run					90.6%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_requested_traits.go:19:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_has_requested_traits.go:24:	Run					97.3%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_host_instructions.go:19:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_host_instructions.go:24:		Run					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_packed_virtqueue.go:21:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_packed_virtqueue.go:24:		Run					93.3%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_project_aggregates.go:20:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/filter_project_aggregates.go:24:	Run					92.9%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/resource_balancing.go:54:		Validate				68.4%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/resource_balancing.go:96:		GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/shared/resource_balancing.go:101:		Run					95.9%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/anti_affinity_noisy_projects.go:25:	Validate				66.7%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/anti_affinity_noisy_projects.go:40:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/anti_affinity_noisy_projects.go:45:	Run					84.6%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/avoid_long_term_contended_hosts.go:31:	Validate				60.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/avoid_long_term_contended_hosts.go:49:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/avoid_long_term_contended_hosts.go:54:	Run					94.1%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/avoid_short_term_contended_hosts.go:31:	Validate				60.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/avoid_short_term_contended_hosts.go:49:	GetName					100.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/plugins/vmware/avoid_short_term_contended_hosts.go:54:	Run					94.1%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/scoper.go:28:						GetName					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/scoper.go:33:						GetAlias				0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/scoper.go:38:						Init					0.0%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/scoper.go:45:						Run					85.7%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/scoper.go:83:						queryHostsInScope			77.3%
github.com/cobaltcore-dev/cortex/scheduler/internal/nova/scoper.go:191:						isSpecInScope				60.0%
total:														(statements)				56.9%
Coverage in descheduler module (descheduler/internal/): 68.9%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/cleanup.go:22:				Start				82.4%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/cleanup.go:64:				Reconcile			70.6%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/cleanup.go:96:				SetupWithManager		0.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/cycle_detector.go:25:			NewCycleDetector		100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/cycle_detector.go:29:			Filter				100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/executor.go:43:				Reconcile			67.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/executor.go:199:				SetupWithManager		14.3%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/monitor.go:25:				NewPipelineMonitor		100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/monitor.go:69:				monitorStep			71.4%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/monitor.go:86:				GetName				0.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/monitor.go:91:				Init				100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/monitor.go:96:				Run				0.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/nova_api.go:51:				NewNovaAPI			100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/nova_api.go:58:				Init				77.8%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/nova_api.go:81:				Get				75.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/nova_api.go:90:				LiveMigrate			100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/nova_api.go:101:				GetServerMigrations		74.1%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/pipeline.go:49:				Init				100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/pipeline.go:79:				run				90.9%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/pipeline.go:110:				combine				100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/pipeline.go:164:				CreateDeschedulingsPeriodically	0.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/plugins/base.go:21:				Init				100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/plugins/kvm/avoid_high_steal_pct.go:25:	GetName				100.0%
github.com/cobaltcore-dev/cortex/descheduler/internal/nova/plugins/kvm/avoid_high_steal_pct.go:29:	Run				92.3%
total:													(statements)			68.9%
Coverage in extractor module (extractor/internal/): 76.5%
github.com/cobaltcore-dev/cortex/extractor/internal/conf/graph.go:24:							Resolve				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/conf/graph.go:75:							DistinctSubgraphs		100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:31:							NewPipelineMonitor		100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:78:							GetName				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:84:							Triggers			100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:90:							Init				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:95:							NeedsUpdate			100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:100:							MarkAsUpdated			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:105:							NextPossibleExecution		0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:110:							NotifySkip			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:120:							monitorFeatureExtractor		100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/monitor.go:145:							Extract				90.0%
github.com/cobaltcore-dev/cortex/extractor/internal/pipeline.go:72:							NewPipeline			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/pipeline.go:82:							Init				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/pipeline.go:88:							initDependencyGraph		88.9%
github.com/cobaltcore-dev/cortex/extractor/internal/pipeline.go:137:							initTriggerExecutionOrder	94.1%
github.com/cobaltcore-dev/cortex/extractor/internal/pipeline.go:172:							ExtractOnTrigger		91.7%
github.com/cobaltcore-dev/cortex/extractor/internal/pipeline.go:201:							extract				81.2%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:27:							Init				87.5%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:41:							ExtractSQL			75.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:51:							Extracted			87.5%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:67:							NeedsUpdate			80.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:79:							MarkAsUpdated			100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:84:							NextPossibleExecution		0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/base.go:94:							NotifySkip			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/libvirt_domain_cpu_steal_pct.go:25:			GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/libvirt_domain_cpu_steal_pct.go:30:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/libvirt_domain_cpu_steal_pct.go:40:			Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/node_exporter_host_cpu_usage.go:25:			GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/node_exporter_host_cpu_usage.go:30:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/node_exporter_host_cpu_usage.go:40:			Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/node_exporter_host_memory_active.go:25:			GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/node_exporter_host_memory_active.go:30:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/kvm/node_exporter_host_memory_active.go:40:			Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/netapp/storage_pool_cpu_usage.go:25:			GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/netapp/storage_pool_cpu_usage.go:30:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/netapp/storage_pool_cpu_usage.go:42:			Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/sap/host_details.go:24:					GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/sap/host_details.go:29:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/sap/host_details.go:40:					Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_az.go:23:					GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_az.go:28:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_az.go:39:					Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_capabilities.go:25:				GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_capabilities.go:30:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_capabilities.go:41:				Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_pinned_projects.go:24:				GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_pinned_projects.go:29:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_pinned_projects.go:40:				Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_utilization.go:25:				GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_utilization.go:30:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/host_utilization.go:42:				Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/vm_host_residency.go:24:				GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/vm_host_residency.go:29:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/vm_host_residency.go:42:				Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/vm_life_span.go:35:					GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/vm_life_span.go:40:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/shared/vm_life_span.go:52:					Extract				83.3%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_contention_long_term.go:25:		GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_contention_long_term.go:30:		Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_contention_long_term.go:41:		Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_contention_short_term.go:25:	GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_contention_short_term.go:30:	Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_contention_short_term.go:41:	Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_resolver.go:26:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_resolver.go:35:			GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_hostsystem_resolver.go:43:			Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_project_noisiness.go:26:			GetName				0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_project_noisiness.go:31:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/plugins/vmware/vrops_project_noisiness.go:42:			Extract				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:27:							GetName				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:33:							Triggers			100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:39:							Init				100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:44:							NeedsUpdate			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:49:							MarkAsUpdated			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:54:							NextPossibleExecution		0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:59:							NotifySkip			0.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:64:							publishTelemetryIfNeeded	100.0%
github.com/cobaltcore-dev/cortex/extractor/internal/telemetry.go:78:							Extract				75.0%
total:															(statements)			76.5%
Coverage in KPIs module (kpis/internal/): 78.2%
github.com/cobaltcore-dev/cortex/kpis/internal/pipeline.go:45:						NewPipeline		100.0%
github.com/cobaltcore-dev/cortex/kpis/internal/pipeline.go:54:						Describe		100.0%
github.com/cobaltcore-dev/cortex/kpis/internal/pipeline.go:59:						Collect			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/pipeline.go:66:						Init			83.3%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/base.go:21:					Init			75.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/netapp/storage_pool_cpu.go:25:			GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/netapp/storage_pool_cpu.go:29:			Init			80.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/netapp/storage_pool_cpu.go:46:			Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/netapp/storage_pool_cpu.go:51:			Collect			90.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_available_capacity.go:29:		GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_available_capacity.go:33:		Init			83.3%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_available_capacity.go:78:		Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_available_capacity.go:84:		Collect			94.9%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_running_vms.go:38:			GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_running_vms.go:42:			Init			75.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_running_vms.go:63:			Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_running_vms.go:67:			Collect			63.6%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_total_allocatable_capacity.go:25:	GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_total_allocatable_capacity.go:29:	Init			75.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_total_allocatable_capacity.go:51:	Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/sap/host_total_allocatable_capacity.go:55:	Collect			85.7%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_commitments.go:29:			GetName			100.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_commitments.go:33:			Init			85.7%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_commitments.go:80:			Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_commitments.go:88:			convertLimesMemory	100.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_commitments.go:105:			Collect			89.5%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_life_span.go:25:			GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_life_span.go:29:			Init			75.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_life_span.go:42:			Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_life_span.go:46:			Collect			73.9%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_migration_statistics.go:30:		GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_migration_statistics.go:34:		Init			80.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_migration_statistics.go:51:		Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/shared/vm_migration_statistics.go:56:		Collect			84.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/host_contention.go:25:			GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/host_contention.go:29:			Init			80.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/host_contention.go:46:			Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/host_contention.go:51:			Collect			90.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/project_noisiness.go:24:			GetName			0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/project_noisiness.go:28:			Init			75.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/project_noisiness.go:40:			Describe		0.0%
github.com/cobaltcore-dev/cortex/kpis/internal/plugins/vmware/project_noisiness.go:44:			Collect			84.6%
total:													(statements)		78.2%
Coverage in sync module (sync/internal/): 72.0%
github.com/cobaltcore-dev/cortex/sync/internal/monitor.go:24:					NewSyncMonitor			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/cinder/cinder_api.go:38:		NewCinderAPI			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/cinder/cinder_api.go:46:		Init				77.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/cinder/cinder_api.go:67:		GetAllStoragePools		73.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/cinder/cinder_sync.go:32:		Init				83.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/cinder/cinder_sync.go:45:		Sync				85.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/cinder/cinder_sync.go:60:		SyncAllStoragePools		53.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_api.go:35:		NewIdentityAPI			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_api.go:39:		Init				77.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_api.go:58:		GetAllDomains			80.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_api.go:76:		GetAllProjects			84.6%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_sync.go:26:		Init				87.5%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_sync.go:41:		Sync				84.6%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_sync.go:63:		SyncDomains			66.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/identity/identity_sync.go:74:		SyncProjects			66.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_api.go:46:			NewLimesAPI			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_api.go:51:			Init				77.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_api.go:73:			GetAllCommitments		90.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_api.go:123:		getCommitments			84.2%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_sync.go:33:		Init				83.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_sync.go:46:		Sync				83.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/limes/limes_sync.go:59:		SyncCommitments			58.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/manila/manila_api.go:42:		NewManilaAPI			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/manila/manila_api.go:47:		Init				77.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/manila/manila_api.go:68:		GetAllStoragePools		75.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/manila/manila_sync.go:33:		Init				83.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/manila/manila_sync.go:46:		Sync				85.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/manila/manila_sync.go:61:		SyncAllStoragePools		53.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:56:			NewNovaAPI			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:61:			Init				77.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:85:			GetAllServers			68.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:120:			GetDeletedServers		70.6%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:155:			GetAllHypervisors		69.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:209:			GetAllFlavors			68.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:246:			GetAllMigrations		69.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_api.go:299:			GetAllAggregates		0.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:34:			Init				93.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:62:			Sync				41.9%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:110:			SyncAllServers			71.4%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:124:			SyncDeletedServers		80.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:145:			SyncAllHypervisors		71.4%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:160:			SyncAllFlavors			71.4%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:173:			SyncAllMigrations		71.4%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/nova/nova_sync.go:186:			SyncAllAggregates		71.4%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:49:		NewPlacementAPI			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:54:		Init				77.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:76:		GetAllResourceProviders		66.7%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:104:	GetAllTraits			90.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:154:	getTraits			90.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:178:	GetAllInventoryUsages		71.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_api.go:228:	getInventoryUsages		77.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_sync.go:33:	Init				90.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_sync.go:53:	Sync				64.3%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_sync.go:79:	SyncResourceProviders		53.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_sync.go:100:	SyncTraits			53.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/placement/placement_sync.go:121:	SyncInventoryUsages		53.8%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/sync.go:38:				NewCombinedSyncer		100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/sync.go:96:				Init				100.0%
github.com/cobaltcore-dev/cortex/sync/internal/openstack/sync.go:103:				Sync				60.0%
github.com/cobaltcore-dev/cortex/sync/internal/pipeline.go:21:					Init				100.0%
github.com/cobaltcore-dev/cortex/sync/internal/pipeline.go:28:					SyncPeriodic			80.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/prometheus.go:61:			NewPrometheusAPI		100.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/prometheus.go:76:			FetchMetrics			75.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:49:				NewCombinedSyncer		91.7%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:82:				Init				0.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:89:				Sync				72.7%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:136:				newSyncerOfType			70.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:169:				Triggers			100.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:177:				Init				75.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:188:				getSyncWindowStart		81.2%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:228:				sync				76.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:280:				countMetrics			83.3%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/sync.go:299:				Sync				75.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/triggers.go:7:			TriggerMetricAliasSynced	100.0%
github.com/cobaltcore-dev/cortex/sync/internal/prometheus/triggers.go:12:			TriggerMetricTypeSynced		100.0%
total:												(statements)			72.0%

@SoWieMarkus
Copy link
Collaborator Author

lgtm

@PhilippMatthes PhilippMatthes merged commit 161cd98 into main Oct 15, 2025
6 checks passed
@PhilippMatthes PhilippMatthes deleted the descheduler-steal-time branch October 15, 2025 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

descheduler Nova Descheduler related. extractor Pull Requests that update the cortex-extractor nova Pull Requests that update the nova-scheduler syncer Pull Requests that update the cortex-syncer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants