Customers are strongly encouraged to test VMware Tanzu tc Server 10.1.x in test and beta environments before upgrading production environments from previous versions of tc Server
Tanzu tc Server 10.1.x has several major many changes. This document is a summary of those changes.
As part of unification of branding within the Tanzu Spring Runtime portfolio Tanzu
has been added to the full product name. When referring to this product VMware Tanzu tc Server
or Tanzu tc Server
may be used. In some cases previous versions may still be referred to as previous names such as VMware tc Server
or Pivotal tc Server
in various documentation and artifacts.
VMware Tanzu tc Server versioning has been confusing in the past. A tc Server version could contain multiple tc Runtime versions with differing End of Life dates. Effective with this major release the version of Tanzu tc Server will match the tc Runtime version. For example the initial release is Tanzu tc Server 10.1.20.A
which only includes tc Runtime 10.1.20.A
. The directory structure has been redesigned to allow multiple versions to co-exist on the same platform. More details are below.
In addition the End of General Support of Tanzu tc Server 10.1.x
will initially be 3.5 years (December 31, 2027), however, the date is expected to be extended for as long as ASF Tomcat 10.1.x
is under support by the Apache Software Foundation
. As that date is not known at this time we cannot provide a final end date of general support for Tanzu tc Server 10.1.x
until it is announced. No more upgrading tc Server
to a new major.minor versions to stay on the same tc Runtime version.
The tc Server version is now the same as the tc Runtime version. Only a single tc Runtime is bundled with the tc Server version. We found a significant amount of confusion related to the versioning and support of the various tc Runtime versions included with tc Server.
As a result of this change the tcserver
command has been renamed to tc-server-10.1
. More information on this is below.
The multiple editions of tc Server has been removed and there is now only a single distribution of tc Server.
The distribution package is laid out in a way to allow new tc Server distributions to be extracted into the same root tc Server installation directory. There is a recommended directory layout which will allow multiple major versions of tc Server (such as 10.1 and 11.0) to co-exist on the same host.
We've added enhancements to the template system which have been requested by customers.
A template can now provide java specific configuration. Such as specific CATALINA_OPT based on the java version.
A template can include hook actions to run before the template contents are processed and after the template contents are processed. These hooks can be used to perform actions which are not possible with the normal template processing such as manipulating a configuration based on the operating system or other dynamic information.
A new file is available for template authors. This file describes the basics of the template and also specifies the pre-hook and post-hook actions.
A configuration property has been added, tcserver.templates.default
, which allows for a list of templates to always be applied to an instance. This list is appended to the built-in list which is base
and nio
(Note: nio
is only applied if no other Connector template is applied.)
A new template for enabling Z Garbage Collector is available. Please see https://docs.oracle.com/en/java/javase/21/gctuning/z-garbage-collector.html for more information.
This template requires at least Java 15 for the instance JAVA_HOME. If the instance is using Java 21 or newer it will enable the new generational support.
The default memory arguments have been moved from JAVA_OPTS to CATALINA_OPTS. This allows the stop
process to use a smaller memory footprint than the start
process.
The tc Server CLI has been renamed from tcserver
to tc-server-10.1
. This enables multiple major versions of tc Server to co-exist on the same host. The next major version of tc Server will be 11 which means that CLI will be named tc-server-11.0
.
In order to facilitate multiple tc Server versions on the same host there is a new directory structure in the distribution package. There is also a new recommended directory structure on the host system.
The distribution package contains the follow layout:
The recommended root directory of tc Server 10.1.x is /opt/tanzu/tc-server/10.1
with the distribution package extracted into that directory. Each new tc Server version can be extracted into the same /opt/tanzu/tc-server/10.1
directory without overwriting critical files.
The tc-server-10.1
and tc-server-10.1.bat
files are wrapper files which point to the version specific CLI command. These two files are expected to be overwritten when a new version of tc Server is extracted. This allows for the PATH environment variable to point to /opt/tanzu/tc-server/10.1
without needing to be updated for each tc Server update. Note: On systems with tc Server installed via RPM or DEB these wrapper scripts do not exist. Instead the alternatives system is used to target the latest version specific CLI command.
A newer version of the tc Server CLI can control instances created with older tc Runtime versions. In fact, if the CLI detects that the instance is configured to use an older tc Runtime version it will warn with a configuration open to refuse to start it.
More details are available here
When a tc Runtime instance is created it is pinned to a tc Runtime version. This provides for stability and allows for users to control when an instance is upgraded. The tc Server CLI list
command can show which version a tc Runtime is using and will flag out dated version.
The following commands have had updates:
start
/restart
now include options to delete logs
and work
directory prior to startingstart
/run
has a configurable option which reports on whether the tc Runtime of the instance is older than current tc Server versionlist
now displays list of instances sorted alphanumerically.info
now includes Connector
information and the Connector
display output of create
and create-from-command
has been updated to include the address
attribute.modify-version
has been renamed to modify
with added abilities to modify the JAVA_HOME
used by the instance and modify conf/catalina.properties
backup
a new command that creates a .zip
archive of an instance.create-from-file
has been updated to accept a .zip
archive created by the backup
command as an input file. The instance will be created from the contents of the .zip
archive. In addition --instance-name
argument as been added to create-from-file
which overrides the instance-name found in the archive or instance properties file.Commands which create/modify an instance have been updated to support tracking the instance configuration in a file named conf/instance-configuration.properties
. This file can be used to recreate an instance. This is especially useful for upgrading to a new major version of tc Server.
The directory containing the tc Runtime has changed from tomcat-<version>
to tc-runtime-<version>
. This is intended to clearly identify that the runtime is not ASF Tomcat. In addition the configuraiton property runtimes.directory
has been renamed to tc-runtimes.directory
.
/opt
`-- tanzu
`-- tc-server
`-- 10.1
|-- dist
| `-- tc-server-10.1.20.A
|-- licenses
|-- tc-runtimes
| `-- tc-runtime-10.1.20.A
`-- templates
The ability to download tc Runtimes from Taznu Network separate of Tanzu tc Server has been removed. The tc Server and tc Runtime versions have been unified.