vCenter Server is not listed under Manage > Licensing to assign license from VCF Operations
search cancel

vCenter Server is not listed under Manage > Licensing to assign license from VCF Operations

book

Article ID: 455886

calendar_today

Updated On:

Products

VCF Operations VMware vCenter Server

Issue/Introduction

  • When attempting to assign a license to a vCenter Server from VMware Cloud Foundation (VCF) Operations, the vCenter Server (VC) does not appear in the grid under Manage > Licensing.
  • When reviewing the VCF Operations /storage/log/vcops/log/ManagementAdapter/ManagementAdapter.log, you will observe errors during vCenter license collection similar to the following:
    ERROR ManagementAdapter ####### [ops@#### threadId="######" threadName="vcf-licensing-collection-#####" instanceId="##"] [(##) com.vmware.adapter.management.components.licensing.vcf.collector.VCenterLicenseUsageCollector.collect] - Cannot fetch licenses from VC ########-####-####-####-############ at <VC_FQDN>
    com.vmware.vim.binding.vmodl.fault.SystemError: java.lang.IllegalArgumentException
            at jdk.internal.reflect.GeneratedConstructorAccessor1491.newInstance(Unknown Source)
            at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
            at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
    ...
  • Additionally, in the vCenter Server /var/log/vmware/cis-license/license.log logs, the CIS License service reports an IllegalArgumentException relating to null data:
    ERROR CISLicense ## [vc@#### threadName="report-addon-usage-task-executor-1" logger="cis.license.entitlement.management.LicenseServerPeriodicOperations"] Failed to get licenses for scopeId ########-####-####-####-############:
    java.lang.IllegalArgumentException: Invalid productRestrictionsData or entitlementLicenseDetailsData are null.
            at com.vmware.cis.license.embedded.server.core.management.dao.licstorage.impl.RepositoryDaoUtil.decodeSubscriptionProperties(RepositoryDaoUtil.java:662)
    ...

Environment

  • VCF Operations 9.x
  • vCenter Server 9.x

Cause

This issue is caused by a stale or orphaned vSphere+ subscription license entity remaining in the vCenter LDAP database. When VCF Operations queries the vCenter for its licensing state, the vCenter API attempts to read and decode this corrupted/stale license. The operation fails with an IllegalArgumentException, causing the entire license collection process for that vCenter to abort. Consequently, VCF Operations cannot display the vCenter in the licensing UI.

Resolution

To resolve this issue, you must identify and manually delete the stale vSphere+ license directly from the vCenter LDAP storage.
 
Phase 1: Identify the Stale License:
  1. Connect to the affected vCenter Server Appliance via SSH and log in as root.
  2. Run the following command to list all licenses of the SubscriptionLicense type:
    /opt/likewise/bin/ldapsearch -b "cn=LicenseService,cn=Services,dc=vsphere,dc=local" -D "cn=Administrator,cn=Users,dc=vsphere,dc=local" -s sub "(vmwLicSvcLicenseType=SubscriptionLicense)" cn vmwLicSvcAssetName vmwLicSvcAssetProductName vmwLicSvcAssetProductVersion vmwLicSvcAssetLicenseId vmwLicSvcLicenseId vmwLicSvcLicenseName vmwLicSvcLicenseSerialKeys vmwLicSvcLicenseType -W
    
    # Note: You will be prompted for the [email protected] password
  3. Review the output to locate the orphaned vSphere+ license. It will look similar to this:
    dn: cn=LicenseEntity_########-####-####-####-############,cn=LicenseService,cn=services,dc=vsphere,dc=local
    vmwLicSvcLicenseName: vSphere+
    vmwLicSvcLicenseId: ########-####-####-####-############
    vmwLicSvcLicenseType: SubscriptionLicense
    cn: LicenseEntity_########-####-####-####-############
  4. Verify that this specific LicenseEntity is not actively assigned to any assets (e.g., ESXi hosts) in your environment. Take care not to identify active vSphere 8 Enterprise Plus (Subscription) keys.
Phase 2: Remove the Stale License:
  1. Once the stale license entity is identified, carefully remove it from the LDAP database by following the exact manual removal procedure outlined in the following KB: How to remove a license manually from VC
    (Note: Ensure to take SNAPSHOT of the vCenter)
  2. After the orphaned license is deleted, VCF Operations will successfully complete its next license collection cycle (~15 mins), and the vCenter should populate in the VCF Operations: Manage > Licensing.