NSX upgrade fails with error message 'Error migrating management interfaces to netplan.'
search cancel

NSX upgrade fails with error message 'Error migrating management interfaces to netplan.'

book

Article ID: 442858

calendar_today

Updated On:

Products

VMware NSX VMware Cloud Foundation

Issue/Introduction

  • When upgrading an NSX Edge from a version earlier than 9.1 to version 9.1, the process fails during the migrate_edge_config step.
  • This issue typically occurs when the Edge was originally installed using the ISO interactive method with a static IPv4 management interface.
    • It applies to both Bare Metal Edge and VM Edge.
  • Retrying the upgrade does not resolve the failure.

  • Below logs will be seen under /var/log/syslog for the error:

    2026-01-12T07:34:30.669Z <hostname> NSX 54603 SYSTEM [nsx@4413 comp="nsx-edge" subcomp="upgrade-bundle" level="INFO"] Script /image/VMware-NSX-edge-9.1.0.0.25318228/scripts/migrate_edge_config.py exited with return code 255

  • Verify Interface Configuration : Inspect the /etc/network/interfaces file. Look for the management interface configuration using CIDR notation for the address:

    address #.#.#.#/25

Environment

VMware NSX 4.2.x

VMware NSX 9.1.0

VMware Cloud Foundation 9.1.0 

Cause

The failure is caused by a netplan configuration conversion error. Specifically, the upgrade scripts in affected versions do not correctly handle management interface IP configurations that use CIDR notation (e.g., #.#.#.#/25) in the /etc/network/interfaces file.

Resolution

This is a known issue and it is fixed in future NSX releases.

Workaround: 

To resolve this, modify the /etc/network/interfaces file to use standard netmask notation instead of CIDR. This can be done before starting the upgrade to prevent the failure or during the upgrade after a failure has occurred. No reboot or service restart is required.:

  • For Edge nodes that upgrade fails on
  1. Inspect the file with cat /os_bak/etc/network/interfaces.
  2. Change address #.#.#.#/# to address #.#.#.# netmask #.#.#.#.
  3. Retry the upgrade.

Note the file in /os_bak needs to be edited because the file is actually used on retry. It has been copied from the old (current) OS partition to the new OS partition in an earlier upgrade step.

  • For Edge nodes that upgrade is not yet started on
  1. Inspect the file with cat /etc/network/interfaces.
  2. Change address #.#.#.#/# to address #.#.#.# netmask #.#.#.#.
  3. Retry the upgrade.

More specifically, the steps applies if install_os task has not been started.