Json processing error. - Unrecognized field "entity" (class com.vmware.vcloud.rest.openapi.model.VdcVmPolicy), not marked as ignorable (29 known properties: "pvdcId", "memory", "pvdcComputePolicy", "hasSizingInfo", "cpuCount", "pvdcVgpuClustersMap", "name", "policyType", "pvdcLogicalVmGroupsMap", "isVgpuPolicy", "isSizingOnly", "memoryShares", "isAutoGenerated", "id", "coresPerSocket", "pvdcNamedVmGroupsMap", "org", "logicalVmGroupReferences", "cpuLimit", "compatibleVdcTypes", "memoryLimit", "description", "memoryReservationGuarantee", "cpuSpeed", "vgpuProfiles", "namedVmGroups", "cpuReservationGuarantee", "cpuShares", "extraConfigs"])VMware Cloud Director 10.6.1.2
This issue occurs as the VCD UI incorrectly forms the JSON request body which the browser sends to the VCD OpenAPI to edit the vGPU Policy.
This issue is under review by VMware Cloud Director Engineering.
Subscribe to this knowledge article to get updates on this issue.
To workaround the issue the vGPU Policy can be deleted and recreated with the desired changes as per the documentation on, Creating and Managing vGPU Policies in VMware Cloud Director.
If the vGPU Policy cannot be deleted, then it can be updated using the VCD OpenAPI instead of the VCD UI.
As vGPU Policies are a type of VdcComputePolicy2, the VCD OpenAPI, Vdc Compute Policies2 APIs can be used to update them.
Example steps to add a Provider VDC and ESX cluster using the VCD API Explorer would be as follows:
https://vcd.example.com/provider/cloud/vgpu-policies/urn:vcloud:vdcComputePolicy:########-####-####-####-########12ab/generalurn:vcloud:vdcComputePolicy:########-####-####-####-########12abhttps://vcd.example.com/provider/cloud/provider-vdcs/########-####-####-####-########34cd/configure/general########-####-####-####-########34cdhttps://vcenter.example.com/ui/app/cluster;nav=h/urn:vmomi:ClusterComputeResource:domain-c#:########-####-####-####-############/summarydomain-c#urn:vcloud:vdcComputePolicy:########-####-####-####-########12ab200 response code, and copy the entire JSON Response body.pvdcVgpuClustersMap section, add the new Provider VDC and ESX cluster to be added to the vGPU Policy.pvdcVgpuClustersMap section with only one Provider VDC and ESX cluster:"pvdcVgpuClustersMap": [ { "pvdc": { "name": "<original_pvdc_name>", "id": "urn:vcloud:providervdc:<original_vdc_uuid>" }, "clusters": [ "<original_esx_cluster_moref>" ] }],pvdcVgpuClustersMap section with two Provider VDC and ESX cluster pairs:"pvdcVgpuClustersMap": [ { "pvdc": { "name": "<original_pvdc_name>", "id": "urn:vcloud:providervdc:<original_vdc_uuid>" }, "clusters": [ "<original_esx_cluster_moref>" ] } { "pvdc": { "name": "<additional_pvdc_name>", "id": "urn:vcloud:providervdc:########-####-####-####-########34cd" }, "clusters": [ "domain-c#" ] }],200 response code is received, and copy the entire JSON Response body.