File based backup fails VC is behind NAT - PNID is not resolvable to any IP on the existing system
search cancel

File based backup fails VC is behind NAT - PNID is not resolvable to any IP on the existing system

book

Article ID: 322054

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:

In /var/log/vmware/applmgmt/backup.log 

yyyy-mm-ddThh:mm:ss [20220216-230008-18778458] [MainProcess:PID-27365] [Net::GetPNIDAddrInfo:Net.py:639] INFO: PNID '<vcenterfqdn>' is resolved with addresses: ['10.#.#.#']
yyyy-mm-ddThh:mm:ss [20220216-230008-18778458] [MainProcess:PID-27365] [BackupManager::GenerateBackupMetadata:BackupManager.py:202] ERROR: PNID is not resolvable to any IP on the existing system

Environment

VMware vCenter Server 8.0.x
VMware vCenter Server 7.0.x

Cause

  • vCenter behind a NAT setup
  • DNS of the VCs PNID resolves to the NAT IP instead of the vCenter's IP

Resolution

There is no permanent resolution for this issue yet.

Workaround:

  • Take a snapshot of the vCenter VM. 
  • SSH to the vCenter VM. 
    • Make a copy/backup of file BackupManager.py 
      • cp /usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/BackupManager.py /usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/BackupManager.py.bak 
    • Edit the file and Hash (#)  "if netAddr in addressLst:" parameter. 
      • vi /usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/BackupManager.py 

Before editing:

# get the network details of PNID resolved IP
addressLst = GetPNIDAddrInfo(pnid)
netAddrFamily = None
netAddr = None
if ipv4.get('mode').lower() != 'unconfigured':
    netAddr = ipv4.get('address')
    if netAddr in addressLst:
        netAddrFamily = 'ipv4'
        netMode = ipv4.get('mode')
        netPrefix = ipv4.get('prefix')
        netGateway = ipv4.get('defaultGateway')

 

After editing:

# get the network details of PNID resolved IP
addressLst = GetPNIDAddrInfo(pnid)
netAddrFamily = None
netAddr = None
if ipv4.get('mode').lower() != 'unconfigured':
    netAddr = ipv4.get('address')
    #if netAddr in addressLst:
    netAddrFamily = 'ipv4'
    netMode = ipv4.get('mode')
    netPrefix = ipv4.get('prefix')
    netGateway = ipv4.get('defaultGateway')
  • Re-start the applmgmt service
    • service-control --stop applmgmt && service-control --start applmgmt 
  • Re-try the backup