diff --git a/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization.go b/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization.go index 20f0ca32e..f80b9bd22 100644 --- a/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization.go +++ b/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization.go @@ -117,8 +117,8 @@ func (k *KVMProjectUtilizationKPI) Collect(ch chan<- prometheus.Metric) { hostLabels := host.getHostLabels() hostLabels = append(hostLabels, projectCapacityUsage.ProjectID, projectCapacityUsage.ProjectName, projectCapacityUsage.DomainID, projectCapacityUsage.DomainName) - ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalVCPUs, append(hostLabels, "vcpu")...) - ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalRAMMB*1024*1024, append(hostLabels, "memory")...) + ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalVCPUs, append(hostLabels, "cpu")...) + ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalRAMMB*1024*1024, append(hostLabels, "ram")...) ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalDiskGB*1024*1024*1024, append(hostLabels, "disk")...) } } diff --git a/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization_test.go b/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization_test.go index 68565e4b3..cd19e15cb 100644 --- a/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization_test.go +++ b/internal/knowledge/kpis/plugins/infrastructure/kvm_project_utilization_test.go @@ -509,8 +509,8 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedKVMMetric{ kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 1), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 2), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 4096*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 2), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 4096*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 1*1024*1024*1024), }, }, @@ -539,12 +539,12 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-2", 1), kvmInstanceMetric("node002-bb02", "az2", "project-2", "Project Two", "domain-1", "Domain One", "flavor-1", 1), // node001-bb01/project-1: 1*flavor-1 + 1*flavor-2 - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 6), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 12288*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 6), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 12288*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 3*1024*1024*1024), // node002-bb02/project-2: 1*flavor-1 - kvmCapacityMetric("node002-bb02", "az2", "project-2", "Project Two", "domain-1", "Domain One", "vcpu", 2), - kvmCapacityMetric("node002-bb02", "az2", "project-2", "Project Two", "domain-1", "Domain One", "memory", 4096*1024*1024), + kvmCapacityMetric("node002-bb02", "az2", "project-2", "Project Two", "domain-1", "Domain One", "cpu", 2), + kvmCapacityMetric("node002-bb02", "az2", "project-2", "Project Two", "domain-1", "Domain One", "ram", 4096*1024*1024), kvmCapacityMetric("node002-bb02", "az2", "project-2", "Project Two", "domain-1", "Domain One", "disk", 1*1024*1024*1024), }, }, @@ -562,8 +562,8 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedKVMMetric{ kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 1), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 2), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 4096*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 2), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 4096*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 1*1024*1024*1024), }, }, @@ -586,8 +586,8 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedKVMMetric{ kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-3", 1), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 8), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 16384*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 8), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 16384*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 4*1024*1024*1024), }, }, @@ -609,11 +609,11 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { expectedMetrics: []collectedKVMMetric{ kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 2), kvmInstanceMetric("node002-bb02", "az2", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 2), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 4), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 2*4096*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 4), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 2*4096*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 2*1024*1024*1024), - kvmCapacityMetric("node002-bb02", "az2", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 4), - kvmCapacityMetric("node002-bb02", "az2", "project-1", "Project One", "domain-1", "Domain One", "memory", 2*4096*1024*1024), + kvmCapacityMetric("node002-bb02", "az2", "project-1", "Project One", "domain-1", "Domain One", "cpu", 4), + kvmCapacityMetric("node002-bb02", "az2", "project-1", "Project One", "domain-1", "Domain One", "ram", 2*4096*1024*1024), kvmCapacityMetric("node002-bb02", "az2", "project-1", "Project One", "domain-1", "Domain One", "disk", 2*1024*1024*1024), }, }, @@ -642,8 +642,8 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { expectedMetrics: []collectedKVMMetric{ // The domain_id is extracted from the project record, so it should be "domain-unknown" even though there is no matching domain entry kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-unknown", "", "flavor-1", 1), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-unknown", "", "vcpu", 2), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-unknown", "", "memory", 4096*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-unknown", "", "cpu", 2), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-unknown", "", "ram", 4096*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-unknown", "", "disk", 1*1024*1024*1024), }, }, @@ -660,8 +660,8 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedKVMMetric{ kvmInstanceMetric("node001-bb01", "az1", "project-1", "", "", "", "flavor-1", 1), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "", "", "", "vcpu", 2), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "", "", "", "memory", 4096*1024*1024), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "", "", "", "cpu", 2), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "", "", "", "ram", 4096*1024*1024), kvmCapacityMetric("node001-bb01", "az1", "project-1", "", "", "", "disk", 1*1024*1024*1024), }, }, @@ -678,8 +678,8 @@ func TestKVMProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedKVMMetric{ kvmInstanceMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-missing", 1), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 0), - kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 0), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 0), + kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 0), kvmCapacityMetric("node001-bb01", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 0), }, }, diff --git a/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization.go b/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization.go index 368ebd194..6a85756ff 100644 --- a/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization.go +++ b/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization.go @@ -119,8 +119,8 @@ func (k *VMwareProjectUtilizationKPI) Collect(ch chan<- prometheus.Metric) { hostLabels := host.getHostLabels() hostLabels = append(hostLabels, projectCapacityUsage.ProjectID, projectCapacityUsage.ProjectName, projectCapacityUsage.DomainID, projectCapacityUsage.DomainName) - ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalVCPUs, append(hostLabels, "vcpu")...) - ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalRAMMB*1024*1024, append(hostLabels, "memory")...) + ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalVCPUs, append(hostLabels, "cpu")...) + ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalRAMMB*1024*1024, append(hostLabels, "ram")...) ch <- prometheus.MustNewConstMetric(k.capacityUsagePerProjectAndHost, prometheus.GaugeValue, projectCapacityUsage.TotalDiskGB*1024*1024*1024, append(hostLabels, "disk")...) } } diff --git a/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization_test.go b/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization_test.go index 853b88d2c..15f18b894 100644 --- a/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization_test.go +++ b/internal/knowledge/kpis/plugins/infrastructure/vmware_project_utilization_test.go @@ -519,8 +519,8 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedVMwareMetric{ instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 1), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 2), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 4096*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 2), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 4096*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 1*1024*1024*1024), }, }, @@ -549,12 +549,12 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-2", 1), instanceMetric("nova-compute-2", "az2", "project-2", "Project Two", "domain-1", "Domain One", "flavor-1", 1), // nova-compute-1/project-1: 1*flavor-1 + 1*flavor-2 - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 6), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 12288*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 6), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 12288*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 3*1024*1024*1024), // nova-compute-2/project-2: 1*flavor-1 - capacityMetric("nova-compute-2", "az2", "project-2", "Project Two", "domain-1", "Domain One", "vcpu", 2), - capacityMetric("nova-compute-2", "az2", "project-2", "Project Two", "domain-1", "Domain One", "memory", 4096*1024*1024), + capacityMetric("nova-compute-2", "az2", "project-2", "Project Two", "domain-1", "Domain One", "cpu", 2), + capacityMetric("nova-compute-2", "az2", "project-2", "Project Two", "domain-1", "Domain One", "ram", 4096*1024*1024), capacityMetric("nova-compute-2", "az2", "project-2", "Project Two", "domain-1", "Domain One", "disk", 1*1024*1024*1024), }, }, @@ -573,8 +573,8 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedVMwareMetric{ instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 1), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 2), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 4096*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 2), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 4096*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 1*1024*1024*1024), }, }, @@ -597,8 +597,8 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedVMwareMetric{ instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-3", 1), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 8), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 16384*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 8), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 16384*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 4*1024*1024*1024), }, }, @@ -620,11 +620,11 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { expectedMetrics: []collectedVMwareMetric{ instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 2), instanceMetric("nova-compute-2", "az2", "project-1", "Project One", "domain-1", "Domain One", "flavor-1", 2), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 4), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 2*4096*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 4), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 2*4096*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 2*1024*1024*1024), - capacityMetric("nova-compute-2", "az2", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 4), - capacityMetric("nova-compute-2", "az2", "project-1", "Project One", "domain-1", "Domain One", "memory", 2*4096*1024*1024), + capacityMetric("nova-compute-2", "az2", "project-1", "Project One", "domain-1", "Domain One", "cpu", 4), + capacityMetric("nova-compute-2", "az2", "project-1", "Project One", "domain-1", "Domain One", "ram", 2*4096*1024*1024), capacityMetric("nova-compute-2", "az2", "project-1", "Project One", "domain-1", "Domain One", "disk", 2*1024*1024*1024), }, }, @@ -642,8 +642,8 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { expectedMetrics: []collectedVMwareMetric{ // The domain_id is extracted from the project record, so it should be "domain-unknown" even though there is no matching domain entry instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-unknown", "", "flavor-1", 1), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-unknown", "", "vcpu", 2), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-unknown", "", "memory", 4096*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-unknown", "", "cpu", 2), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-unknown", "", "ram", 4096*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-unknown", "", "disk", 1*1024*1024*1024), }, }, @@ -660,8 +660,8 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedVMwareMetric{ instanceMetric("nova-compute-1", "az1", "project-1", "", "", "", "flavor-1", 1), - capacityMetric("nova-compute-1", "az1", "project-1", "", "", "", "vcpu", 2), - capacityMetric("nova-compute-1", "az1", "project-1", "", "", "", "memory", 4096*1024*1024), + capacityMetric("nova-compute-1", "az1", "project-1", "", "", "", "cpu", 2), + capacityMetric("nova-compute-1", "az1", "project-1", "", "", "", "ram", 4096*1024*1024), capacityMetric("nova-compute-1", "az1", "project-1", "", "", "", "disk", 1*1024*1024*1024), }, }, @@ -678,8 +678,8 @@ func TestVMwareProjectUtilizationKPI_Collect(t *testing.T) { }, expectedMetrics: []collectedVMwareMetric{ instanceMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "flavor-missing", 1), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "vcpu", 0), - capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "memory", 0), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "cpu", 0), + capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "ram", 0), capacityMetric("nova-compute-1", "az1", "project-1", "Project One", "domain-1", "Domain One", "disk", 0), }, },