VM Operations fail on auto-deployed vSphere 8.0U3 hosts with the error message "License Key has expired. Please install a valid License to use this product"
search cancel

VM Operations fail on auto-deployed vSphere 8.0U3 hosts with the error message "License Key has expired. Please install a valid License to use this product"

book

Article ID: 379119

calendar_today

Updated On: 04-14-2025

Products

VMware vCenter Server VMware vSphere ESXi VMware vSphere ESXi 8.0 VMware vCenter Server 8.0

Issue/Introduction

Even though the licenses applied to the ESXi hosts are valid, some hosts in the cluster display license-related error messages when performing tasks such as VM power-on or migrations.

The following error is displayed in the vCenter UI:

"License key has expired. Please install a valid license to use this product"

The ESXi host client and vCenter UI show a mismatch between the license assigned to the host. in the below locations:

  • vCenter: Host --> Configure --> System --> Licensing
  • Host UI: Manage --> Licensing 

Environment

VMware vCenter 8.0.3

VMware vSphere ESXi 8.0.3

ESXi hosts which were created using Auto-Deploy

Cause

This is caused by a recent change in auto-deploy with the way ESXi calculates the remaining time left on the evaluation license.

Resolution

This issue is resolved on vCenter Server 8.0 U3e, please review the points below for the specific resolution :

  1. Any new deployment of ESXi (using Autodeploy) post patching to vCenter Server Update 3e will have the fix.

  2. For existing ESXi Hosts (8.0 / 7.0) under 60 days Evaluation period.
    • To prevent the host from going into unlicensed state it should be remediated as soon as possible by applying one of the following workflows depending on the type of the host.
      • Restart the host and force to boot from this fixed version of AutoDeploy. Once the host boots and is reconnected to vCenter it should be in good working condition.
        • This option is applicable only for Stateless & Stateless-Caching deployments.
        • Not Applicable for Stateful & Auto-bootstraped Hosts.
    • If the host restart is not an option, then use the script/command-line “hostEvaluationPeriodValidator” option introduced in VC 8.0 U3e to resolve the issue. Refer to Additional Information section of this KB for more information on the tool "hostEvaluationPeriodValidator".

  3. Any existing ESXi Hosts in the vCenter inventory which already experienced unlicensed state problem, then use the script/command-line “hostEvaluationPeriodValidator” option introduced in VC 8.0 U3e to resolve the issue.

Additional Information

Find below the details about “hostEvaluationPeriodValidator” script/command: 

  • Scanning vCenter Inventory to identify problematic ESXi Hosts:

$ /usr/lib/vmware/rbd/hostEvaluationPeriodValidator/hostEvaluationPeriodValidator scan -u <vCenter user with administrative privileges e.g. administrator@vsphere.local>

Notes:
To execute the script, the above command should be invoked through an SSH connection (and bash shell) to vCenter.

For vCenter server using Customer Port configuration use below command :
$ /usr/lib/vmware/rbd/hostEvaluationPeriodValidator/hostEvaluationPeriodValidator scan -v <vCenter IP or Hostname>:<custom port other than 443> -u <vCenter user with administrative privileges e.g. administrator@vsphere.local>

    • Below is the sample output of the above command:

AutoDeploy Host Evaluation Period Validator, version=8.0.3, build=24582503
This script is provided to alleviate the problem described at:
https://knowledge.broadcom.com/external/article?articleNumber=379119
The script provides validation and remediation functionalities which
allow remediation of both stateless and stateful hosts deployed
through earlier 8.0.3 versions of AutoDeploy without the need of a
reboot. Another option to remediate stateless hosts is to reboot
these so they would boot from the updated version of AutoDeploy. For
stateful hosts deployed through earlier 8.0.3 versions of AutoDeploy
the only alternative option is to employ the workaround described in
the knowledge base article which however is applicable only after the
problem is experienced.
Log file: "/var/log/vmware/rbd/hostEvaluationPeriodValidator.log".
Connecting to vCenter Server at: "localhost".
Password:
Validating vCenter version at: "localhost".

--------------------------------------------------------------------------------
Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : NON-EVALUATION
   Evaluation: EXPIRED
Validation result for "<ESXi IP>": UNLICENSED
--------------------------------------------------------------------------------
Host "<hostname>": RECONNECT REQUIRED
--------------------------------------------------------------------------------
root@ [ ~ ]#
-------------------------------------------------------------------------------


Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : NON-EVALUATION
   Evaluation: FRACTIONAL
Validation result for "<ESXi IP>": FRACTIONAL
-------------------------------------------------------------------------------
Host "<hostname>": REMEDIATION REQUIRED
-------------------------------------------------------------------------------

Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : EVALUATION
   Evaluation: FRACTIONAL
Validation result for "<hostname>": FRACTIONAL
-------------------------------------------------------------------------------
Host "<hostname>": REMEDIATION REQUIRED (LICENSE REQUIRED FOR REMEDIATION)
-------------------------------------------------------------------------------

Validating "<hostname>"

   State     : poweredOn
   Version   : 8.0
   License   : NON-EVALUATION
   Evaluation: VALID
Validation result for "<hostname>": INTACT
-------------------------------------------------------------------------------
Host "<hostname>": REMEDIATION NOT NEEDED
-------------------------------------------------------------------------------

Validating "<hostname>"
   State     : unknown
Validation result for "<hostname>": UNSUPPORTED STATE
-------------------------------------------------------------------------------
Host "<hostname>": UNSUPPORTED STATE OR VERSION
-------------------------------------------------------------------------------

    • Explanation of the Scan result:
      • INTACT – the ESXi host is not affected due to Evaluation license issue i.e. REMEDIATION NOT NEEDED.
      • FRACTIONAL – the ESXi host under Evaluation period and have fractional value, will experience the issue once the evaluation period expires
      • UNSUPPORTED STATE – ESXi Host disconnected or not responding.
      • REMEDIATION REQUIRED (LICENSE IS REQUIRED FOR REMEDIATION) - Host under Evaluation period but does not have valid license assigned in the vCenter.
      • EVALUATION - Host with Evaluation license
      • NON-EVALUATION - Host with Valid license 
      • RECONNECT REQUIRED - Host with valid license, evaluation period expired and Problem experienced will need reconnect.

  • Remediate ESXi hosts with Eval period & valid license about to experience the problem:

    • The remediation operation would first run a scan operation for the selected hosts and if the scan operation indicates the host needs remediation then the remediation procedure gets executed.
    • If no host (-h/--host) parameter is provided all hosts in the vCenter inventory will be processed.
    • This Remediate command does Host disconnect & reconnect in vCenter. Though it's a short window (a few seconds to a minute), users need to plan accordingly. 
    • During remediation the Evaluation period will be reset to zero,  only hosts with valid license assigned to them in vCenter can be remediated with the script/command to allow them to successfully reconnect.

$ /usr/lib/vmware/rbd/hostEvaluationPeriodValidator/hostEvaluationPeriodValidator remediate -u <vCenter user with administrative privileges e.g. administrator@vsphere.local> -h <Host Name or IP> <Host Name or IP>.....

Note - To execute the script the above command should be invoked through an SSH connection (and bash shell) to vCenter.


The output of the above command executed within the described environment would produce the following output:


AutoDeploy Host Evaluation Period Validator, version=8.0.3, build=24582503
This script is provided to alleviate the problem described at:
https://knowledge.broadcom.com/external/article?articleNumber=379119
The script provides validation and remediation functionalities which
allow remediation of both stateless and stateful hosts deployed
through earlier 8.0.3 versions of AutoDeploy without the need of a
reboot. Another option to remediate stateless hosts is to reboot
these so they would boot from the updated version of AutoDeploy. For
stateful hosts deployed through earlier 8.0.3 versions of AutoDeploy
the only alternative option is to employ the workaround described in 
the knowledge base article which however is applicable only after the 
problem is experienced.
Log file: "/var/log/vmware/rbd/hostEvaluationPeriodValidator.log".
Connecting to vCenter Server at: "localhost".
Password:
Validating vCenter version at: "localhost". 


--------------------------------------------------------------------------------
Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : NON-EVALUATION
   Evaluation: EXPIRED
Validation result for "<hostname>": UNLICENSED
--------------------------------------------------------------------------------
Remediating "<hostname>"
   Reconnecting                : SUCCESS
Remediation result for "<hostname>": SUCCESS
--------------------------------------------------------------------------------
Host "<hostname>": REMEDIATED
--------------------------------------------------------------------------------


Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0 
   License   : NON-EVALUATION
   Evaluation: FRACTIONAL
Validation result for "<hostname>": FRACTIONAL 
--------------------------------------------------------------------------------
Remediating "<hostname>"
   Nullifying evaluation period: SUCCESS
   Reconnecting                : SUCCESS
Remediation result for "<hostname>": SUCCESS
--------------------------------------------------------------------------------
Host "<hostname>": REMEDIATED 
--------------------------------------------------------------------------------
 
Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : NON-EVALUATION 
   Evaluation: VALID
Validation result for "<hostname>": INTACT
--------------------------------------------------------------------------------
Host "<hostname>": NOT REMEDIATED (NOT NEEDED) 
-------------------------------------------------------------------------------- 


Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : NON-EVALUATION
   Evaluation: EXPIRED
Validation result for "<hostname>": UNLICENSED
--------------------------------------------------------------------------------
Remediating "<hostname>"
   Reconnecting                : SUCCESS
Remediation result for "<hostname>": SUCCESS
--------------------------------------------------------------------------------
Host "<hostname>": REMEDIATED
--------------------------------------------------------------------------------


Validating "<hostname>"
   State     : unknown
Validation result for "<hostname>": UNSUPPORTED STATE
--------------------------------------------------------------------------------
Host "<hostname>": NOT REMEDIATED (UNSUPPORTED STATE OR VERSION) 
--------------------------------------------------------------------------------


Validating "<hostname>"
   State     : poweredOn
   Version   : 8.0
   License   : EVALUATION
   Evaluation: FRACTIONAL 
Validation result for "<hostname>": FRACTIONAL
--------------------------------------------------------------------------------
Host "<hostname>": NOT REMEDIATED (LICENSE REQUIRED FOR REMEDIATION)
--------------------------------------------------------------------------------


Caveats (or limitations) of the script:

  • The script/command does Host Disconnect & Reconnect in vCenter during Remediation command. Though it's a short window (a few seconds), users need to plan accordingly.
  • The script/command will not handle below scenarios:
    • ESXi hosts in not-responding state in vCenter due to network latency or any other reasons.
    • Ensure such hosts are in an active and reachable state before remediation using script or manual workaround.