Search the VMware Knowledge Base (KB)
View by Article ID

Adding a license to VMware vRealize Operations Manager fails with the error: Unable to validate license key (2117817)

  • 2 Ratings
Language Editions

Symptoms

  • Adding a license in VMware vRealize Operations Manager 6.0.x fails with an an error similar to:
Unable to validate license key. Invalid license key
  • In the ${ALIVE_BASE}/user/log/analytics.log/analytics log file, you see entries similar to:
<YYYY-MM-DD>T<TIME> ERROR [ServerConnection on port 10000 Thread 95 ]  com.vmware.vcops.licensing.cis.CisLicensingServiceImpl.throwLicenseDecodeFailedException - License key entered could not be decoded by product
<YYYY-MM-DD>T<TIME> ERROR [ServerConnection on port 10000 Thread 95 ]  com.vmware.vcops.licensing.impl.LicensingServiceImpl.translateException - LocalizedRuntimeException: Invalid license key

Cause

This issue occurs when the license information gets corrupted in the Inventory Service database (xDB).

Resolution

This is a known issue affecting vRealize Operations Manager 6.0.x.

This issue is resolved in VMware vRealize Operations Manager 6.1, available at VMware Downloads.

To work around this issue, remove the corrupt license from the xDB and re-enter it:

Note: A typing error in the xDB console may cause unrecoverable damage to the VMware vRealize Operations Manager cluster. Ensure to take a backup of all the nodes before proceeding.

Note
: If possible, document the configuration of any license groups present on the Administration > Licensing > License Groups page as they will need to be reconfigured later.
  1. Log in to the Admin UI.
  2. In the System Status page, click Take Offline.
  3. After the cluster is offline, log in to the master node as the root user.
  4. Launch the xDB console by running these commands:
XDB_PASSWORD=`grep "^db.password" /usr/lib/vmware-vcops/user/conf/persistence/persistence.properties | cut -f2 -d'='`
$ALIVE_BASE/xdb/bin/xdb -d alivevm -p $XDB_PASSWORD -u Administrator -f /data/vcops/xdb/vcops.bootstrap

Note: Ignore any Unable to bind key... messages that appear.

  1. Remove all license documents by running this command:
rm globalpersistence/SolutionLicense/LicenseInfoData* 

Note: Ignore any Checkpoint triggered log truncation... messages that appear after removing xDB data.

  1. Remove all license metadata documents by running these commands:
rm globalpersistence/LicenseMetadata/LicenseMetadata.KeyToUri
rm globalpersistence/LicenseMetadata/LicenseMetadata.LicenseToAsset

  1. Remove all license BLOB documents by running this command:
rm globalpersistence/Licensing/BLOB-*

  1. List the different license group documents present in xDB by running this command::
ls globalpersistence/LicensingGroups/

Note: You see output similar to:

LicGroupAttributes.VcopsLicensingGroupID
LicGroupAttributes.UnlicensedGroupID
LicGroupAttributes.e725c1ec-4cd2-4805-9e45-3643c17b6ee1

  1. Display the contents of each of the xml documents returned in the previous step by running this command:
cat globalpersistence/LicensingGroups/LicGroupAttributes.<first item>

  • Note: Copy everything from <?xml version="1.0" encoding="UTF-8"?> to </com.vmware.vcops.licensing.model.LicenseGroup> (the entire document) into a text editor.
  • Note: Repeat for all items returned in step 8.

  1. Examine the contents of each xml document in the text editor, where its content was copied. If there is any data between the <assignedLicenses> and </assignedLicenses> tags, remove it. If only the <assignedLicenses/> tag is present, no changes are needed.
  2. Save and close each xml document to the /tmp directory on the master node. The name of the documents should be the same as their original xml counterparts.
Note: Given the output from step 8, the files for this example would be named:

/tmp/LicGroupAttributes.VcopsLicensingGroupID
/tmp/LicGroupAttributes.UnlicensedGroupID
/tmp/LicGroupAttributes.e725c1ec-4cd2-4805-9e45-3643c17b6ee1

  1. Remove the original License Group xml documents by running this command:
rm globalpersistence/LicensingGroups/LicGroupAttributes.*

  1. Import the xml documents saved in step 11 by running this command:
import /tmp/LicGroupAttributes.<first item> /globalpersistence/LicensingGroups 

Note: Repeat for all items returned in step 8.

  1. Exit the xDB console by running this command:
exit

  1. Delete all license related files by running this command:
rm /data/vcops/blob/Licensing/*

  1. Repeat step 15 on all other non-collector nodes in the cluster.
  2. In the Admin UI, click Bring Online on the System Status page.
  3. Once the cluster is online, log in to the main vRealize Operations Manager UI.
  4. When prompted, enter the vRealize Operations Manager license key.
  5. Navigate to the Administration > Licensing > License Groups page and verify the configuration, or reconfigure any License Groups.

See Also

Update History

10/09/2015 - Issue resolved in vRealize Operations Manager 6.1

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 2 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 2 Ratings
Actions
KB: