Loading

×Sorry to interrupt
Uncaught ReferenceError: addCTracking is not defined
throws at https://kb.vmware.com/resource/KM_TealiumTrackingJS?v=0.5:100:1

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

My Subscriptions

Loading

Knowledge Base

NSX Edge upgrade fails as appliance configuration is invalid (57183)

Last Updated: 6/2/2021Categories: TroubleshootingTotal Views: 4173Language:
English

2 like this article

Subscribe to get an email
newsletter with new updates

2 people found this helpful Please provide article feedback:

Symptoms

An upgrade is available on the affected NSX Edge.

The upgrade fails because of an invalid appliance configuration, such as invalid datastore-id.

For example, in vsm.log:
2018-07-24 12:57:31.442 GMT-00:00 ERROR TaskFrameworkExecutor-27 VcOperationsUtils:2270 - - [nsxv@6876 comp="nsx
-manager" subcomp="manager"] Edge VM 'edge-29-jobdata-8635-0' deployment/installOvf failed for edge Id 'edge-29'
com.vmware.vshield.vsm.inventory.vcoperations.OvfManagerInternalErrorException: nested exception is (vmodl.fault
.ManagedObjectNotFound) {
faultCause = null,
faultMessage = null,
obj = ManagedObjectReference: type = Datastore, value = datastore-62, serverGuid = aabaf72b-8ab0-4ab5-b13f-a016baf52fd7
}
[...]
2018-07-24 12:57:31.510 GMT-00:00  INFO TaskFrameworkExecutor-27 VcOperationsUtils:1845 - - [nsxv@6876 comp="nsx-manager" subcomp="manager"] Phase=Publishing edgeId=edge-29 jobId=jobdata-8635 taskType=configPublishTask timeSinceStart=3016 ms jobStatus=RUNNING message=Failed to deploy NSX Edge appliance edge-29-jobdata-8635-0. User configured placement params are not valid, attempt to install using that failed. About to install using live params. Db params are resourcePool=resgroup-35, datastore=datastore-62, vmFolder =null, Vm haIndex=0.
2018-07-24 12:57:31.510 GMT-00:00 ERROR TaskFrameworkExecutor-27 VcOperationsUtils:1733 - - [nsxv@6876 comp="nsx-manager" subcomp="manager"] Job 'jobdata-8635' - Db Network parameters are not valid and Live placement related network mapping is not specified for edge 'edge-29' haIndex '0', so considering this operation as failed. OldVmMoId='vm-246'
Note: The preceding log excerpts are only examples. Date, time, and environmental variables may vary depending on your environment.

Modifying the configuration of the NSX Edge to correct the invalid object-id fails as the edge must be upgraded before any configuration change.

For example, in UI: "Appliance has to be upgraded before perofmring any configuration change."
Via REST API call:

<?xml version="1.0" encoding="UTF-8"?>
<error>
<errorCode>10220</errorCode>
<details>Appliance has to be upgraded before performing any configuration change.</details>
<moduleName>vShield Edge</moduleName>
</error>

Purpose

This article is meant to document how to get out of the blocking situation.

Cause

The invalid configuration prevents the upgrade.
The upgrade available prevents the modification of the configuration.

Impact / Risks

This situation does not impact the data plane.
The NSX Edge is running as normal.

Resolution

This situation does not need a code change.
Apply the workaround described in the relevant section.

Workaround

Undeploying the Edge will allow the upgrade.
Appliances can be redeployed post-upgrade.

Follow the steps as below, via REST API call:
Note: As the appliances will be undeployed, network disruption is to be expected during the operation.

REST API call: GET /api/4.0/edges/edge-2/appliances

Modify <deployAppliances> from true to false:

<deployAppliances>false</deployAppliances>

REST API call with the above modified body: PUT /api/4.0/edges/edge-2/appliances

The content should be similar to:

<?xml version="1.0" encoding="UTF-8"?>
<appliances>
<appliance>
<highAvailabilityIndex>0</highAvailabilityIndex>
<vcUuid>50068fa9-2d61-395d-a11d-1aee8cf90e9d</vcUuid>
<vmId>vm-651</vmId>
<haAdminState>up</haAdminState>
<resourcePoolId>resgroup-346</resourcePoolId>
<resourcePoolName>PrimaryResourcePool</resourcePoolName>
<datastoreId>datastore-250</datastoreId>
<datastoreName>datastore-250</datastoreName>
<hostId>host-232</hostId>
<hostName>esxi01.mydomain</hostName>
<vmHostname>nsx-edge01-0</vmHostname>
<vmName>nsx-edge01-0</vmName>
<deployed>true</deployed>
<cpuReservation>
<limit>-1</limit>
<reservation>0</reservation>
</cpuReservation>
<memoryReservation>
<limit>-1</limit>
<reservation>0</reservation>
</memoryReservation>
<edgeId>edge-2</edgeId>
<configuredResourcePool>
<id>resgroup-346</id>
<name>PrimaryResourcePool</name>
<isValid>true</isValid>
</configuredResourcePool>
<configuredDataStore>
<id>datastore-250</id>
<isValid>false</isValid>
</configuredDataStore>
<configuredHost>
<id>host-232</id>
<name>esxi01.mydomain</name>
<isValid>true</isValid>
</configuredHost>
</appliance>
<appliance>
<highAvailabilityIndex>1</highAvailabilityIndex>
<vcUuid>5006d672-fd98-abc4-6383-0be1a977b0db</vcUuid>
<vmId>vm-745</vmId>
<haAdminState>up</haAdminState>
<resourcePoolId>domain-c212</resourcePoolId>
<resourcePoolName>SecondaryResourcePool</resourcePoolName>
<datastoreId>datastore-233</datastoreId>
<datastoreName>PrimaryDatastore</datastoreName>
<hostId>host-234</hostId>
<hostName>esxi02.mydomain</hostName>
<vmHostname>nsx-edge01-1</vmHostname>
<vmName>nsx-edge01-1</vmName>
<deployed>true</deployed>
<cpuReservation>
<limit>-1</limit>
<reservation>0</reservation>
</cpuReservation>
<memoryReservation>
<limit>-1</limit>
<reservation>0</reservation>
</memoryReservation>
<edgeId>edge-2</edgeId>
<configuredResourcePool>
<id>domain-c212</id>
<name>SecondaryResourcePool</name>
<isValid>true</isValid>
</configuredResourcePool>
<configuredDataStore>
<id>datastore-233</id>
<name>PrimaryDatastore</name>
<isValid>true</isValid>
</configuredDataStore>
<configuredHost>
<id>host-234</id>
<name>esxi02.mydomain</name>
<isValid>true</isValid>
</configuredHost>
</appliance>
<deployAppliances>false</deployAppliances>
</appliances>

Trigger the Upgrade.

Repeat the steps 1 to 3, and set deployAppliances to true, with valid datastoreId for both appliances.

The content should be similar to:

<?xml version="1.0" encoding="UTF-8"?>
<appliances>
<appliance>
<highAvailabilityIndex>0</highAvailabilityIndex>
<vcUuid>50068fa9-2d61-395d-a11d-1aee8cf90e9d</vcUuid>
<vmId>vm-651</vmId>
<haAdminState>up</haAdminState>
<resourcePoolId>resgroup-346</resourcePoolId>
<resourcePoolName>PrimaryResourcePool</resourcePoolName>
<datastoreId>datastore-233</datastoreId>
<datastoreName>PrimaryDatastore</datastoreName>
<hostId>host-232</hostId>
<hostName>esxi01.mydomain</hostName>
<vmHostname>nsx-edge01-0</vmHostname>
<vmName>nsx-edge01-0</vmName>
<deployed>true</deployed>
<cpuReservation>
<limit>-1</limit>
<reservation>0</reservation>
</cpuReservation>
<memoryReservation>
<limit>-1</limit>
<reservation>0</reservation>
</memoryReservation>
<edgeId>edge-2</edgeId>
<configuredResourcePool>
<id>resgroup-346</id>
<name>PrimaryResourcePool</name>
<isValid>true</isValid>
</configuredResourcePool>
<configuredDataStore>
<id>datastore-233</id>
<name>PrimaryDatastore</name>
<isValid>true</isValid>
</configuredDataStore>
<configuredHost>
<id>host-232</id>
<name>esxi01.mydomain</name>
<isValid>true</isValid>
</configuredHost>
</appliance>
<appliance>
<highAvailabilityIndex>1</highAvailabilityIndex>
<vcUuid>5006d672-fd98-abc4-6383-0be1a977b0db</vcUuid>
<vmId>vm-745</vmId>
<haAdminState>up</haAdminState>
<resourcePoolId>domain-c212</resourcePoolId>
<resourcePoolName>SecondaryResourcePool</resourcePoolName>
<datastoreId>datastore-233</datastoreId>
<datastoreName>PrimaryDatastore</datastoreName>
<hostId>host-234</hostId>
<hostName>esxi02.mydomain</hostName>
<vmHostname>nsx-edge01-1</vmHostname>
<vmName>nsx-edge01-1</vmName>
<deployed>true</deployed>
<cpuReservation>
<limit>-1</limit>
<reservation>0</reservation>
</cpuReservation>
<memoryReservation>
<limit>-1</limit>
<reservation>0</reservation>
</memoryReservation>
<edgeId>edge-2</edgeId>
<configuredResourcePool>
<id>domain-c212</id>
<name>SecondaryResourcePool</name>
<isValid>true</isValid>
</configuredResourcePool>
<configuredDataStore>
<id>datastore-233</id>
<name>PrimaryDatastore</name>
<isValid>true</isValid>
</configuredDataStore>
<configuredHost>
<id>host-234</id>
<name>esxi02.mydomain</name>
<isValid>true</isValid>
</configuredHost>
</appliance>
<deployAppliances>true</deployAppliances>
</appliances>

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
English

Attachments

Additional Resources

KB
•
End Of General Availability of the Free vSphere Hypervisor (ESXi 7.x and 8.x) (2107518)

Result 1 of 1

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware NSX for vSphere

Related Versions:

Take Our Survey

Support Assistant