"Invalid vApp properties: Argument '<OLD_NETWORK_NAME>' not a valid network name" error after powering on a vCloud VM following a vApp Network Change
search cancel

"Invalid vApp properties: Argument '<OLD_NETWORK_NAME>' not a valid network name" error after powering on a vCloud VM following a vApp Network Change

book

Article ID: 325595

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

Symptoms:
  • When a vApp network is changed and the vApp is then restarted, you may see and error similar to the following::
    • com.vmware.ssdc.util.LMException: Invalid vApp properties: Argument '<OLD_NETWORK_NAME>' not a valid network name.'
  • Selecting any VM in the vApp, going to properties > Hardware > Ok may cause the VM to fail to reconfigure with the error:
    • "Failed. Details: a different object with the same identifier value was already associated with the session: [com.vmware.vcloud.common.model.VAppModel]"


Environment

VMware Cloud Director for Service Provider 8.x

Cause

This issue occurs because vCloud does not update the vApp product section in the Database correctly.

Resolution

This is a known issue affecting vCloud Director for Service Providers 8.20.x.
This issue is resolved in vCloud Director for Service Providers 9.x. and later, available at VMware Downloads

Workaround:
The method to update the product section is to use a GET call to the below API and then search for entries still referring to older vApp network, correct them by replacing newer vApp network name and then make PUT call using the modified API request.

Steps for updating vApp property using REST API
 --------------------------------------------------------- 
1: GET to https://<VCD_URL>/api/vApp/vapp-<VAPP_UUID>/productSections/ 
2: Get the response for Step 1 
3: Search for older vApp network 
4: Correct them to point to newer vapp network 
5: Make a PUT call on https://<VCD_URL>/api/vApp/vapp-<VAPP_UUID>/productSections/ using the modified body 
6: Perform the power on operation

Sample request body for Step 5: 
-------------------------------------------------------- 
<?xml version="1.0" encoding="UTF-8"?> 
<ProductSectionList xmlns="http://www.vmware.com/vcloud/v1.5" 
xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:vmw="http://www.vmware.com/schema/ovf"
href="https://
<VCD_URL>/api/vApp/vapp-<VAPP_UUID>/productSections/
type="application/vnd.vmware.vcloud.productSections+xml" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" 
xsi:schemaLocation="http://schemas.dmtf.org/ovf/envelope/1 
http://schemas.dmtf.org/ovf/envelope/1/dsp8023_1.1.0.xsd http://www.vmware.com/vcloud/v1.5 
http://
<VCD_URL>/api/v1.5/schema/master.xsd 
http://www.vmware.com/schema/ovf http://www.vmware.com/schema/ovf">     
<Link rel="edit" href="https://
<VCD_URL>/api/vApp/vapp-<VAPP_UUID>/productSections/" 
type="application/vnd.vmware.vcloud.productSections+xml"/>    
<ovf:ProductSection ovf:class="" ovf:instance="" ovf:required="true">         
<ovf:Info>Information about the installed software</ovf:Info>         
<ovf:Property ovf:key="Management_Subnet" ovf:password="false" ovf:type="string" ovf:userConfigurable="false" ovf:value="" vmw:qualifiers="Netmask('d3')">             
<ovf:Label>Management subnet mask</ovf:Label>         
</ovf:Property>         
<ovf:Property ovf:key="Management_Gateway" ovf:password="false" ovf:type="string" ovf:userConfigurable="false" ovf:value="" vmw:qualifiers="Gateway('d3')">             
<ovf:Label>Management Gateway</ovf:Label>         
</ovf:Property>     
</ovf:ProductSection> </ProductSectionList> 

This needs to be followed every time a user modifies the vApp network when the respective vApp has product section configured with ovf:key "Management_Gateway" and "Management_Subnet" as they still refer to the older vApp network.