Skip to content

Commit 6a36281

Browse files
clean vmi and vm changes
1 parent 32c61a0 commit 6a36281

File tree

3 files changed

+7
-126
lines changed

3 files changed

+7
-126
lines changed

pkg/pipeline/transform/kubernetes/informers/informers-mock.go

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -163,24 +163,6 @@ func (m *IndexerMock) MockGateway(name, namespace, ownerName, ownerKind string)
163163
}
164164
}
165165

166-
func (m *IndexerMock) MockVirtualMachineInstance(name, namespace, ownerName, ownerKind string) {
167-
m.On("GetByKey", namespace+"/"+name).Return(&metav1.ObjectMeta{
168-
Name: name,
169-
OwnerReferences: []metav1.OwnerReference{{
170-
Kind: ownerKind,
171-
Name: ownerName,
172-
}},
173-
}, true, nil)
174-
}
175-
176-
func (m *IndexerMock) MockVirtualMachine(name, namespace string) {
177-
// VirtualMachine typically has no owner
178-
m.On("GetByKey", namespace+"/"+name).Return(&metav1.ObjectMeta{
179-
Name: name,
180-
OwnerReferences: []metav1.OwnerReference{},
181-
}, true, nil)
182-
}
183-
184166
func (m *IndexerMock) FallbackNotFound() {
185167
m.On("ByIndex", IndexIP, mock.Anything).Return([]interface{}{}, nil)
186168
}
@@ -209,7 +191,7 @@ func SetupIndexerMocks(kd *Informers) (pods, nodes, svc, rs *IndexerMock) {
209191
return
210192
}
211193

212-
func SetupIndexerMocksWithTrackedKinds(kd *Informers, trackedKinds []string) (pods, nodes, svc, rs, deploy, gw, vmi, vm *IndexerMock) {
194+
func SetupIndexerMocksWithTrackedKinds(kd *Informers, trackedKinds []string) (pods, nodes, svc, rs, deploy, gw *IndexerMock) {
213195
// Setup base informers
214196
pods, nodes, svc, rs = SetupIndexerMocks(kd)
215197

@@ -226,16 +208,6 @@ func SetupIndexerMocksWithTrackedKinds(kd *Informers, trackedKinds []string) (po
226208
gim := InformerMock{}
227209
gim.On("GetIndexer").Return(gw)
228210
kd.gateways = &gim
229-
case "VirtualMachineInstance":
230-
vmi = &IndexerMock{}
231-
vim := InformerMock{}
232-
vim.On("GetIndexer").Return(vmi)
233-
kd.virtualMachineInstances = &vim
234-
case "VirtualMachine":
235-
vm = &IndexerMock{}
236-
vmim := InformerMock{}
237-
vmim.On("GetIndexer").Return(vm)
238-
kd.virtualMachines = &vmim
239211
}
240212
}
241213
return

pkg/pipeline/transform/kubernetes/informers/informers.go

Lines changed: 2 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,8 @@ type Informers struct {
6767
// replicaSets caches the ReplicaSets as partially-filled *ObjectMeta pointers
6868
replicaSets cache.SharedIndexInformer
6969
// New informers for ownership tracking
70-
deployments cache.SharedIndexInformer
71-
virtualMachineInstances cache.SharedIndexInformer
72-
virtualMachines cache.SharedIndexInformer
73-
gateways cache.SharedIndexInformer
70+
deployments cache.SharedIndexInformer
71+
gateways cache.SharedIndexInformer
7472
// Config and channels
7573
config Config
7674
stopChan chan struct{}
@@ -271,10 +269,6 @@ func (k *Informers) getOwnerFromInformer(kind, namespace, name string) *OwnerInf
271269
informer = k.deployments
272270
case "Gateway":
273271
informer = k.gateways
274-
case "VirtualMachineInstance":
275-
informer = k.virtualMachineInstances
276-
case "VirtualMachine":
277-
informer = k.virtualMachines
278272
default:
279273
return nil
280274
}
@@ -536,52 +530,6 @@ func (k *Informers) initGatewayInformer(informerFactory metadatainformer.SharedI
536530
return nil
537531
}
538532

539-
func (k *Informers) initVirtualMachineInstanceInformer(informerFactory metadatainformer.SharedInformerFactory) error {
540-
k.virtualMachineInstances = informerFactory.ForResource(
541-
schema.GroupVersionResource{
542-
Group: "kubevirt.io",
543-
Version: "v1",
544-
Resource: "virtualmachineinstances",
545-
}).Informer()
546-
if err := k.virtualMachineInstances.SetTransform(func(i interface{}) (interface{}, error) {
547-
vmi, ok := i.(*metav1.PartialObjectMetadata)
548-
if !ok {
549-
return nil, fmt.Errorf("was expecting a VirtualMachineInstance. Got: %T", i)
550-
}
551-
return &metav1.ObjectMeta{
552-
Name: vmi.Name,
553-
Namespace: vmi.Namespace,
554-
OwnerReferences: vmi.OwnerReferences,
555-
}, nil
556-
}); err != nil {
557-
return fmt.Errorf("can't set VirtualMachineInstances transform: %w", err)
558-
}
559-
return nil
560-
}
561-
562-
func (k *Informers) initVirtualMachineInformer(informerFactory metadatainformer.SharedInformerFactory) error {
563-
k.virtualMachines = informerFactory.ForResource(
564-
schema.GroupVersionResource{
565-
Group: "kubevirt.io",
566-
Version: "v1",
567-
Resource: "virtualmachines",
568-
}).Informer()
569-
if err := k.virtualMachines.SetTransform(func(i interface{}) (interface{}, error) {
570-
vm, ok := i.(*metav1.PartialObjectMetadata)
571-
if !ok {
572-
return nil, fmt.Errorf("was expecting a VirtualMachine. Got: %T", i)
573-
}
574-
return &metav1.ObjectMeta{
575-
Name: vm.Name,
576-
Namespace: vm.Namespace,
577-
OwnerReferences: vm.OwnerReferences,
578-
}, nil
579-
}); err != nil {
580-
return fmt.Errorf("can't set VirtualMachines transform: %w", err)
581-
}
582-
return nil
583-
}
584-
585533
func (k *Informers) InitFromConfig(kubeconfig string, infConfig *Config, opMetrics *operational.Metrics) error {
586534
// Initialization variables
587535
k.config = *infConfig
@@ -650,16 +598,6 @@ func (k *Informers) initInformers(client kubernetes.Interface, metaClient metada
650598
if err := k.initGatewayInformer(metadataInformerFactory); err != nil {
651599
return err
652600
}
653-
case "VirtualMachineInstance":
654-
log.Debugf("initializing VirtualMachineInstance informer (trackedKinds)")
655-
if err := k.initVirtualMachineInstanceInformer(metadataInformerFactory); err != nil {
656-
return err
657-
}
658-
case "VirtualMachine":
659-
log.Debugf("initializing VirtualMachine informer (trackedKinds)")
660-
if err := k.initVirtualMachineInformer(metadataInformerFactory); err != nil {
661-
return err
662-
}
663601
}
664602
}
665603

pkg/pipeline/transform/kubernetes/informers/informers_test.go

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ func TestOwnershipTracking_GatewayAPI(t *testing.T) {
128128
kubeData := Informers{
129129
indexerHitMetric: metrics.CreateIndexerHitCounter(),
130130
config: Config{
131-
trackedKinds: []string{"ReplicaSet", "Deployment", "Gateway"},
131+
trackedKinds: []string{"Deployment", "Gateway"},
132132
},
133133
}
134134

135-
pidx, hidx, sidx, ridx, didx, gwidx, _, _ := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"Deployment", "Gateway"})
135+
pidx, hidx, sidx, ridx, didx, gwidx := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"Deployment", "Gateway"})
136136

137137
// Setup mocks for the ownership chain
138138
ridx.MockReplicaSet("rs1", "test-ns", "deploy1", "Deployment")
@@ -163,7 +163,7 @@ func TestOwnershipTracking_OnlyDeployment(t *testing.T) {
163163
},
164164
}
165165

166-
pidx, hidx, sidx, ridx, didx, _, _, _ := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"Deployment"})
166+
pidx, hidx, sidx, ridx, didx, _ := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"Deployment"})
167167

168168
ridx.MockReplicaSet("rs1", "test-ns", "deploy1", "Deployment")
169169
ridx.FallbackNotFound()
@@ -182,35 +182,6 @@ func TestOwnershipTracking_OnlyDeployment(t *testing.T) {
182182
require.Equal(t, "deploy1", info.OwnerName)
183183
}
184184

185-
// TestOwnershipTracking_KubeVirt tests the ownership chain: Pod → VirtualMachineInstance → VirtualMachine
186-
func TestOwnershipTracking_KubeVirt(t *testing.T) {
187-
metrics := operational.NewMetrics(&config.MetricsSettings{})
188-
kubeData := Informers{
189-
indexerHitMetric: metrics.CreateIndexerHitCounter(),
190-
config: Config{
191-
trackedKinds: []string{"VirtualMachineInstance", "VirtualMachine"},
192-
},
193-
}
194-
195-
pidx, hidx, sidx, ridx, _, _, vmiidx, vmidx := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"VirtualMachineInstance", "VirtualMachine"})
196-
197-
ridx.FallbackNotFound()
198-
vmiidx.MockVirtualMachineInstance("vmi1", "test-ns", "vm1", "VirtualMachine")
199-
vmidx.MockVirtualMachine("vm1", "test-ns") // VM has no owner
200-
201-
pidx.MockPod("1.2.3.4", "", "", "virt-launcher-pod", "test-ns", "10.0.0.1", "vmi1", "VirtualMachineInstance")
202-
pidx.FallbackNotFound()
203-
hidx.MockNode("10.0.0.1", "node1")
204-
hidx.FallbackNotFound()
205-
sidx.FallbackNotFound()
206-
207-
// Test: Pod should resolve to VirtualMachine as final owner
208-
info := kubeData.IndexLookup(nil, "1.2.3.4")
209-
require.NotNil(t, info)
210-
require.Equal(t, "VirtualMachine", info.OwnerKind)
211-
require.Equal(t, "vm1", info.OwnerName)
212-
}
213-
214185
// TestOwnershipTracking_NoTrackedKinds tests backward compatibility (no trackedKinds configured)
215186
func TestOwnershipTracking_NoTrackedKinds(t *testing.T) {
216187
metrics := operational.NewMetrics(&config.MetricsSettings{})
@@ -249,7 +220,7 @@ func TestOwnershipTracking_MaxDepth(t *testing.T) {
249220
},
250221
}
251222

252-
pidx, hidx, sidx, ridx, didx, gwidx, _, _ := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"Deployment", "Gateway"})
223+
pidx, hidx, sidx, ridx, didx, gwidx := SetupIndexerMocksWithTrackedKinds(&kubeData, []string{"Deployment", "Gateway"})
253224

254225
ridx.MockReplicaSet("rs1", "test-ns", "deploy1", "Deployment")
255226
ridx.FallbackNotFound()

0 commit comments

Comments
 (0)