feat(module): add Virtualization Overview dashboard and VM info metric#1956
Merged
feat(module): add Virtualization Overview dashboard and VM info metric#1956
Conversation
c726a78 to
82a1051
Compare
9732893 to
e03a58c
Compare
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
6833284 to
abf009e
Compare
yaroslavborbat
requested changes
Feb 12, 2026
images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/metrics.go
Show resolved
Hide resolved
| return nil | ||
| } | ||
|
|
||
| func (l *iterator) buildKVVMMap(ctx context.Context) (map[string]*virtv1.VirtualMachine, error) { |
Member
There was a problem hiding this comment.
You are using the buildKVVMMap function in one place. And actually you don't need the entire KVVM map - you only need the VirtualMachineClassName from it. So extract it right away and put it into a map.
I'm bringing this up because you are using UnsafeDisableDeepCopy. Modifying the received KVVM means modifying the KVVM in the cache. To make the code safe, let's fetch and process the data in one function, without passing objects up where they could be modified.
| if kvvm == nil { | ||
| return "" | ||
| } | ||
| spec, err := kvbuilder.LoadLastAppliedSpec(kvvm) |
Member
There was a problem hiding this comment.
Is there no other way to get the vmclass other than serializing it from the annotation?
Member
Author
There was a problem hiding this comment.
idk how to get actual (running) vmclass, any ideas?
yaroslavborbat
approved these changes
Feb 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
d8_virtualization_virtualmachine_infowithvirtualmachineclassandnodelabelsWhy do we need it, and what problem does it solve?
Operators need centralized visibility into virtualization resources across the cluster — VM distribution by VMClass, storage usage by StorageClass, and per-namespace breakdown. The new metric shows which VMClass is actually applied to running VMs (may differ from spec before restart).
What is the expected result?
Checklist
Changelog entries