I had the honour, and I use that sarcastically, of having some backups failing recently following a TSM upgrade. While the reason is not clear as to why a newer version of TSM failed my guess is that how TSM sends API or other calls has changed and that’s why the error came up. The new TSM version can make API calls based on a specific version of vSphere. As the environment was upgraded from vSphere 4 to 5 etc. the original license key edition was at the top of the license chain and this is what was being interrogated by the APIs so it failed to capture a valid backup.
What we were seeing was the the backup software connecting and taking the snapshot as per vCenter GUI but the transmission aborts with the following error;
08/12/2015 17:32:39.321 : vmvddksdk.cpp (1168): VixDiskLib: Error occurred when obtaining NFC ticket for: [DATASTORE_NAME] VM_NAME/VM_NAME.vmdk. Error 16064 at 3707. 08/12/2015 17:32:39.321 : vmvddksdk.cpp (1024): vddksdkPrintVixError(): VM name 'VM_NAME'. 08/12/2015 17:32:39.321 : vmvddksdk.cpp (1054): ANS9365E VMware vStorage API error for virtual machine 'VM_NAME'. TSM function name : VixDiskLib_Open TSM file : vmvddksdk.cpp (1669) API return code : 16064 API error message : The host is not licensed for this feature
While it was not the exact issue I did find a VMware KB article which mentions removing the license from vCenter MOB (Managed Object Browser). The details however were not clear. Thankfully the community came to the rescue and I found the real solution in GSparks response from the Community thread. The overview was there but not the intimate detail which is why I’ve documented the process here.
Step 1:
Open the MOB for your vCenter environment from the browser. It will most likely have the address of https://vCenter_Hostname/mob. Once you log in go click on The following: Content > License Manager >LicenseManagerLicenseInfo[]> and take not of the editionKey > . If it is set to esxBasic then you’ll need to remove and re-add the license as per GSparks recommendation from the above Community Thread. Make sure to copy the licenseKey string as you’ll need this to re-add the license later.
Step 2:
Next, click back on the browser. Ensure the Managed Object ID is showing License Manager. Now click on RemoveLicense from the Methods
Step 3:
Enter the license key you copied earlier and click on Invoke Method. This will remove the license from License Manager.
Step 4:
Click on AddLicense under Methods.
Enter the license key you copied in Step 1 and click Invoke Method
Step 5:
Click on LicenseManagerLicenseInfo[] and you’ll see that the editionKey is now set to “vc”
If you scroll down through the licenses you’ll see that the license has been re-added but is further down the listing.
Now when the backup was run it went through without any error messages