Upgrade to TeamForge 17.8 - All services on the same RHEL/CentOS 6.9/7.3 server

Single server setup. In this procedure, we'll assume that you are upgrading on the same server where your existing TeamForge 17.4 site is running. The following instructions are valid for both RHEL/CentOS 6.9/7.3 platforms. Specific steps, if applicable only for a particular RHEL/CentOS platform, are called out explicitly.

Before you begin:
  • TeamForge 17.8 supports both RHEL/CentOS 6.9 and 7.3. See TeamForge installation requirements
  • 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.8.
  • 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.
In this setup, all the following services run on a single RHEL/CentOS 6.9/7.3 server (we call this server-01).
  • TeamForge Application Server (ctfcore)
  • Codesearch Server (codesearch)
  • Mail Server (mail)
  • Database Server (ctfcore-database and ctfcore-datamart)
  • ETL Server (etl)
  • Git Integration Server (gerrit and gerrit-database)
  • SCM Integration Server (subversion and cvs)
  • Search Server (search)
  • TeamForge EventQ Server (eventq, mongodb, redis and rabbitmq)

Do the following on the TeamForge Application Server (server-01)

  1. Back up all your custom event handlers and remove all the event handler JAR files before starting your TeamForge 17.8 upgrade process.
    1. Go to My Workspace > Admin.
    2. Click System Tools from the Projects menu.
    3. Click Customizations.
    4. 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.
  2. Uninstall hotfixes and add-ons, if any, installed on your site.
  3. If you have Review Board installed, uninstall it.
    • cd /opt/collabnet/RBInstaller-17.4.7
    • python ./install.py -u
  4. Stop TeamForge.
    If you are upgrading from TeamForge 16.7 or earlier releases:
    • /etc/init.d/collabnet stop all
    If you are upgrading from TeamForge 16.10 or later releases:
    • /opt/collabnet/teamforge/bin/teamforge stop
  5. Make sure EventQ services have been stopped.
    If you are upgrading from TeamForge 16.3 to TeamForge 17.8 (or later):
    • /etc/init.d/orchestrate stop
    If you are upgrading from TeamForge 17.1 (or earlier) to TeamForge 17.8 (or later):
    • /etc/init.d/eventq stop
    • /etc/init.d/collabnet-rabbitmq-server stop
    • /etc/init.d/collabnet-mongod stop
    Use the following command otherwise:
    • /opt/collabnet/teamforge/bin/teamforge stop
  6. 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.
  7. Upgrade the operating system packages.
    • yum upgrade
  8. Configure your TeamForge installation repository.
  9. Install the following application packages.
    1. TeamForge: To install the TeamForge application packages run the following command:
      • yum install teamforge CN-eventq collabnet-nginx collabnet-passenger
      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 TeamForge 17.8 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
      ...
      ...

      Run the following command to install the Binary application packages. This is required if and only if you are upgrading from TeamForge 17.1 (or earlier) to TeamForge 17.8 (or later).

      • yum install cn-binary
  10. Set up your site's master configuration file.
  11. Provision services.
    • teamforge provision
    Note:

    TeamForge 17.4 (and later) installer expects the system locale to be LANG=en_US.UTF-8. TeamForge "provision" command fails otherwise.

  12. Run the /var/lib/pgsql/analyze_new_cluster.sh script. This is required if and only if you are upgrading from TeamForge 17.1 (or earlier) to TeamForge 17.8 (or later).
    • su - postgres -c "/var/lib/pgsql/analyze_new_cluster.sh"
  13. If you have CVS integrations, synchronize permissions post upgrade. See, Synchronize TeamForge source control integrations.
  14. Verify TeamForge installation.
    1. Log on to the TeamForge web application using the default Admin credentials.
      • Username: "admin"
      • Password: "admin"
    2. If your site has custom branding, verify that your branding changes still work as intended. See Customize TeamForge .
    3. Let your site's users know they've been upgraded. See Create a Side-wide Broadcast.
  15. 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.
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:
  • yum erase python-imaging
  • yum install teamforge
  • service httpd restart