Skip to content

PoC: Introduce read-only postgres replicas for accelerated scheduling queries #152

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

PhilippMatthes
Copy link
Member

This is a proof-of-concept of how we can increase the query time in the scheduler service further by introducing 2 read-only replicas for the postgres instance. This is a breaking change in the postgres chart, meaning we need to either migrate the dbs by hand or reset them.

In preliminary testing this reduced query time in the scheduler by ~80%, caveat this was no reproducable clean measurement.

Copy link
Contributor

github-actions bot commented Jun 9, 2025

Coverage in go module internal/: 77.4%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:222:								IsUndefined			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:232:								IsUndefined			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:335:								NewConfig			0.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:340:								newConfigFromFile		75.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:354:								newConfigFromBytes		75.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:362:								GetLoggingConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:363:								GetDBConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:364:								GetSyncConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:365:								GetExtractorConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:366:								GetSchedulerConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:367:								GetKPIsConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:368:								GetMonitoringConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:369:								GetMQTTConfig			100.0%
github.com/cobaltcore-dev/cortex/internal/conf/conf.go:370:								GetAPIConfig			100.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			85.2%
github.com/cobaltcore-dev/cortex/internal/conf/validation.go:91:							Validate			84.6%
github.com/cobaltcore-dev/cortex/internal/db/db.go:42:									NewPostgresDB			70.8%
github.com/cobaltcore-dev/cortex/internal/db/db.go:87:									CheckLivenessPeriodically	76.5%
github.com/cobaltcore-dev/cortex/internal/db/db.go:113:									CreateTable			70.0%
github.com/cobaltcore-dev/cortex/internal/db/db.go:130:									AddTable			100.0%
github.com/cobaltcore-dev/cortex/internal/db/db.go:141:									TableExists			58.3%
github.com/cobaltcore-dev/cortex/internal/db/db.go:170:									Close				50.0%
github.com/cobaltcore-dev/cortex/internal/db/db.go:177:									ReplaceAll			62.5%
github.com/cobaltcore-dev/cortex/internal/db/db.go:204:									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				64.3%
github.com/cobaltcore-dev/cortex/internal/db/monitor.go:15:								NewDBMonitor			100.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			0.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:63:							NewPipeline			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:73:							Init				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:79:							initDependencyGraph		88.5%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:127:							initTriggerExecutionOrder	94.1%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:162:							ExtractOnTrigger		91.7%
github.com/cobaltcore-dev/cortex/internal/extractor/pipeline.go:191:							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/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_space.go:33:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_space.go:38:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_space.go:57:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_space.go:62:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/host_space.go:73:					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:25:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:30:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:44:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:49:					Triggers			0.0%
github.com/cobaltcore-dev/cortex/internal/extractor/plugins/shared/vm_life_span.go:61:					Extract				100.0%
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/kpis/pipeline.go:36:								NewPipeline			100.0%
github.com/cobaltcore-dev/cortex/internal/kpis/pipeline.go:41:								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/histogram.go:9:							Histogram			100.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/host_utilization.go:24:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/host_utilization.go:28:					Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/host_utilization.go:47:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/host_utilization.go:52:					Collect				87.5%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:26:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:30:					Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:43:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_life_span.go:47:					Collect				76.5%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:29:				GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:33:				Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:50:				Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/shared/vm_migration_statistics.go:55:				Collect				85.2%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:24:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:28:					Init				80.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:45:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/host_contention.go:50:					Collect				90.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:23:					GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:27:					Init				75.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:39:					Describe			0.0%
github.com/cobaltcore-dev/cortex/internal/kpis/plugins/vmware/project_noisiness.go:43:					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:42:								NewClientWithConfig		100.0%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:52:								onUnexpectedConnectionLoss	78.9%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:82:								Connect				92.3%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:126:								Publish				66.7%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:134:								publish				76.9%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:157:								resubscribeAllTopics		66.7%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:169:								Subscribe			75.0%
github.com/cobaltcore-dev/cortex/internal/mqtt/mqtt.go:191:								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/nova/api/http/api.go:31:						NewAPI				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:40:						Init				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:46:						canRunScheduler			90.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:76:						newHelper			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:82:						respond				71.4%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/api.go:105:						NovaExternalScheduler		62.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:42:					GetSpec				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:45:					GetContext			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:48:					GetRebuild			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:51:					GetResize			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:54:					GetLive				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:57:					GetVMware			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:60:					GetHosts			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/messages.go:67:					GetWeights			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/api/http/monitor.go:18:					NewSchedulerMonitor		0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:47:							NewSchedulerMonitor		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:120:						observePipelineResult		50.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:160:						GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:165:						Init				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:170:						monitorStep			75.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:191:						Run				44.8%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/monitor.go:318:						impact				94.4%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:57:						NewPipeline			88.9%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:106:						logger				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:118:						runSteps			89.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:151:						normalizeNovaWeights		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:160:						applyStepWeights		77.8%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:182:						sortHostsByWeights		100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/pipeline.go:192:						Run				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/base.go:22:						Validate			0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/base.go:36:						Init				75.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/base.go:45:						PrepareResult			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/base.go:55:						PrepareStats			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:32:			Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:50:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_cpu.go:55:			Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:32:		Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:50:		GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/kvm/avoid_overloaded_hosts_memory.go:55:		Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/flavor_binpacking.go:37:			Validate			57.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/flavor_binpacking.go:58:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/flavor_binpacking.go:63:			Run				91.9%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/resource_balancing.go:37:			Validate			57.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/resource_balancing.go:58:			GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/shared/resource_balancing.go:63:			Run				93.3%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/anti_affinity_noisy_projects.go:26:		Validate			66.7%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/anti_affinity_noisy_projects.go:41:		GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/anti_affinity_noisy_projects.go:46:		Run				84.6%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_long_term_contended_hosts.go:32:		Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_long_term_contended_hosts.go:50:		GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_long_term_contended_hosts.go:55:		Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_short_term_contended_hosts.go:32:		Validate			60.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_short_term_contended_hosts.go:50:		GetName				0.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/plugins/vmware/avoid_short_term_contended_hosts.go:55:		Run				94.1%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:27:							scopeStep			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:32:							GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:37:							Init				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:44:							Run				87.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:89:							queryHostsInScope		80.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/scoper.go:189:							isSpecInScope			61.5%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/validation.go:31:						GetName				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/validation.go:36:						Init				100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/validation.go:45:						validateStep			100.0%
github.com/cobaltcore-dev/cortex/internal/scheduler/nova/validation.go:53:						Run				85.7%
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/sync/monitor.go:24:								NewSyncMonitor			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/keystone/keystone.go:38:					NewKeystoneAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/keystone/keystone.go:43:					Authenticate			75.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/keystone/keystone.go:78:					FindEndpoint			0.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/keystone/keystone.go:86:					Client				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:51:						NewNovaAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:56:						Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:79:						GetChangedServers		72.2%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:114:						GetChangedHypervisors		66.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:141:						GetChangedFlavors		72.2%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_api.go:174:						GetChangedMigrations		71.4%
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				91.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:73:						Sync				52.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:116:						getLastSyncTime			71.4%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:132:						setLastSyncTime			50.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:139:						upsert				48.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:202:						SyncChangedServers		81.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:218:						SyncChangedHypervisors		81.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:234:						SyncChangedFlavors		81.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_sync.go:250:						SyncChangedMigrations		81.8%
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:218:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:221:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:245:					TableName			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/nova/nova_types.go:248:					Indexes				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:44:					NewPlacementAPI			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:49:					Init				77.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:71:					GetAllResourceProviders		66.7%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:99:					GetAllTraits			90.9%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_api.go:151:				getTraits			90.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:31:				Init				87.5%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:48:				Sync				80.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:68:				SyncResourceProviders		53.8%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/placement/placement_sync.go:89:				SyncTraits			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/sync.go:34:							NewCombinedSyncer		100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/sync.go:64:							Init				100.0%
github.com/cobaltcore-dev/cortex/internal/sync/openstack/sync.go:71:							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:44:							NewCombinedSyncer		91.7%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:77:							Init				0.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:84:							Sync				76.9%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:133:							newSyncerOfType			70.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:166:							Triggers			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:174:							Init				75.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:185:							getSyncWindowStart		81.2%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:226:							sync				76.0%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:278:							countMetrics			83.3%
github.com/cobaltcore-dev/cortex/internal/sync/prometheus/sync.go:297:							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/sso.go:23:								RoundTrip			100.0%
github.com/cobaltcore-dev/cortex/internal/sync/sso.go:30:								NewHTTPClient			100.0%
total:															(statements)			77.4%

@PhilippMatthes PhilippMatthes marked this pull request as ready for review June 10, 2025 09:22
@PhilippMatthes PhilippMatthes marked this pull request as draft June 10, 2025 11:47
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.

1 participant