NVDS to CVDS migration fails with error "readyToMigrateToVds is not true"
search cancel

NVDS to CVDS migration fails with error "readyToMigrateToVds is not true"

book

Article ID: 410225

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • vds-migrate is being used to migrate a Host switch to a vSphere Distributed Switch.

  • While executing the command vds-migrate tn-list /opt/tnid, following error is thrown:

    • nsx-mngr-01> vds-migrate tn-list /opt/tnid
      NVDS Migrate Done:
       0 Transport-Nodes Migrate Successfully, ID list []
       1 Transport-Nodes Migrate Failed, ID list {'transport_node_uuid': 'readyToMigrateToVds is not true'}
       0 Transport-Nodes Migrate Skipped, ID list {}
      More info see /var/log/nsx-cli/nsxcli.log
  • When you fetch the Transport node intent using the API GET https://<nsx-mgr>/policy/api/v1/infra/sites/<site_id>/enforcement-points/<enforcement_point_id>/host-transport-nodes/<transport_node_uuid>, for the host where migration is failing, ExtraConfigHostSwitchProfile is not listed under host_switch_profile_ids

    • "host_switch_profile_ids": [
                          {
                              "key": "UplinkHostSwitchProfile",
                              "value": "/infra/host-switch-profiles/nsx-esxi-nvds-uplink-profile"
                          },
                          {
                              "key": "LldpHostSwitchProfile",
                              "value": "/infra/host-switch-profiles/<uuid>"
                          },
                          {
                              "key": "NiocProfile",
                              "value": "/infra/host-switch-profiles/<uuid>"
                          }
                      ],

 

  • However for a good host, ExtraConfigHostSwitchProfile is listed under host_switch_profile_ids inside the transport node intent

    • "host_switch_profile_ids": [
                          {
                              "key": "UplinkHostSwitchProfile",
                              "value": "/infra/host-switch-profiles/nsx-esxi-nvds-uplink-profile"
                          },
                          {
                              "key": "ExtraConfigHostSwitchProfile",
                              "value": "/infra/host-switch-profiles/<uuid>"
                          },
                          {
                              "key": "LldpHostSwitchProfile",
                              "value": "/infra/host-switch-profiles/<uuid>"
                          },
                          {
                              "key": "NiocProfile",
                              "value": "/infra/host-switch-profiles/<uuid>"
                          }
                      ],

Environment

VMware NSX-T Data Center

Cause

This error is thrown when key 'ExtraConfigHostSwitchProfile' is not found in the Transport Node intent for which the migration is currently being performed.

To confirm, run the following API command to the manager:

GET https://<nsx-mgr>/policy/api/v1/infra/sites/<site_id>/enforcement-points/<enforcement_point_id>/host-transport-nodes/<transport_node_uuid>

This key is available under 'host_switch_profile_ids'.

Resolution

There are two phases where this error can be thrown:

  1. During first host migration. OR
  2. In between when some hosts are already migrated to CVDS and some are remaining.

For either of the above phases, perform the following steps:

  • Cleanup the current Precheck ID using the following API

PUT https://<nsx-manager-fqdn-or-ip>/api/v1/infra/nvds-urt?action=cleanup

  • Trigger a new precheck using the following command:

vds-migrate precheck

  • Review the suggested topology

vds-migrate show-topology

**NOTE : If you are performing these steps where you are in between the migration [Point 2 above], ensure that the suggested topology has the same CVDS name as of the one which was created in vCenter Server earlier.

  • Apply the topology

vds-migrate apply-topology

  • Confirm if ExtraConfigHostSwitchProfile is listed under host_switch_profile_ids by fetching the Transport node intent using the following API

GET https://<nsx-mgr>/policy/api/v1/infra/sites/<site_id>/enforcement-points/<enforcement_point_id>/host-transport-nodes/<transport_node_uuid>

  • Initiate the migration for host as follows:

vds-migrate tn-list /opt/tnid