During license assignment via VCF Operations, the target vCenter Server fails to appear in the Manage > Licensing view.
/storage/log/vcops/log/ManagementAdapter/ManagementAdapter.log
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 <vCenter_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)The CIS License service reports an IllegalArgumentException relating to null data in vCenter:
/var/log/vmware/cis-license/license.log
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)
VMware Cloud Foundation (VCF) 9.1
VCF Operation 9.1
vCenter 9.1
The presence of a stale or orphaned vSphere+ subscription license in the vCenter LDAP database prevents the vCenter from appearing in the UI.
During a licensing state query from VCF Operations, the vCenter API fails to decode the corrupted license, resulting in an IllegalArgumentException.
This error halts the license collection process for the specific vCenter, ultimately leaving it hidden from the VCF Operations licensing view.
Identify and manually delete the stale vSphere+ license directly from the vCenter LDAP database.
Identify the stale license:
Connect to the affected vCenter Server via SSH and log in as root.
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: Enter the [email protected] password when prompted.
Analyze the output to identify the orphaned vSphere+ license. The entry will appear similar to the example below:dn: cn=LicenseEntity_########-####-####-####-############,cn=LicenseService,cn=services,dc=vsphere,dc=localvmwLicSvcLicenseName: vSphere+vmwLicSvcLicenseId: ########-####-####-####-############vmwLicSvcLicenseType: SubscriptionLicensecn: LicenseEntity_########-####-####-####-############
Important: Confirm that the identified LicenseEntity is not currently assigned to any assets, such as ESXi hosts or the vCenter. Take care not to inadvertently delete active vSphere 8 Enterprise Plus (Subscription) keys.
Remove the stale license:
Take a snapshot of the vCenter VM. Refer: Snapshot Best practices for vCenter Server Virtual Machines.
Proceed to remove the stale license from the LDAP database by following the manual steps provided in the following KB: How to remove a license manually from VC.
Once the orphaned license is removed, allow approximately 15 minutes for VCF Operations to complete its next license collection cycle. The vCenter will then appear under Manage > Licensing.