Upgrade to TeamForge 16.10 with Oracle database services on a separate server

In this procedure, we assume that you are upgrading on the same RHEL/CentOS 7.2 server where your existing TeamForge 16.7 site is running.

Important: TeamForge 16.10 supports RHEL/CentOS 7.2. However, it also supports RHEL/CentOS 6.8 if you choose to upgrade on the same server that runs RHEL/CentOS 6.8.
In this setup, the following services run on the TeamForge Application Server (we call this server-01). The following service runs on the Database Server (Oracle) (we call this server-03). EventQ runs on a separate EventQ Server (server-02).
Remember: As Black Duck Code Sight 2.1.3 has no support for RHEL/CentOS 7.2, CollabNet recommends you upgrade Black Duck Code Sight on a separate RHEL/CentOS 6.8 server (server-04).
Note: For the ETL service to run as expected in a distributed TeamForge installation, all servers must have the same time zone.
Attention: Installing or upgrading TeamForge needs root privileges. You must log on as root or use a root shell to install or upgrade TeamForge.

Do this on the Database Server (Oracle) - server-03

  1. Make a dump file of your site database.

    To back up the Oracle database, follow the Oracle backup procedure.

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

  1. Before you upgrade to TeamForge 16.10, uninstall hotfixes and add-ons, if any.
  2. If you have Review Board installed, uninstall Review Board.
    • cd /opt/collabnet/RBInstaller-1.9.3
    • python ./install.py -u
  3. Stop the TeamForge CLI add-on (This step is required only for TeamForge Application server).
    • service teamforge_cli_server stop
  4. Stop TeamForge.
    • /etc/init.d/collabnet stop all
  5. Back up the file system data.
    Tip: /tmp in the following step is just an example. You can use any directory or partition that you prefer.
    1. Make an archive file with the following data directories:
      Directory Contents
      /opt/collabnet/teamforge/var User-created data, such as artifact attachments
      /svnroot Subversion source code repositories.
      /sf-svnroot Subversion repository for branding data
      /cvsroot CVS source code repositories (not present on all sites)
      • mkdir -p /tmp/backup_dir
      • cp -Rpfv /svnroot /sf-svnroot /cvsroot /opt/collabnet/teamforge/var /tmp/backup_dir
    2. If Git integration is enabled, do the following:
      • mkdir /tmp/backup_dir/gerrit
      • cp -Rpfv /gitroot /tmp/backup_dir
      • cp -Rpfv /opt/collabnet/gerrit/ /tmp/backup_dir/gerrit
    3. Back up your SSH keys, if any.
    4. Back up your SSL certificates and keys, if any.
  6. If Git is enabled, create a gerrit database dump file, for PostgreSQL upgrade.
    • su - postgres
    • /usr/bin/pg_dumpall > /var/lib/pgsql/9.3/backups/teamforge_gerrit_data_backup.dmp
    • exit
  7. Upgrade the operating system packages.
    • yum upgrade
  8. If the TeamForge server has SELinux enabled, run it in 'Permissive' mode temporarily while installing or upgrading TeamForge.
    Important: If you have SELinux in "enforcing" mode, you must either disable SELinux or switch to "Permissive" mode (recommended) before running the /opt/collabnet/teamforge/bin/teamforge provision command. TeamForge create runtime fails otherwise.
    1. Verify if SELinux is running in enforcing mode.
      • getenforce
    2. If the output of the getenforce command is "Permissive", continue with the next step. If not, run the following command to bring it to 'Permissive' mode.
      • setenforce 0
    See Set up SELinux to have TeamForge run in SELinux enforcing mode after completing the installation or upgrade.
  9. Configure your TeamForge installation repository.
  10. Install the following application packages.
    1. To install the TeamForge application packages run the following command:
      • yum install teamforge
      Attention: TeamForge installer is being 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 16.10 on the same hardware (when you run the yum install teamforge command). You can safely ignore such warning messages and proceed with the upgrade.
    2. To install the CollabNet binary application, run the following command.
      • yum install cn-binary
  11. Set up your site's master configuration file.
  12. Download the corresponding version of the Oracle client from http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
    • yum localinstall <path to oracle client rpm>
  13. Deploy services.
    • /opt/collabnet/teamforge/bin/teamforge provision

    The "provision" command prompts for response before it bootstraps or migrates data during TeamForge installation and upgrade respectively. Enter "Yes" or "No" to proceed. For more information, see The teamforge script.

  14. Update the file permissions on your site's data.
    • /opt/collabnet/teamforge/runtime/scripts/fix_data_permissions.sh
    Note: This process can take a long time on sites with a lot of data.
  15. If you have CVS integrations, synchronize permissions post upgrade. See, Synchronize TeamForge source control integrations.
  16. Run the TeamForge post installation script. For more information, see post-install.py.
    • /opt/collabnet/teamforge/runtime/scripts/post-install.py
    Note: In case you face any Git-related issues while running the post-install.py script, see Post install fails for Git. What should I do?.

Do this on the Black Duck Code Sight Server (server-04)

  1. If you have installed Black Duck Code Sight, then install the license for Black Duck Code Sight. For more information, see Install the Black Duck Code Sight license.
  2. Run the svn_cache.sh script.
    • cd /opt/collabnet/teamforge/runtime/scripts/codesearch/
    • ./svn_cache.sh <Repository Base URL Path of the SCM Integration Server>

    Provide a repository base URL path of the SCM Integration Server, for example, "http://myint.box.net/svn/repos", where myint.box is the server with the SCM integration server.

    In addition, if you add a new integration server at some point later, you must run this svn_cache.sh script, (after creating the new integration server), on the TeamForge application server.

Do this on the EventQ Server (server-02)

  1. Upgrade EventQ. See Upgrade EventQ.

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

  1. Apply the finishing touches and make sure everything is running smoothly after upgrading to TeamForge 16.10.
    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 Change your site's look and feel.
    3. Let your site's users know they've been upgraded. See Communicate with all site users at once.