-
Bug
-
Resolution: Done
-
Blocker
-
ACM 2.14.0
-
None
-
Quality / Stability / Reliability
-
True
-
-
False
-
-
-
Critical
-
None
Description of problem:
The ACM Virtual Machine list page passes a VirtualMachine object as a callback to the ODF UI. Upon receiving this object, the ODF UI uses the ACM Search API to locate the related ApplicationSet Custom Resource (CR) in order to determine its Disaster Recovery (DR) relationship.
However, in the push model, the ACM Search API is unable to directly link the VirtualMachine to the ApplicationSet CR. To work around this, ODF attempts to extract the Argo Application name from the app.kubernetes.io/instance label within the VirtualMachine CR. It then uses this name to perform a search for the related ApplicationSet metadata.
The problem is that the callback object is unstable — its content, especially labels, changes across refreshes, even for the same VirtualMachine resource. This inconsistency is making it difficult for the ODF UI to resolve the correct ApplicationSet.
For example, the same VM might be received in two different forms:
Object A: apigroup: "kubevirt.io" apiversion: "v1" cluster: "dr1-may-9-25-1" created: "2025-05-09T20:08:53Z" kind: "VirtualMachine" kind_plural: "virtualmachines" label: "app.kubernetes.io/instance=push-drcluster-dr1-may-9-25-1; appname=vm" name: "vmtest" namespace: "push-drcluster" ready: "False" status: "Provisioning" _specRunning: "true" _uid: "dr1-may-9-25-1/78a31c09-1d08-40fe-96d7-565624b8b1b1" Object B: apigroup: "kubevirt.io" apiversion: "v1" cluster: "dr1-may-9-25-1" created: "2025-05-09T20:21:08Z" kind: "VirtualMachine" kind_plural: "virtualmachineinstances" label: "network.kubevirt.io/headlessService=headless" name: "vmtest" namespace: "push-drcluster" phase: "Scheduling" ready: "False" status: "ErrorUnschedulable" _specRunning: "true" _uid: "dr1-may-9-25-1/821536b8-9d04-4207-8f7a-bfc60f4d6671"
Because the label data varies across instances, ODF is unable to consistently extract the correct Argo Application name, which blocks the lookup of the ApplicationSet. Here the label is kept changing, and ODF is unable to find the ApplicationSet.
The ideal solution would be to enhance the ACM Search API to support retrieving ApplicationSet metadata directly using the VirtualMachine CR as a related resource. Alternatively, this issue could be addressed by stabilizing the data provided in the ACM callbac
Version-Release number of selected component (if applicable):
2.14.0-DOWNSTREAM-2025-04-13-05-51-00
How reproducible:
1. Install ODF-multicluster-orchestrator 4.20 pre-released operator
2. Deploy a VM as an application workload using the push model on the managed cluster.
3. Go to Infrastructure -> Virtual Machine -> Client VM action menu -> test the ACM to ODF call back in debug mode,
Alternate:
*you dont even need ODF operator the test this, you can directly add debugger here to check the VM objects: https://github.com/stolostron/console/blob/main/frontend/src/routes/Infrastructure/VirtualMachines/VirtualMachinesPage.tsx#L71*
Actual results:
The label in the virtual machine object keeps changing from the ACM VM list page to the ODF callback.
Expected results:
The label should be consistent. I think the search API result is stable, but somehow the label got updated in ACM console.