File tree Expand file tree Collapse file tree
ui/src/features/migration/hooks Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -382,11 +382,18 @@ export function useVmsSelectionState(props: VmsSelectionStepProps) {
382382 allIPs = existingVm . ipAddress ?? allIPs
383383 }
384384
385- let preferredNetworkInterfaces = vm . networkInterfaces
386- if ( existingVm && existingVm . networkInterfaces && existingVm . networkInterfaces . length > 0 ) {
387- preferredNetworkInterfaces = existingVm . networkInterfaces
385+ // Base is the freshly fetched NIC list (source of truth for IP presence, e.g. after
386+ // revalidate). Only override per-NIC ipAddress where the user made a custom
387+ // assignment (preserveIp[i] === false) — never blanket-keep the stale existing list,
388+ // or newly-discovered IPs after a revalidate would never surface.
389+ let preferredNetworkInterfaces = normalizeNetworkInterfaces ( vm . networkInterfaces )
390+ if ( existingVm ?. networkInterfaces ?. length ) {
391+ preferredNetworkInterfaces = mergeNicIpOverrides (
392+ preferredNetworkInterfaces ?? [ ] ,
393+ normalizeNetworkInterfaces ( existingVm . networkInterfaces ) ?? [ ] ,
394+ existingVm . preserveIp ?? { } ,
395+ )
388396 }
389- preferredNetworkInterfaces = normalizeNetworkInterfaces ( preferredNetworkInterfaces )
390397
391398 return {
392399 ...vm ,
You can’t perform that action at this time.
0 commit comments