Error "incompatible compute policies present" when converting Org VDC to Pay-as-you-go in Cloud Director
search cancel

Error "incompatible compute policies present" when converting Org VDC to Pay-as-you-go in Cloud Director

book

Article ID: 452958

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

  • When attempting to convert an Organization Virtual Data Center (Org VDC) allocation model from Allocation Pool to Pay-as-you-go (ALLOCATION_VAPP) in VMware Cloud Director, the operation fails.
  • The following error is returned: majorErrorCode 400 minorErrorCode BAD_REQUEST message Cannot change allocation type of VDC to ALLOCATION_VAPP because there are incompatible compute policies present.
  • When attempting to remove such policies following error is returned: Organization vDC <OrgVDC_Name> Is currently using Compute Pollcies [System Default]. Remove Compute Policy from VMs In this vDC.
  • In /opt/vmware/vcloud-director/logs of VCD(VMware Cloud Director) Cell, you see entries similar to :

    YYYY-MM-DDTHH:MM:SS | DEBUG    | pool-jetty-21726          | ComputePolicyDaoImpl  | Subset of VMs with ids [4fc4####-44c0-####-####-######d873dd,2e87####-617d-####-####-######9f8378] in organization <OrgVDC_Name> are currently using Compute Policies [System Default].  | 
    requestId=d8c####-7c##-####-####-######84028d,request=PUT <VCD URL>/api/admin/vdc/592####-9c##-####-####-######754f89/computePolicies,requestTime=<EPOCH Time>,remoteAddress=#.#.#.#:#####,accept=application/*+json;version 37.1

Environment

VMware Cloud Director 10.6.x

Cause

 In Allocation Pool model, every OVDC gets an auto-generated "System Default" sizing compute policy at creation time. The one policy VCD generates for an AllocationPool VDC has cpuReservationGuarantee: 0.0 (a concrete value); Pay-as-you-go's conversion validation rejects any org VDC whose attached sizing policy has a non-null CPU reservation guarantee.

Resolution

To resolve this issue, you must replace the incompatible legacy policy with a new policy that satisfies the Pay-as-you-go requirements before performing the conversion.

  1. New Sizing Policy: Create a new sizing policy following this Doc where CPU Reservation Guarantee and Memory Reservation Guarantee are left blank (Null).
  2. Publish and Assign the New Policy: Assign the new sizing policy to impacted Org VDC and in the Org VDC settings, make this new policy the Default sizing policy.
  3. Update Existing Virtual Machines: If the VDC contains active workloads, modify each Virtual Machine to use the newly created sizing policy. 
  4. Remove the Incompatible Policy: Unpublish and remove the legacy "System Default" policy from the Org VDC.

    Note: If the UI prevents unpublishing the old policy, ensure no Templates or "ghost" VM entries are still referencing the "System Default" policy in the database. For database modifications, contact Broadcom Support and note this Article ID (452958) in the problem description. For more information, see Creating and managing Broadcom support cases .

  5. Perform Allocation Model Conversion: Once the incompatible policy is removed, follow the standard procedure to convert the model from Allocation Pool to Flex, and then to Pay-as-you-go using the API.

Additional Information