Upgrade from TeamForge 7.2 to 16.10 - All services on the same server

In this procedure, we'll assume that you are upgrading on the same server where your existing TeamForge 7.2 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).
  • TeamForge Application Server
  • Black Duck Code Sight Server
  • Database Server (Operational DB and Reports DB)
  • ETL Server
  • Git Integration Server
  • SCM Integration Server (Subversion and CVS)
  • Search Server (Indexer)
  • TeamForge EventQ Server (App, MongoDB and RabbitMQ)
Attention: 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.
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 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.5.0.0.5
    • 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. Migrate your PostgreSQL to the latest version supported by TeamForge 16.10.
    Important: You must have RHEL/CentOS 6.5 or later to run PGTurant. Upgrade the operating system packages (yum upgrade) before running PGTurant on sites running on RHEL/CentOS versions 6.4 or earlier.
    1. Install PGTurant. See Upgrade PostgreSQL using PGTurant for more information.
      Important: If your TeamForge site has no internet access, contact the CollabNet Support, get the pgturant-8.0.0.0-7.noarch.rpm package and unpack the RPM.
      • rpm -ivh pgturant-8.0.0.0-7.noarch.rpm
      • yum install pgturant -y
    2. Upgrade TeamForge PostgreSQL data directory to PostgreSQL 9.3.
      • cd /opt/collabnet/pgturant/bin/
      • ./pgturant -s /var/lib/pgsql/9.2/data -d /var/lib/pgsql/9.3 -u 9.3 -m
  6. Important: This step is required only if you ran PGTurant. You can skip this step otherwise.
    Start the PostgreSQL service, run the analyze_new_cluster.sh script and stop PostgreSQL.
    • /etc/init.d/postgresql-9.3 start
    • su - postgres -c "/var/lib/pgsql/9.3/analyze_new_cluster.sh"
    • /etc/init.d/postgresql-9.3 stop
  7. Do this only if your reporting database is running on a separate port.
  8. 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.
  9. Move the CollabNet-Orchestrate.repo file.
    Important: This is required only if you are upgrading from TeamForge 16.3 (or earlier) to TeamForge 16.10 (or later).
    • mv /etc/yum.repos.d/CollabNet-Orchestrate.repo /etc/yum.repos.d/CollabNet-Orchestrate.repo_old
  10. Run the following commands to upgrade Red Hat/CentOS to the latest version.
    1. Remove the neon-devel package.
      • yum erase neon-devel -y
    2. Upgrade the operating system packages.
      • yum upgrade
  11. 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.
  12. Attention: Do this only if you are upgrading TeamForge on RHEL/CentOS 6.8.
    Delete the python-crypto package.
    • yum erase python-crypto
  13. Configure your TeamForge installation repository.
  14. Uninstall the PostgreSQL RPMs.
    Note: When prompted, you must select the option to remove all the dependent packages.
    • yum erase postgresql92-libs postgresql92-docs postgresql92-server postgresql92
  15. 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 Black Duck Code Sight packages run the following command:
      • yum install teamforge-codesearch
  16. Set up your site's master configuration file.
  17. 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.

  18. Run the following script to upgrade the Subversion working copies.
    • /opt/collabnet/teamforge/runtime/scripts/svn-upgrade-working-copies.sh
  19. If you have CVS integrations, synchronize permissions post upgrade. See, Synchronize TeamForge source control integrations.
  20. 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?.
  21. Install the Black Duck Code Sight license on the server where Black Duck Code Sight is installed. For more information see these instructions.
  22. 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.

  23. Upgrade EventQ. See Upgrade EventQ.
  24. 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.
  25. Remove the backup files, if any, after the TeamForge site is up and running as expected.
TeamForge Avatar display issue on RHEL/CentOS 6.8
TeamForge Avatar image is not displayed properly post Review Board installation on RHEL/CentOS 6.8. Run the following commands to work around this issue:
  • yum erase python-imaging
  • yum install teamforge
  • service httpd restart
Note: After upgrade, it takes some time for the publishing repositories to get created for projects imported from other TeamForge sites.