Resolve NSX edge “EdgeDNSInspectionTask” upgrade precheck failure
search cancel

Resolve NSX edge “EdgeDNSInspectionTask” upgrade precheck failure

book

Article ID: 403857

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • Following Precheck failure seen on the UI or upgrade coordinator log:

"DNS configuration check on the edge/edge service node: [DNS is not configured on Edge '81222d9d-####-####-####-############'. {2} will not be able to resolve the fqdn to download the upgrade bundle from NSX manager. Kindly configure a valid DNS on Edge.]: ##-nsx-edge, DNS configuration check on the edge/edge service node: [DNS is not configured on Edge '04536a24--####-####-####-############'. {2} will not be able to resolve the fqdn to download the upgrade bundle from NSX manager. Kindly configure a valid DNS on Edge.]: fs-nsx-edge1"

  • Log location on NSX manager: /var/log/upgrade-coordinator/upgrade-coordinator.log

Environment

VCF NSX 9.0

Cause

  • If NSX manager Cluster is deployed in dual stack or if CA signed certificate authentication is enabled, NSX manager creates the url using FQDN, to download edge upgrade bundle and send it to edge appliance.
  • If edge appliance cannot resolve this FQDN, the edge upgrade will fail in downloading the nub bundle from NSX manager.
  • EdgeDNSInspectionTask is an explicit pre upgrade check, which validates whether an edge transport node has DNS configuration to resolve the NSX manager fqdn. This precheck will fail If the Edge node was created using static management IP and does not have any DNS configuration to resolve the nub url.

Resolution

  • Use the following API to configure DNS on the edge appliance and proceed with the upgrade.
  • First run GET API to get the configuration: GET https://<NSXMPIP>/api/v1/transport-nodes/<tnId>/node/network/name-servers

Example response payload:
{
  "_schema": "NodeNameServersProperties",
  "_self": {
    "href": "/transport-nodes/528a54c7-####-####-####-############/node/network/name-servers",
    "rel": "self"
  },
  "name_servers": []
}

  • Next run the PUT API with desired DNS IP added to the payload: PUT https://<NSXMPIP>/api/v1/transport-nodes/<tnId>/node/network/name-servers

Example request payload:
{
  "_schema": "NodeNameServersProperties",
  "_self": {
    "href": "/transport-nodes/528a54c7-####-####-####-############/node/network/name-servers",
    "rel": "self"
  },
  "name_servers": ["##.##.##.##"]
}