Redeploying or editing an NSX Edge in High Availability fails
search cancel

Redeploying or editing an NSX Edge in High Availability fails

book

Article ID: 321254

calendar_today

Updated On:

Products

VMware NSX Data Center for vSphere

Issue/Introduction

Symptoms:
  • Redeploying or editing an NSX Edge in High Availability fails.
  • Both Edge appliances are missing from the vCenter Server inventory.


Environment

VMware NSX Data Center for vSphere 6.4.x

Cause

This issue occurs because the NSX Edge appliances setting are invalid or with missing inventory details.

Resolution

This is a known issue affecting VMware NSX Data Center for vSphere 6.4.4.

Currently, there is no resolution.

Workaround:
To work around this issue:

  1. Get the applianceSettings of the NSX Edge using the following API:

    GET /api/4.0/edges/{edgeId}/appliances/

    <?xml version="1.0" encoding="UTF-8"?>
    <appliances>
        <applianceSize>compact</applianceSize>
        <appliance>
            <highAvailabilityIndex>0</highAvailabilityIndex>
            <vcUuid>########-####-####-####-########ef06</vcUuid>
            <vmId>vm-41</vmId>
            <resourcePoolId>domain-c8</resourcePoolId>
            <resourcePoolName>Compute-Cluster</resourcePoolName>
            <datastoreId>datastore-12</datastoreId>
            <datastoreName>vdnetSharedStorage</datastoreName>
            <hostId>host-16</hostId>
            <hostName>10.192.104.17</hostName>
            <vmFolderId>group-v4</vmFolderId>
            <vmFolderName>vm</vmFolderName>
            <vmHostname>NSX-edge-1-0</vmHostname>
            <vmName>VMNAME</vmName>
            <deployed>true</deployed> 
            <cpuReservation>
                <limit>-1</limit>
                <reservation>1000</reservation>
            </cpuReservation>
            <memoryReservation>
                <limit>-1</limit>
                <reservation>512</reservation>
            </memoryReservation>
            <edgeId>edge-1</edgeId>
            <configuredResourcePool>
                <id>domain-c8</id>
                <name>Slave-Compute-Cluster</name>
                <isValid>true</isValid>
            </configuredResourcePool>
            <configuredDataStore>
                <id>datastore-12</id>
                <name>vdnetSharedStorage</name>
                <isValid>true</isValid>
            </configuredDataStore>
            <configuredHost>
                <id>host-16</id>
                <name>10.192.104.17</name>
                <isValid>true</isValid>
            </configuredHost>
        </appliance>
        <deployAppliances>true</deployAppliances>  <!-- Flag to undeploy the edge Vms>
    </appliances>


    Note
    <deployAppliances>false</deployAppliances> should be set to false.
     
  2. Apply the above payload using the following API:

    PUT /api/4.0/edges/{edgeId}/appliances/
     
  3. Modify the datastore of the appliances either over the User Interface (UI) or using the rest API.
  4. Get the payload of appliances using the API in step #1.

    Modify the <deployAppliances>true</deployAppliances>. This should be set to true.
    Do step 2 using the payload with the above modified attribute.