Logical ports for V2T VMs get deleted post upgrade from 3.2.0 /3.2.0.1 to 3.2.1/4.0.0
search cancel

Logical ports for V2T VMs get deleted post upgrade from 3.2.0 /3.2.0.1 to 3.2.1/4.0.0

book

Article ID: 319030

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • Logical ports get deleted and network connectivity is lost for affected VMs. VMs connected to logical switches on NSX-V were migrated to NSX-T 3.2.0, and then NSX-T was upgraded to 3.2.1/4.0.0.
  • To verify issue is present in logging, pick an affected logical port:  Example : port 8320098f-3f59-4245-83f5-0093113d93ab
  • Validate upgrade timestamp and object detail as below :
    INFO main MigrationTask 3818 - [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] setting logical port identifier as 8320098f-3f59-4245-83f5-0093113d93ab
    INFO main MigrationTask 3818 - [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] SegmentAttachment type is vif
    INFO main MigrationTask 3818 - [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] setting Default VifType as INDEPENDENT

  • Post upgrade, the logicalSwitchId and transportZoneId of the Logical Port are empty, with no UUID listed. If the logicalSwitchId is empty, switchingOrphanedEntityCleaner assumes it is an orphaned port and deletes it as below:
    INFO switchingOrphanedEntityCleaner FirewallEntityListenerImpl 5586 FIREWALL [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] onEvent: Delete resource: null, existingResource: LogicalPort [id=8320098f-3f59-4245-83f5-0093113d93ab, intentPath=/infra/segments/dvportgroup-xxxxxx/ports/5005dc0b-4da1-0c1b-2904-53ac4f2f76a6_4000, logicalPortState=UP, ephemeral=false, logicalSwitchId=LogicalSwitch/, transportZoneId=TransportZone/, transportZoneType=null, attachmentId=5005dc0b-4da1-0c1b-2904-53ac4f2f76a6:4000, attachmentType=vif, internalPortAttachment=null, switchingProfileIds=[], switchMode=null, extraConfigs=null, systemExtraConfigs=null, internalId=8320098f-3f59-4245-83f5-0093113d93ab, initState=null, tags=[TagModel {scope='v_origin', tag='ephemeral'}], pendingConfigFromHostd=false, addressBindings=null, ignoreAddressBindings=null, isIndependentVifPort=true, context=VifAttachmentContext [ parentVifId = , trafficTag = 0, appId = , transportNodeUuid = , vifType = INDEPENDENT, vifUUID = null, contextType = INVALID, attachedInterface = null, evpnParent = false], isEsxVmk=false]

Cause

After a V2T migration, the V2T created ports in 3.2.0 setup have logical_switch_id field missing in their SegmentPort intent.
When these ports are upgraded from 3.2.0 to 3.2.1, this issue is hit where post upgrade, the logical_switch_id and transport_zone_id of the Logical Port are empty.
If logical_switch_id is empty, switchingOrphanedEntityCleaner assumes it is an orphaned port and deletes it.

Resolution

The issue with the logical_switch_id field not being set for V2T created segment ports is resolved in 3.2.1 and subsequent releases.
Upgrades to 3.2.2 /4.0.1 /4.1.0 are fixed to handle the V2T ports with no logical_switch_id and transport_zone_id from 3.2.0/3.2.0.1.

Workaround:
Move affected VMs to another segment. Wait 30 seconds, and then move VMs back to original segment.

Additional Information

Impact/Risks:
Network connection will be lost on affected VMs.