From 5b884dc6265347a8b773879789e43bde4d49dd09 Mon Sep 17 00:00:00 2001 From: "Carlos J. Herrera" <37907824+carloshm91@users.noreply.github.com> Date: Thu, 26 Mar 2020 12:27:26 -0400 Subject: [PATCH] F #4207: fix unmanage nics at deploy time (#4419) Signed-off-by: Carlos Herrera --- .../remotes/lib/vcenter_driver/virtual_machine.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb index 58d34cc3c3..0c8467af7c 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -902,18 +902,22 @@ module VCenterDriver break end - raise 'Problem with your unmanaged nics!' unless device - - nics.delete(device) + if device + nics.delete(device) + else + nil + end } unmanaged_nics.each do |unic| vnic = select_net.call(unic['VCENTER_NET_REF']) - nic_class = vnic.class + nic_class = vnic.class if vnic new_model = Nic.nic_model_class(unic['MODEL']) if unic['MODEL'] + if vnic.nil? + device_change << calculate_add_nic_spec(unic) # delete actual nic and update the new one. - if new_model && new_model != nic_class + elsif new_model && new_model != nic_class device_change << { :device => vnic, :operation => :remove } device_change << calculate_add_nic_spec(unic, vnic.unitNumber) else