<?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>
Apply the workaround described in the relevant section.
Workaround:
Undeploying the Edge allows 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.
<deployAppliances>false</deployAppliances>
The content should be similar to:
<?xml version="1.0" encoding="UTF-8"?>
<appliances>
<appliance>
<highAvailabilityIndex>0</highAvailabilityIndex>
<vcUuid>50068fa9-####-####-####-############</vcUuid>
<vmId>vm-#</vmId>
<haAdminState>up</haAdminState>
<resourcePoolId>resgroup-#</resourcePoolId>
<resourcePoolName>PrimaryResourcePool</resourcePoolName>
<datastoreId>datastore-#</datastoreId>
<datastoreName>datastore-#</datastoreName>
<hostId>host-#</hostId>
<hostName>esxi#.mydomain</hostName>
<vmHostname>nsx-edge#-#</vmHostname>
<vmName>nsx-edge#-#</vmName>
<deployed>true</deployed>
<cpuReservation>
<limit>-1</limit>
<reservation>0</reservation>
</cpuReservation>
<memoryReservation>
<limit>-1</limit>
<reservation>0</reservation>
</memoryReservation>
<edgeId>edge-#</edgeId>
<configuredResourcePool>
<id>resgroup-#</id>
<name>PrimaryResourcePool</name>
<isValid>true</isValid>
</configuredResourcePool>
<configuredDataStore>
<id>datastore-#</id>
<isValid>false</isValid>
</configuredDataStore>
<configuredHost>
<id>host-#</id>
<name>esxi#.mydomain</name>
<isValid>true</isValid>
</configuredHost>
</appliance>
<appliance>
<highAvailabilityIndex>1</highAvailabilityIndex>
<vcUuid>5006d672-fd98-####-####-########0db</vcUuid>
<vmId>vm-#</vmId>
<haAdminState>up</haAdminState>
<resourcePoolId>domain-#</resourcePoolId>
<resourcePoolName>SecondaryResourcePool</resourcePoolName>
<datastoreId>datastore-#</datastoreId>
<datastoreName>PrimaryDatastore</datastoreName>
<hostId>host-#</hostId>
<hostName>esxi#.mydomain</hostName>
<vmHostname>nsx-edge#-#</vmHostname>
<vmName>nsx-edge#-#</vmName>
<deployed>true</deployed>
<cpuReservation>
<limit>-1</limit>
<reservation>0</reservation>
</cpuReservation>
<memoryReservation>
<limit>-1</limit>
<reservation>0</reservation>
</memoryReservation>
<edgeId>edge-#</edgeId>
<configuredResourcePool>
<id>domain-#</id>
<name>SecondaryResourcePool</name>
<isValid>true</isValid>
</configuredResourcePool>
<configuredDataStore>
<id>datastore-#</id>
<name>PrimaryDatastore</name>
<isValid>true</isValid>
</configuredDataStore>
<configuredHost>
<id>host-#</id>
<name>esxi#.mydomain</name>
<isValid>true</isValid>
</configuredHost>
</appliance>
<deployAppliances>false</deployAppliances>
</appliances>
The content should be similar to:
<?xml version="1.0" encoding="UTF-8"?>
<appliances>
<appliance>
<highAvailabilityIndex>0</highAvailabilityIndex>
<vcUuid>50068fa9-2d61-####-####-########
e9d</vcUuid> <vmId>vm-#</vmId> <haAdminState>up</haAdminState> <resourcePoolId>resgroup-#</resourcePoolId> <resourcePoolName>PrimaryResourcePool</resourcePoolName> <datastoreId>datastore-#</datastoreId> <datastoreName>PrimaryDatastore</datastoreName> <hostId>host-#</hostId> <hostName>esxi#.mydomain</hostName> <vmHostname>nsx-edge#-#</vmHostname> <vmName>nsx-edge#-#</vmName> <deployed>true</deployed> <cpuReservation> <limit>-1</limit> <reservation>0</reservation> </cpuReservation> <memoryReservation> <limit>-1</limit> <reservation>0</reservation> </memoryReservation> <edgeId>edge-#</edgeId> <configuredResourcePool> <id>resgroup-#</id> <name>PrimaryResourcePool</name> <isValid>true</isValid> </configuredResourcePool> <configuredDataStore> <id>datastore-#</id> <name>PrimaryDatastore</name> <isValid>true</isValid> </configuredDataStore> <configuredHost> <id>host-#</id> <name>esxi#.mydomain</name> <isValid>true</isValid> </configuredHost> </appliance> <appliance> <highAvailabilityIndex>1</highAvailabilityIndex> <vcUuid>5006d672-fd98-####-####-########
0db</vcUuid> <vmId>vm-#</vmId> <haAdminState>up</haAdminState> <resourcePoolId>domain-#</resourcePoolId> <resourcePoolName>SecondaryResourcePool</resourcePoolName> <datastoreId>datastore-#</datastoreId> <datastoreName>PrimaryDatastore</datastoreName> <hostId>host-#</hostId> <hostName>esxi#.mydomain</hostName> <vmHostname>nsx-edge#-#</vmHostname> <vmName>nsx-edge#-#</vmName> <deployed>true</deployed> <cpuReservation> <limit>-1</limit> <reservation>0</reservation> </cpuReservation> <memoryReservation> <limit>-1</limit> <reservation>0</reservation> </memoryReservation> <edgeId>edge-#</edgeId> <configuredResourcePool> <id>domain-#</id> <name>SecondaryResourcePool</name> <isValid>true</isValid> </configuredResourcePool> <configuredDataStore> <id>datastore-<#/id> <name>PrimaryDatastore</name> <isValid>true</isValid> </configuredDataStore> <configuredHost> <id>host-#</id> <name>esxi#.mydomain</name> <isValid>true</isValid> </configuredHost> </appliance> <deployAppliances>true</deployAppliances> </appliances>