For the ETL service to run as expected in a distributed TeamForge
installation, all servers must have the same time zone.

While you can run both EventQ and TeamForge on the same server, CollabNet
recommends such an approach only for testing purposes. It's always
recommended to run EventQ on a separate server for optimal scalability. See
EventQ installation requirements.

Installing or upgrading TeamForge needs root privileges.
You must log on as root or use a root shell to install or upgrade
TeamForge.

In a distributed setup, stop TeamForge services on all the servers while
upgrading to TeamForge 17.11.

Reset the PASSWORD_CONTROL_EFFECTIVE_DATE token while
upgrading to TeamForge 17.8. If not reset, the Password Control Kit (PCK)
disables, deletes or expires user accounts immediately.

Here's how the services are distributed across three separate RHEL/CentOS
6.9/7.4
servers.

Services

TeamForge Application Server (server-01)

EventQ Server (server-02)

Codesearch Server (server-03)

ctfcore

mail

search

codesearch

etl

gerrit

gerrit-database

reviewboard

reviewboard-database

reviewboard-adapter

subversion

cvs

binary

binary-database

cliserver

eventq

mongodb

redis

rabbitmq

ctfcore-database

ctfcore-datamart

No
backup is required for same hardware upgrades. However, you can create a backup as a
precaution. See Back up and restore TeamForge and EventQ to learn more about
backing up TeamForge and EventQ database
and file system.

Do this step by step on TeamForge Application Server (server-01)

Back up all your custom event handlers and remove all the
event handler JAR files before starting your TeamForge 17.11 upgrade process.

Go to My Workspace > Admin.

Click System Tools from the
Projects menu.

Click Customizations.

Select the custom event handler and click
Delete.

Important: Post upgrade, you can add custom event handlers
again from the backup while making sure that you don't have SOAP50
(deprecated) library used.

Uninstall hotfixes and add-ons, if any, installed on your site.

If you have Review Board installed,
uninstall it.

cd /opt/collabnet/RBInstaller-17.8.14

python ./install.py
-u

Stop TeamForge. In a distributed setup, stop
TeamForge on all the servers.

In addition to the above CentOS7.4 64 bit RPM package, you must get the following CentOS7.4 compatibility RPM, which is required for TeamForge17.11
disconnected media installation on CentOS7.4 profile:
compat-ctf-dc-media-1.1-1.el7.noarch.rpm.

Unpack the disconnected installation package.

rpm -Uvh <package-name>

Unpack the
compat-ctf-dc-media-1.1-1.el7.noarch.rpm
package if you are installing TeamForge17.11
on CentOS7.4.

Attention:TeamForge installer has been optimized quite a
bit. It's likely that you might come across a lot of warning messages while
upgrading from TeamForge 8.2 (or earlier)
to TeamForge17.11 on the same hardware (when
you run the yum install teamforge command). You can safely
ignore such warning messages and proceed with the upgrade.

Important: The following warning message,
which shows up during TeamForge install/upgrade (while installing
CN-eventq rpm) can be safely
ignored.

Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
...
...
Errno::ENOENT: No such file or directory - git
...
...

Install the Binary application
packages.
This is required if and only if you are upgrading from TeamForge 16.10 (or
earlier) to TeamForge 17.8 (or later).

Have the custom SSL certificate and private key for custom SSL
certificate in place and provide their absolute paths in these
tokens. SSL_CHAIN_FILE (intermediate
certificate) is optional.

All
SSL certificates including self-signed certificates are added
automatically..

Password Tokens

TeamForge 7.1 and
later support automatic password creation. See AUTO_DATA for more
information.

If the token REQUIRE_PASSWORD_SECURITY is
enabled, then set/reset this
PASSWORD_CONTROL_EFFECTIVE_DATE token
with a future date. If already set, reset the
PASSWORD_CONTROL_EFFECTIVE_DATE with
a future date while upgrading to TeamForge 17.11.

CAUTION:

The Password Control Kit (PCK)
disables, deletes or expires user accounts that don't
meet the password security requirements starting from
the date set for the
PASSWORD_CONTROL_EFFECTIVE_DATE
token. If a date is not set, the PCK disables, deletes
or expires user accounts immediately. You must set (or
reset if required) this token with a future date. For
example, you can use the following logic and pick a
future date:
PASSWORD_CONTROL_EFFECTIVE_DATE=<the
day on which TeamForge upgrade is done> +
PASSWORD_WARNING_PERIOD. See PASSWORD_CONTROL_EFFECTIVE_DATE for more
information.

Note: All
JVM parameters but
-Xms1024m
and -Xmx2048m have been hard-coded in the
TeamForge core application. You cannot manually configure any of
the following default JVM parameters in the
site-options.conf file.

-XX:+UseParallelGC

-XX:MaxMetaspaceSize=512m

-XX:ReservedCodeCacheSize=128M

-server

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/tmp -verbose:gc

-XX:+PrintCodeCache

-Djsse.enableSNIExtension=false

-Dsun.rmi.dgc.client.gcInterval=600000

-Dsun.rmi.dgc.server.gcInterval=600000

-Djava.security.egd=file:/dev/urandom

-Djava.awt.headless=true.

When you change the default value of a JVM parameter
such as "-XX:HeapDumpPath", the JBoss runtime parameters
include both the user defined and default values for the JVM
parameter. However, JBoss runs with the default value and
ignores any user defined value.

Save the site-options.conf file.

Install Review Board (note that you should have added the following identifiers
to the SERVICES token: reviewboard,
revieboard-database, and
reviewboard-adapter).

In addition to the above CentOS7.4 64 bit RPM package, you must get the following CentOS7.4 compatibility RPM, which is required for TeamForge17.11
disconnected media installation on CentOS7.4 profile:
compat-ctf-dc-media-1.1-1.el7.noarch.rpm.

Unpack the disconnected installation package.

rpm -Uvh <package-name>

Unpack the
compat-ctf-dc-media-1.1-1.el7.noarch.rpm
package if you are installing TeamForge17.11
on CentOS7.4.

In addition to the above CentOS7.4 64 bit RPM package, you must get the following CentOS7.4 compatibility RPM, which is required for TeamForge17.11
disconnected media installation on CentOS7.4 profile:
compat-ctf-dc-media-1.1-1.el7.noarch.rpm.

Unpack the disconnected installation package.

rpm -ivh <package-name>

Unpack the
compat-ctf-dc-media-1.1-1.el7.noarch.rpm
package if you are installing TeamForge17.11
on CentOS7.4.

The DVD contains the necessary software and utilities required for
installing TeamForge without internet access. In the following commands, replace
"cdrom" with the identifier for your server's CD/DVD drive, if
necessary.

cd /media/

mkdir cdrom

mount /dev/cdrom ./cdrom/

If there are any spaces in the automount, unmount it first and mount
it as a filepath, with no spaces.

Important: The following warning message,
which shows up during TeamForge install/upgrade (while installing
CN-eventq rpm) can be safely
ignored.

Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
...
...
Errno::ENOENT: No such file or directory - git
...
...

Remove the backup files, if any, after the TeamForge site is up and running as
expected. Remove the repository and the file system backup from the
/tmp/backup_dir directory.

Fix the TeamForge Avatar display issue on RHEL/CentOS 6.9.
TeamForge Avatar image is not displayed properly post Review Board
installation on RHEL/CentOS 6.9. Run the
following commands to work around this issue: