One or more vCenter instances are not connected to a license server. To avoid service interruption, verify that the vCenter instance is connected to a license server.
cis-license.log contains errors similar to: #### ERROR ManagementAdapter #### [ops@#### threadName="vcf-licensing-assign-####"] - Error while assigning entitlement to VC: #### at [Redacted-VC-FQDN] java.lang.NullPointerExceptionYYYY-MM-DDTHH:MM:SS.815Z ERROR ManagementAdapter ##### [ops@#### threadId="######" threadName="vcf-licensing-assign-####" instanceId="##"] [(##) com.vmware.adapter.management.components.licensing.vcf.H.A] - Error while assigning entitlement to VC: #########-####-####-####-############### at [Redacted-VC-FQDN] java.lang.NullPointerException: Cannot invoke "com.vmware.vapi.bindings.Structure._hasTypeNameOf(java.lang.Class)" because "<local3>" is nullYYYY-MM-DDTHH:MM:SS.274Z INFO vcf-licensing-plugin ##### [ops@#### threadId="#####" threadName="pool-40-thread-4" operationId=""] [com.vmware.vrops.licensing.vcf.helper.EntitlementAutomaticReassignmentService.runAutomaticReassign] - Checking whether allocations [#########-####-####-####-###############, #########-####-####-####-###############] should be migrated.YYYY-MM-DDTHH:MM:SS.279Z INFO vcf-licensing-plugin ##### [ops@#### threadId="#####" threadName="pool-40-thread-4" operationId=""] [com.vmware.vrops.licensing.vcf.helper.EntitlementAutomaticReassignmentService.runAutomaticReassign] - Starting migration for allocations [#########-####-####-####-###############, #########-####-####-####-###############]YYYY-MM-DDTHH:MM:SS.279Z INFO vcf-licensing-plugin ##### [ops@#### threadId="######" threadName="pool-40-thread-4" operationId=""] [com.vmware.vrops.licensing.vcf.helper.EntitlementAutomaticReassignmentService.lambda$runAutomaticReassign$2] - Will migrate entitlement 6#########-####-####-####-############### to #########-####-####-####-###############YYYY-MM-DDTHH:MM:SS.279Z INFO vcf-licensing-plugin ##### [ops@#### threadId="#####" threadName="pool-40-thread-4" operationId=""] [com.vmware.vrops.licensing.vcf.helper.EntitlementAutomaticReassignmentService.lambda$runAutomaticReassign$2] - Will migrate entitlement #########-####-####-####-############### to #########-####-####-####-###############YYYY-MM-DDTHH:MM:SS.280Z INFO vcf-licensing-plugin ##### [ops@#### threadId="#####" threadName="pool-40-thread-4" operationId=""] [com.vmware.vrops.licensing.vcf.helper.EntitlementAutomaticReassignmentService.runAutomaticReassign] - Reassigning entitlements [#########-####-####-####-###############].
This issue occurs when a stale LicenseEntity exists in the vCenter LDAP database, often due to an upgrade path where a vSAN (TiB) license was assigned without an active vSAN cluster, or when synchronization fails between the new 9.1 License Server and the vCenter instance.
To manually clear the stale license entities, follow these steps:
LicenseEntity and AssetEntity objects:Note, paste the entire contents of the ldapsearch command on the vCenter bash command line./opt/likewise/bin/ldapsearch -b "cn=LicenseService,cn=Services,dc=vsphere,dc=local" -D "cn=Administrator,cn=Users,dc=vsphere,dc=local" -s sub "(|(objectclass=vmwLicSvcAssetEntity)(objectclass=vmwLicSvcLicenseEntity))" cn vmwLicSvcAssetName vmwLicSvcAssetProductName vmwLicSvcAssetProductVersion vmwLicSvcAssetLicenseId vmwLicSvcLicenseId vmwLicSvcLicenseName vmwLicSvcLicenseSerialKeys -WWhen prompted, enter the LDAP Password for [email protected]dn: cn=LicenseEntity_#######-####-####-####-############,cn=LicenseService,cn =services,dc=vsphere,dc=localcn: LicenseEntity_#######-####-####-####-############vmwLicSvcLicenseName: 'VMware vSAN (TiB)'vmwLicSvcLicenseSerialKeys: #######-####-####-####-############
/opt/likewise/bin/ldapmodify -h localhost -D "cn=administrator,cn=users,dc=vsphere,dc=local" -W << EOFdn: cn=LicenseEntity_#######-####-####-####-############,cn=LicenseService,cn=services,dc=vsphere,dc=localchangetype: deleteEOF#######-####-####-####-############cn=LicenseService,cn=services,dc=vsphere,dc=local"Note, paste the entire contents of the ldapsearch command on the vCenter bash command line../opt/likewise/bin/ldapsearch -b "cn=LicenseService,cn=Services,dc=vsphere,dc=local" -D "cn=Administrator,cn=Users,dc=vsphere,dc=local" -s sub "(|(objectclass=vmwLicSvcAssetEntity)(objectclass=vmwLicSvcLicenseEntity))" cn vmwLicSvcAssetName vmwLicSvcAssetProductName vmwLicSvcAssetProductVersion vmwLicSvcAssetLicenseId vmwLicSvcLicenseId vmwLicSvcLicenseName vmwLicSvcLicenseSerialKeys -WvSphere Client UI -> Administration -> Licensing -> Licenses that the License is removed:Note: Licensed assets using the license will become unlicensed and need to be relicensed accordingly.
This article provides an example to remove a "LicenseEntity". Removing the "AssetEntity" is not required or recommended.
CAUTION: This article shows how to remove a vCenter Server License. Do not remove the vCenter Server License if it is valid and in use. Only remove the desired stale or expired LicenseEntity.
How to remove a License Manually from vCenter using ldapmodify