-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
2.9.3
Description of problem:
Migrate OVA VM to OCP cluster with UDN layer2 primary network, the migration plan hang, due to the conversion pod is using udn l2 primary network as default route, it can't connect to pod network, the forklift-controller pod hit error: Get "http://10.129.3.164:8080/vm: dail tcp 10.129.3.164:8080: i/o timeout", we need to fail the plan but not let it hang.
{"level":"error","ts":"2025-08-20 07:32:31.952","logger":"plan|n2qns","msg":"Reconcile failed.","plan":{"name":"ova-test-win","namespace":"openshift-mtv"},"error":"Get \"http://10.129.3.164:8080/vm\": dial tcp 10.129.3.164:8080: i/o timeout","stacktrace":".....} {"level":"info","ts":"2025-08-20 07:32:31.952","logger":"plan|n2qns","msg":"Reconcile ended.","plan":{"name":"ova-test-win","namespace":"openshift-mtv"},"reQ":3}
Version-Release number of selected component (if applicable):
2.9.3 (IIB:forklift-fbc-stage-v418:on-pr-8b9c74d28ae129765e846b76eb039e801f20e37e) with CNV 4.18.13
How reproducible:
Always
Steps to Reproduce:
1)Create UDN layer2 primary network on target OCP cluster namespace: udn-ns with files below:
$ cat ns-udn-l2.yaml
apiVersion: v1
kind: Namespace
metadata:
name: udn-ns
labels:
k8s.ovn.org/primary-user-defined-network: ""
$ cat nad-udn-l2.yaml
apiVersion: k8s.ovn.org/v1
kind: UserDefinedNetwork
metadata:
name: udn-l2-net
namespace: udn-ns
spec:
topology: Layer2
layer2:
role: Primary
subnets:
- "192.168.100.0/24"
ipam:
lifecycle: Persistent
2)Create a VM with primary UDN network with attached file: "vm-udn-l2.yaml"
3)Check the VM is running, the interface mac addrss is null, interface with ip address: 192.168.100.12
4)Migrate VM: win2022 from ova provider to target OCP cluster: udn-ns namespace, the migration plan hang
5)Check the conversion pod log without error, more details in attached file: ova-test-win-e717232c8d4601629d89968b829fee88650b-d5k75-virt-v2v.log
6)Check the forklift-controller pod log with error: Get "http://10.129.3.164:8080/vm: dail tcp 10.129.3.164:8080: i/o timeout", more details in attached file: forklift-controller-5687f779dd-m7g6f-main.log
{"level":"error","ts":"2025-08-20 07:32:31.952","logger":"plan|n2qns","msg":"Reconcile failed.","plan":{"name":"ova-test-win","namespace":"openshift-mtv"},"error":"Get \"http://10.129.3.164:8080/vm\": dial tcp 10.129.3.164:8080: i/o timeout","stacktrace":".....} {"level":"info","ts":"2025-08-20 07:32:31.952","logger":"plan|n2qns","msg":"Reconcile ended.","plan":{"name":"ova-test-win","namespace":"openshift-mtv"},"reQ":3}
7)Check the converion pod network, it can ping VM which with udn-l2-net, it can't ping forklift-controller pod as the primary network is udn-l2-net
$ oc rsh ova-test-win-e717232c8d4601629d89968b829fee88650b-d5k75
sh-5.1$ ip r
default via 192.168.100.1 dev ovn-udn1
10.128.0.0/14 via 10.129.2.1 dev eth0
10.129.2.0/23 dev eth0 proto kernel scope link src 10.129.3.164
100.64.0.0/16 via 10.129.2.1 dev eth0
100.65.0.0/16 via 192.168.100.1 dev ovn-udn1
172.30.0.0/16 via 192.168.100.1 dev ovn-udn1
192.168.100.0/24 dev ovn-udn1 proto kernel scope link src 192.168.100.17
sh-5.1$ ping 192.168.100.12
PING 192.168.100.12 (192.168.100.12) 56(84) bytes of data.
64 bytes from 192.168.100.12: icmp_seq=1 ttl=64 time=2.85 ms
64 bytes from 192.168.100.12: icmp_seq=2 ttl=64 time=1.07 ms
sh-5.1$ ping 10.129.3.152
PING 10.129.3.152 (10.129.3.152) 56(84) bytes of data.
From 10.129.3.164 icmp_seq=1 Destination Host Unreachable
From 10.129.3.164 icmp_seq=2 Destination Host Unreachable
Actual results:
In Step4: The migration plan hang
Expected results:
In Step4: The migration plan is not hang
Additional info: