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.

  • New name: VMware Tanzu tc Server
  • New Versioning Scheme
  • Single tc Runtime
  • Template System Enhancements
  • New Z Garbage Collector template
  • Memory arguments moved from JAVA_OPTS to CATALINA_OPT
  • CLI Rename: tc-server-10.1
  • Updated CLI commands
  • Removal of Tanzu Network tc Runtime Repository

New name: VMware Tanzu tc Server

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.

New Versioning Scheme

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.

Single tc Runtime

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.

Template System Enhancements

We've added enhancements to the template system which have been requested by customers.

Support for java version based templates

A template can now provide java specific configuration. Such as specific CATALINA_OPT based on the java version.

Support for pre-hook and post-hook actions

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.

template.properties

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.

Default template list

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.)

Z Garbage Collector Template

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.

Memory arguments moved from JAVA_OPTS to CATALINA_OPTS

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.

New CLI command name

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.

New Directory Structure

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:

  • tc-runtimes/tc-runtime- /
  • dist/tc-server-<version>/
  • dist/tc-server-<version>/lib/
  • dist/tc-server-<version>/conf/
  • dist/tc-server-<version>/licenses/
  • dist/tc-server-<version>/logs/
  • dist/tc-server-<version>/tcserver (version specific CLI Command)
  • dist/tc-server-<version>/tcserver.bat (version specific CLI Command - windows)
  • templates/ (empty directory)
  • tc-server-10.1 (main CLI command)
  • tc-server-10.1.bat (main CLI command - windows)

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.

Updated CLI commands

The following commands have had updates:

  • start/restart now include options to delete logs and work directory prior to starting
  • start/run has a configurable option which reports on whether the tc Runtime of the instance is older than current tc Server version
  • list 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.

Directory containing the tc Runtime has changed

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

Removal of Tanzu Network tc Runtime Repository

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.

check-circle-line exclamation-circle-line close-line
Scroll to top icon