Skip to content

Conversation

@PhilippMatthes
Copy link
Member

@PhilippMatthes PhilippMatthes commented Aug 15, 2025

Change summary

Reservations operator

  • Added syncer in operator that fetches commitments from limes and creates ComputeReservation resources for them. They are distinguished by instance or bare reservations.
  • Added reconciler in operator that takes all instance reservations and tries to place them on a host using the initial placement pipeline. If the placement succeeds, the reservation is considered active.
  • Added conf for supported hypervisor types, as we don't support the full filtering pipeline for vmware and ironic yet. instance reservations that don't match the hypervisor type are put into a terminal failed state.
  • Added logic that puts all bare reservations into a terminal failed state as we don't know yet how to handle these reservations and generate initial placement requests for them.
  • Added scaffolding with kubebuilder and separate dockerfile for operator, so we can reuse as many kubebuilder features as possible.

Cortex core

  • Added kubernetes client to capacity filter so that reservations are considered. Note that the filter is currently sandboxed meaning it will have no effect for now until we de-sandbox it.
  • Added service account that binds to the appropriate reservations operator role, granting cortex core access to the reservations resources.
  • Refactored config loading so that we can reuse it in the reservations operator.
  • Added reservations operator api binds in go.mod so that cortex-core can access the v1alpha1 structs.

CI/CD

  • Added image build workflow for cortex reservations operator
  • Added chart build workflow for cortex reservations operator
  • Run unit tests of reservations module and report coverage

Tilt setup

  • Added reservations operator to the tilt setup.

@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch 4 times, most recently from 7cea4bb to 0d5ccf1 Compare August 18, 2025 15:00
@PhilippMatthes PhilippMatthes changed the title PoC: Commitments Estimation & Persistence over CRD Schedule commitments with new reservation CRD Aug 19, 2025
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch from f66e309 to e7b189c Compare August 19, 2025 14:30
@PhilippMatthes PhilippMatthes marked this pull request as ready for review August 19, 2025 15:40
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch from c70ad87 to a20c7a1 Compare August 19, 2025 16:37
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch 2 times, most recently from e597503 to ca9eb18 Compare August 20, 2025 14:54
@PhilippMatthes PhilippMatthes marked this pull request as draft August 20, 2025 15:21
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch from 537f9a0 to 4f6fce2 Compare August 26, 2025 08:40
@PhilippMatthes PhilippMatthes changed the title Schedule commitments with new reservation CRD Introduce reservations operator and refactor repo structure Aug 26, 2025
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch 2 times, most recently from c360a71 to fecc5ab Compare August 26, 2025 14:47
@PhilippMatthes PhilippMatthes changed the title Introduce reservations operator and refactor repo structure Schedule commitments with new reservations operator & crd Aug 27, 2025
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch 4 times, most recently from 9dffe0d to c6e8f3d Compare August 27, 2025 09:43
@PhilippMatthes PhilippMatthes force-pushed the commitments-estimation branch from c6e8f3d to 72152a1 Compare August 27, 2025 09:48
@PhilippMatthes PhilippMatthes marked this pull request as ready for review August 27, 2025 09:48
Co-authored-by: Markus Wieland <44964229+SoWieMarkus@users.noreply.github.com>
@github-actions
Copy link
Contributor

Test Coverage Report

Coverage in main module (internal/): 76.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:268:								IsUndefined			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:278:								IsUndefined			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:444:								NewConfig			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:461:								newConfigFromMaps		75.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:477:								readRawConfig			75.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:490:								readRawConfigFromBytes		75.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:499:								mergeMaps			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:521:								GetChecks			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:522:								GetLoggingConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:523:								GetDBConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:524:								GetSyncConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:525:								GetExtractorConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:526:								GetSchedulerConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:527:								GetDeschedulerConfig		0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:528:								GetKPIsConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:529:								GetMonitoringConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:530:								GetMQTTConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:531:								GetAPIConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:532:								GetKeystoneConfig		0.0%
github.com/cobaltcore-dev/cortex/internal/conf/graph.go:24:								Resolve				100.0%
github.com/cobaltcore-dev/cortex/internal/conf/graph.go:75:								DistinctSubgraphs		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/logging.go:12:								Level				100.0%
github.com/cobaltcore-dev/cortex/internal/conf/logging.go:28:								SetDefaultLogger		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/opts.go:19:								NewRawOpts			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/opts.go:26:								Unmarshal			66.7%
github.com/cobaltcore-dev/cortex/internal/conf/opts.go:35:								UnmarshalJSON			66.7%
github.com/cobaltcore-dev/cortex/internal/conf/opts.go:50:								Load				83.3%
github.com/cobaltcore-dev/cortex/internal/conf/validation.go:36:							validate			88.9%
github.com/cobaltcore-dev/cortex/internal/conf/validation.go:91:							Validate			81.2%
github.com/cobaltcore-dev/cortex/internal/db/db.go:45:									NewPostgresDB			70.8%
github.com/cobaltcore-dev/cortex/internal/db/db.go:96:									CheckLivenessPeriodically	76.5%
github.com/cobaltcore-dev/cortex/internal/db/db.go:122:									SelectTimed			33.3%
github.com/cobaltcore-dev/cortex/internal/db/db.go:134:									CreateTable			70.0%
github.com/cobaltcore-dev/cortex/internal/db/db.go:151:									AddTable			100.0%
github.com/cobaltcore-dev/cortex/internal/db/db.go:162:									TableExists			58.3%
github.com/cobaltcore-dev/cortex/internal/db/db.go:191:									Close				50.0%
github.com/cobaltcore-dev/cortex/internal/db/db.go:198:									ReplaceAll			62.5%
github.com/cobaltcore-dev/cortex/internal/db/db.go:225:									BulkInsert			84.4%
github.com/cobaltcore-dev/cortex/internal/db/migrations.go:33:								TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/db/migrations.go:38:								Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/db/migrations.go:48:								NewMigrater			75.0%
github.com/cobaltcore-dev/cortex/internal/db/migrations.go:69:								Migrate				65.1%
github.com/cobaltcore-dev/cortex/internal/db/monitor.go:17:								NewDBMonitor			100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/cycle_detector.go:24:					NewCycleDetector		100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/cycle_detector.go:28:					Filter				85.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/executor.go:32:						NewExecutor			0.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/executor.go:50:						Deschedule			84.6%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/executor.go:80:						descheduleVM			67.7%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/monitor.go:24:						NewPipelineMonitor		100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/monitor.go:68:						monitorStep			71.4%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/monitor.go:85:						GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/monitor.go:90:						Init				100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/monitor.go:95:						Run				0.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/nova_api.go:51:						NewNovaAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/nova_api.go:58:						Init				77.8%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/nova_api.go:81:						Get				75.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/nova_api.go:90:						LiveMigrate			100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/nova_api.go:101:						GetServerMigrations		74.1%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/pipeline.go:42:						NewDescheduler			0.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/pipeline.go:55:						Init				75.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/pipeline.go:87:						run				91.7%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/pipeline.go:120:						deduplicate			100.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/pipeline.go:136:						DeschedulePeriodically		55.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/plugins/base.go:21:						Init				75.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/plugins/demo.go:21:						GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/descheduler/nova/plugins/demo.go:25:						Run				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:31:							NewPipelineMonitor		100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:78:							GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:84:							Triggers			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:90:							Init				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:95:							NeedsUpdate			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:100:							MarkAsUpdated			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:105:							NextPossibleExecution		0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:110:							NotifySkip			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:120:							monitorFeatureExtractor		100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/monitor.go:145:							Extract				90.0%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:71:							NewPipeline			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:81:							Init				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:87:							initDependencyGraph		88.9%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:136:							initTriggerExecutionOrder	94.1%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:171:							ExtractOnTrigger		91.7%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:200:							extract				83.3%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:26:							Init				87.5%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:40:							ExtractSQL			75.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:50:							Extracted			87.5%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:66:							NeedsUpdate			80.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:78:							MarkAsUpdated			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:83:							NextPossibleExecution		0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/base.go:93:							NotifySkip			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_cpu_usage.go:22:			TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_cpu_usage.go:27:			Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_cpu_usage.go:42:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_cpu_usage.go:47:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_cpu_usage.go:57:			Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_memory_active.go:22:			TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_memory_active.go:27:			Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_memory_active.go:42:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_memory_active.go:47:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/kvm/node_exporter_host_memory_active.go:57:			Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/netapp/storage_pool_cpu_usage.go:26:			TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/netapp/storage_pool_cpu_usage.go:31:			Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/netapp/storage_pool_cpu_usage.go:50:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/netapp/storage_pool_cpu_usage.go:55:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/netapp/storage_pool_cpu_usage.go:67:			Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/sap/host_details.go:40:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/sap/host_details.go:45:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/sap/host_details.go:63:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/sap/host_details.go:68:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/sap/host_details.go:79:					Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_az.go:22:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_az.go:27:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_az.go:45:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_az.go:50:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_az.go:61:					Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_capabilities.go:26:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_capabilities.go:31:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_capabilities.go:50:				GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_capabilities.go:55:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_capabilities.go:66:				Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_domain_project.go:31:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_domain_project.go:36:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_domain_project.go:48:				GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_domain_project.go:53:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_domain_project.go:66:				Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_utilization.go:34:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_utilization.go:39:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_utilization.go:58:				GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_utilization.go:63:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_utilization.go:75:				Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_host_residency.go:44:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_host_residency.go:49:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_host_residency.go:63:				GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_host_residency.go:68:				Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_host_residency.go:81:				Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:40:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:45:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:59:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:64:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:76:					Extract				83.3%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_long_term.go:22:		TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_long_term.go:27:		Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_long_term.go:42:		GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_long_term.go:47:		Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_long_term.go:58:		Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_short_term.go:22:	TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_short_term.go:27:	Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_short_term.go:42:	GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_short_term.go:47:	Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_contention_short_term.go:58:	Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_resolver.go:23:			TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_resolver.go:28:			Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_resolver.go:48:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_resolver.go:57:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_hostsystem_resolver.go:65:			Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_project_noisiness.go:24:			TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_project_noisiness.go:29:			Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_project_noisiness.go:49:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_project_noisiness.go:54:			Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/vmware/vrops_project_noisiness.go:65:			Extract				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:27:							GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:33:							Triggers			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:39:							Init				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:44:							NeedsUpdate			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:49:							MarkAsUpdated			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:54:							NextPossibleExecution		0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:59:							NotifySkip			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:64:							publishTelemetryIfNeeded	100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/telemetry.go:78:							Extract				75.0%
github.com/cobaltcore-dev/cortex/internal/keystone/keystone_api.go:35:							NewKeystoneAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/keystone/keystone_api.go:40:							Authenticate			75.0%
github.com/cobaltcore-dev/cortex/internal/keystone/keystone_api.go:75:							FindEndpoint			0.0%
github.com/cobaltcore-dev/cortex/internal/keystone/keystone_api.go:83:							Client				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/pipeline.go:45:								NewPipeline			100.0%
github.com/cobaltcore-dev/cortex/internal/kpis/pipeline.go:54:								Describe			100.0%
github.com/cobaltcore-dev/cortex/internal/kpis/pipeline.go:59:								Collect				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/pipeline.go:66:								Init				83.3%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/base.go:21:							Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/netapp/storage_pool_cpu.go:25:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/netapp/storage_pool_cpu.go:29:					Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/netapp/storage_pool_cpu.go:46:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/netapp/storage_pool_cpu.go:51:					Collect				90.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_running_vms.go:38:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_running_vms.go:42:					Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_running_vms.go:64:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_running_vms.go:68:					Collect				85.7%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_total_capacity.go:25:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_total_capacity.go:29:					Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_total_capacity.go:52:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_total_capacity.go:56:					Collect				88.2%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_utilization.go:28:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_utilization.go:32:					Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_utilization.go:62:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/sap/host_utilization.go:67:					Collect				95.2%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_commitments.go:29:					GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_commitments.go:33:					Init				85.7%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_commitments.go:80:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_commitments.go:88:					convertLimesMemory		100.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_commitments.go:105:					Collect				89.5%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:25:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:29:					Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:42:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:46:					Collect				73.9%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:30:				GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:34:				Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:51:				Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:56:				Collect				84.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:25:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:29:					Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:46:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:51:					Collect				90.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:24:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:28:					Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:40:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:44:					Collect				84.6%
github.com/cobaltcore-dev/cortex/internal/monitoring/monitoring.go:23:							NewRegistry			100.0%
github.com/cobaltcore-dev/cortex/internal/monitoring/monitoring.go:35:							Gather				87.5%
github.com/cobaltcore-dev/cortex/internal/mqtt/monitor.go:15:								NewMQTTMonitor			0.0%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:38:								NewClient			0.0%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:43:								NewClientWithConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:53:								onUnexpectedConnectionLoss	78.9%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:83:								Connect				92.3%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:127:								Publish				66.7%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:135:								publish				76.9%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:158:								resubscribeAllTopics		66.7%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:170:								Subscribe			75.0%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:192:								Disconnect			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/activation.go:12:							NoEffect			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/activation.go:15:							Norm				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/activation.go:21:							Apply				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/api_monitor.go:23:							NewSchedulerMonitor		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/api_monitor.go:47:							Callback			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/api_monitor.go:53:							Respond				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/http/api.go:30:						NewAPI				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/http/api.go:39:						Init				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/http/api.go:45:						canRunScheduler			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/http/api.go:70:						CinderExternalScheduler		87.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/messages.go:42:						GetSubjects			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/messages.go:49:						GetWeights			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/messages.go:52:						GetTraceLogArgs			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/messages.go:60:						IsSandboxed			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/api/messages.go:63:						WithSandboxed			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/cinder/pipeline.go:25:						NewPipeline			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/http/api.go:30:						NewAPI				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/http/api.go:39:						Init				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/http/api.go:45:						canRunScheduler			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/http/api.go:70:						ManilaExternalScheduler		87.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/messages.go:42:						GetSubjects			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/messages.go:49:						GetWeights			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/messages.go:52:						GetTraceLogArgs			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/messages.go:60:						IsSandboxed			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/api/messages.go:63:						WithSandboxed			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/pipeline.go:28:						NewPipeline			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/plugins/netapp/cpu_usage_balancing.go:31:			Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/plugins/netapp/cpu_usage_balancing.go:49:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/manila/plugins/netapp/cpu_usage_balancing.go:54:			Run				93.8%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:30:						NewAPI				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:39:						Init				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:45:						canRunScheduler			84.6%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:77:						NovaExternalScheduler		62.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/messages.go:60:						GetSubjects			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/messages.go:67:						GetWeights			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/messages.go:70:						GetTraceLogArgs			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/messages.go:82:						IsSandboxed			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/messages.go:85:						WithSandboxed			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/messages.go:144:						GetSchedulerHintStr		81.8%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:60:						NewPipeline			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:93:						modify				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:120:						Run				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:31:			Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:49:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:54:			Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:31:		Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:49:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:54:		Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_compute_capabilities.go:22:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_compute_capabilities.go:36:		convertToCapabilities		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_compute_capabilities.go:53:		Run				86.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_correct_az.go:20:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_correct_az.go:23:			Run				78.6%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_disabled.go:21:				GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_disabled.go:24:				Run				90.9%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_external_customer.go:23:			Validate			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_external_customer.go:35:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_external_customer.go:39:			Run				96.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_accelerators.go:21:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_accelerators.go:24:			Run				93.3%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_enough_capacity.go:27:		Init				20.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_enough_capacity.go:50:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_enough_capacity.go:53:		Run				94.2%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_requested_traits.go:19:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_has_requested_traits.go:24:		Run				97.3%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_host_instructions.go:19:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_host_instructions.go:24:			Run				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_packed_virtqueue.go:21:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_packed_virtqueue.go:24:			Run				93.3%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_project_aggregates.go:19:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/filter_project_aggregates.go:23:		Run				92.9%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/resource_balancing.go:54:			Validate			68.4%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/resource_balancing.go:96:			GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/resource_balancing.go:101:			Run				95.9%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/anti_affinity_noisy_projects.go:25:		Validate			66.7%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/anti_affinity_noisy_projects.go:40:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/anti_affinity_noisy_projects.go:45:		Run				84.6%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_long_term_contended_hosts.go:31:		Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_long_term_contended_hosts.go:49:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_long_term_contended_hosts.go:54:		Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_short_term_contended_hosts.go:31:		Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_short_term_contended_hosts.go:49:		GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_short_term_contended_hosts.go:54:		Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:27:							GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:32:							GetAlias			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:37:							Init				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:44:							Run				81.2%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:86:							queryHostsInScope		77.3%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:194:							isSpecInScope			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:51:							getStepKey			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:64:							NewPipeline			80.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:111:							runSteps			82.6%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:149:							normalizeInputWeights		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:158:							applyStepWeights		87.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:179:							sortSubjectsByWeights		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline.go:199:							Run				94.4%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline_monitor.go:37:						NewPipelineMonitor		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/pipeline_monitor.go:111:						observePipelineResult		50.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/scaling.go:7:							clamp				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/scaling.go:22:							MinMaxScale			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step.go:28:								Validate			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step.go:62:								Init				80.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step.go:72:								GetAlias			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step.go:75:								PrepareResult			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step.go:85:								PrepareStats			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_monitor.go:43:							GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_monitor.go:48:							GetAlias			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_monitor.go:53:							Init				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_monitor.go:58:							MonitorStep			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_monitor.go:81:							Run				45.6%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_monitor.go:220:						impact				94.4%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_validation.go:29:						GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_validation.go:34:						GetAlias			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_validation.go:39:						Init				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_validation.go:48:						ValidateStep			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/step_validation.go:56:						Run				84.6%
github.com/cobaltcore-dev/cortex/internal/sync/monitor.go:24:								NewSyncMonitor			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_api.go:36:					NewCinderAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_api.go:44:					Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_api.go:65:					GetAllStoragePools		73.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_sync.go:30:					Init				83.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_sync.go:43:					Sync				85.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_sync.go:58:					SyncAllStoragePools		53.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_types.go:52:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_types.go:55:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_types.go:58:					UnmarshalJSON			93.9%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/cinder/cinder_types.go:137:					MarshalJSON			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_api.go:33:					NewIdentityAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_api.go:37:					Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_api.go:56:					GetAllDomains			80.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_api.go:74:					GetAllProjects			84.6%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_sync.go:24:					Init				87.5%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_sync.go:39:					Sync				84.6%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_sync.go:61:					SyncDomains			66.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_sync.go:72:					SyncProjects			66.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_types.go:23:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_types.go:26:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_types.go:54:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/identity/identity_types.go:57:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_api.go:44:						NewLimesAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_api.go:49:						Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_api.go:71:						GetAllCommitments		90.9%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_api.go:123:					getCommitments			84.2%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_sync.go:31:					Init				83.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_sync.go:44:					Sync				83.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_sync.go:57:					SyncCommitments			58.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_types.go:77:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/limes/limes_types.go:80:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_api.go:40:					NewManilaAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_api.go:45:					Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_api.go:66:					GetAllStoragePools		75.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_sync.go:31:					Init				83.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_sync.go:44:					Sync				85.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_sync.go:59:					SyncAllStoragePools		53.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_types.go:53:					UnmarshalJSON			87.5%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_types.go:143:					MarshalJSON			72.1%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_types.go:240:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/manila/manila_types.go:243:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:52:						NewNovaAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:57:						Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:81:						GetChangedServers		72.2%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:114:						GetAllHypervisors		69.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:168:						GetChangedFlavors		72.2%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:201:						GetChangedMigrations		71.4%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:259:						GetAllAggregates		0.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:27:						TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:32:						Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:51:						Init				92.9%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:76:						Sync				43.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:126:						getLastSyncTime			75.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:144:						setLastSyncTime			50.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:151:						upsert				48.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:214:						SyncChangedServers		81.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:230:						SyncChangedHypervisors		71.4%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:245:						SyncChangedFlavors		81.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:261:						SyncChangedMigrations		81.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:276:						SyncAllAggregates		71.4%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:51:						UnmarshalJSON			77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:74:						MarshalJSON			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:94:						TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:97:						Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:130:					UnmarshalJSON			80.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:166:					MarshalJSON			85.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:198:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:201:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:221:					UnmarshalJSON			54.5%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:244:					MarshalJSON			55.6%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:265:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:268:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:292:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:295:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:316:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:319:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:47:					NewPlacementAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:52:					Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:74:					GetAllResourceProviders		66.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:102:				GetAllTraits			90.9%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:154:				getTraits			90.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:178:				GetAllInventoryUsages		72.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:230:				getInventoryUsages		77.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:31:				Init				90.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:51:				Sync				64.3%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:77:				SyncResourceProviders		53.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:98:				SyncTraits			53.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:119:				SyncInventoryUsages		53.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_types.go:25:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_types.go:28:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_types.go:39:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_types.go:42:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_types.go:82:				TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_types.go:85:				Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/sync.go:38:							NewCombinedSyncer		100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/sync.go:96:							Init				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/sync.go:103:							Sync				66.7%
github.com/cobaltcore-dev/cortex/internal/sync/pipeline.go:21:								Init				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/pipeline.go:28:								SyncPeriodic			83.3%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/prometheus.go:59:						NewPrometheusAPI		100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/prometheus.go:74:						FetchMetrics			75.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:47:							NewCombinedSyncer		91.7%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:80:							Init				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:87:							Sync				76.9%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:136:							newSyncerOfType			70.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:169:							Triggers			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:177:							Init				75.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:188:							getSyncWindowStart		81.2%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:228:							sync				76.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:280:							countMetrics			83.3%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:299:							Sync				75.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/triggers.go:7:						TriggerMetricAliasSynced	100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/triggers.go:12:						TriggerMetricTypeSynced		100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:64:							TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:65:							Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:66:							GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:67:							GetTimestamp			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:68:							GetValue			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:69:							With				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:119:							TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:120:							Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:121:							GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:122:							GetTimestamp			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:123:							GetValue			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:124:							With				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:144:							TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:145:							Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:146:							GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:147:							GetTimestamp			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:148:							GetValue			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:149:							With				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:185:							TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:186:							Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:187:							GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:188:							GetTimestamp			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:189:							GetValue			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:190:							With				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:216:							TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:217:							Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:218:							GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:219:							GetTimestamp			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:220:							GetValue			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:221:							With				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:256:							TableName			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:259:							Indexes				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:260:							GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:261:							GetTimestamp			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:262:							GetValue			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/types.go:263:							With				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/sso.go:23:								RoundTrip			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/sso.go:30:								NewHTTPClient			100.0%
github.com/cobaltcore-dev/cortex/internal/tools/histogram.go:7:								Histogram			100.0%
total:															(statements)			76.0%
Coverage in reservations module (reservations/internal/): 51.3%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/controller.go:45:	Reconcile				75.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/controller.go:70:	reconcileInstanceReservation		73.2%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/controller.go:170:	reconcileBareResourceReservation	75.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/controller.go:188:	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%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:140:	NewCommitmentsClient			0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:145:	Init					0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:191:	GetAllFlavors				0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:210:	GetAllProjects				0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:228:	GetComputeCommitments			0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:297:	getCommitments				0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:344:	NewSyncer				0.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:353:	Init					100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:359:	limesUnitToResource			100.0%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:379:	SyncReservations			83.7%
github.com/cobaltcore-dev/cortex/reservations/internal/controller/syncer.go:475:	Run					80.0%
total:											(statements)				51.3%

@PhilippMatthes PhilippMatthes merged commit 5e3fff7 into main Aug 27, 2025
13 checks passed
@PhilippMatthes PhilippMatthes deleted the commitments-estimation branch August 27, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants