Introduction
Starting with Consul Enterprise version series v1.12.6+, v1.13.3+, v1.14+ & above the process for validating a license has changed.
-
A newer non-evaluation license for Consul Enterprise will not terminate the product functionally after the license termination date.
- Newer production license files will have an ‘Ignore Termination’ field that will be set to ‘true’.
- This means that the license will never terminate as long as it is being used on a version of Consul that has a build date less than or equal to the Expiration Time of the license.
-
A non-evaluation license for Consul Enterprise will not permit upgrades to product versions with a build date later than the license expiry date.
- For example, if the Expiration Time of the license is 2022-01-01 00:00:00 +0000 UTC and the Consul build release date is 2022-01-02 00:00:00 +0000 UTC (verify by running consul version) that license will not allow Consul to run since the release date is after the expiration time of the license.
- Error logs will show “license expiration date is before version build date”
-
An evaluation license will have a Termination Time field alongside Ignore Termination that is set to false.
- This means that the Termination Time is enforced during the Consul startup process. This will result in Consul not starting if the current time is greater than the Termination Time
The expired license therefore limits Consul upgrades & support availability after a certain version number.
Expected Outcome
- Determine if an expired license file will affect the upgrade readiness.
- Understand Consul License Behavior starting v1.12.6+, v1.13.3+, v1.14+ & above
Prerequisites
-
This behavior applies to the following Consul Enterprise versions.
- 1.12.x release series: 1.12.6+
- 1.13.x release series: 1.13.3+
- 1.14+ & above
Verify upgrade compatibility
- Run the below command to get the Consul binary ‘Build Date’ of the target Consul version you intend to upgrade to.
$ consul version
- Run the below command to get the license ‘Expiration Time’ & ‘Termination Time’ values.
$ consul license inspect <license_file>
- If the dates from the above 2 commands fit the below rule, you could use the expired license file.
Build Date <= Expiration Time
Additional Information
- Refer to Upgrading Consul for general instructions on upgrading Consul.
- Refer to Upgrading to specific versions for Consul version-specific upgrade instructions.
- Refer to Enterprise Licensing FAQs for Enterprise Licensing FAQs.