Traffic Router - Migrating to 3.0
Contents
Release Notes v3.0
Replaced custom Java SNI implementation with a native implementation using tomcat-native, APR and OpenSSL. This should significantly improve the performance of routing HTTPS Delivery Services.
Upgraded to Tomcat 8.5.30
Separated the Traffic Router installation from the Tomcat deployment and created a new ‘tomcat’ package for installing Tomcat. Traffic Router and Tomcat can now be upgraded independently
Converted Traffic Router to a systemd(1) service
Modified the development test and deployment processes to be more consistent with production
System Requirements
Centos 7.9 or CentOS 8.2
OpenSSL >= 1.0.2 installed
JDK >= 8.0 installed or available in an accessible yum(8) repository
APR >= 1.4.8-3 installed or available in an accessible yum(8) repository
Tomcat Native >= 1.2.16 installed or available in an accessible yum(8) repository
tomcat >= 8.5-30 installed or available in an accessible yum(8) repository (This package is created automatically by the Traffic Router build process)
Upgrade Procedure
upload the
dist/tomcat-version string.rpm
file generated as a part of the build instructions outlined in Building Traffic Control to an accessible yum(8) repositoryupdate the
traffic_router
package with yum(8)restore property files
Upload tomcat.rpm
The term-version string.rpm
package should have been created when Traffic Router was built according to the instructions in Building Traffic Control. It must must either be added to an accessible yum(8) repository, or manually copied to the servers where Traffic Router will be installed. It is generally better that it be added to a yum(8) repository because then it will be installed automatically when Traffic Router is updated.
Update the traffic_router Package
If openssl
, apr
, tomcat-native
, java-1.8.0-openjdk
, java-1.8.0-openjdk-devel
and tomcat_tr
packages are all in an available yum(8) repository then an upgrade can be performed by running yum update traffic_router
as the root user or with sudo(8). This will first cause the apr
, tomcat-native
, java-1.8.0-openjdk
, java-1.8.0-openjdk-devel
and tomcat
packages to be installed. When the tomcat
package runs, it will cause any older versions of traffic_router
or tomcat
to be uninstalled. This is because the previous versions of the traffic_router
package included an untracked installation of tomcat
.
Restore Property Files
The install process does not override or replace any of the files in the /opt/traffic_router/conf
directory. Previous versions of the traffic_ops.properties
, traffic_monitor.properties
and startup.properties
should still be good. On a new install replace the Traffic Router properties files with the correct ones for the CDN.
Development Environment Upgrade
If a development environment is already set up for the previous version of Traffic Router, then openssl
, apr
and tomcat-native
will need to be manually installed with yum(8) or rpm(8). Also, whenever either mvn clean verify
or TrafficRouterStart
is/are run, the location of the tomcat-native
libraries will need to be made known to the JVM via command line arguments.
mvn clean verify -Djava.library.path=[tomcat native library path on your box]
java -Djava.library.path=[tomcat native library path on your box] TrafficRouterStart