Installing TeamForge in a Load Balancing setup ensures distribution of processing load between multiple servers. The HAProxy Server hosts the HAProxy services that are required for the load balancing function.
  • In this setup, TeamForge services have been distributed across several servers to distribute the load across several servers.
  • The hardware/software requirements for running TeamForge in a load balancing setup remain the same as that of the usual setup. See TeamForge Requirements.
  • HAProxy can be installed on a server with single core CPU and at least 1GB of RAM.
  • Monit is required on all servers to monitor services such as HAProxy and TeamForge applications.

HAProxy

HAProxy is one of the efficient and reliable solutions that offers load balancing services. For more information, see HAProxy Documentation.

This setup uses the HAProxy server as the termination point for all requests to the TeamForge application and its related components. The HAProxy will be configured to handle all requests to the backend servers.

The HAProxy Server is hereinafter referred to as haproxy.company.domain.com.

Domain Names

With this load balancing setup, there is no requirement to allocate additional user-facing domain names for the servers. Each service is described based on the FQDN of the server on which it runs. HAProxy will proxy the requests to the relevant back-end servers.

This HAProxy deployment model is implemented to support the scenario of federating services across multiple servers without impacting existing URLs to those services.

Configuring HAProxy

HAProxy can have its configuration generated automatically by TeamForge. CollabNet recommends deploying HAProxy as the load balancing / front-end proxy by configuring it as a TeamForge node.

In this setup:

  • The TeamForge Application Server hosts the core TeamForge application service, ctfcore, and other services such as service-monitor, cliserver, reviewboard-adapter, mail, search, etl, binary, reviewboard, reviewboard-database, binary-database, ctfcore-datamart, ctfcore-database and gerrit-database.
  • The HAProxy Server hosts the HAProxy services.
  • Services such as subversion, gerrit, codesearch, baseline and eventq are hosted on separate servers.
  • Place the license file which you intend to use (sflicense.txt) in the /opt/collabnet/teamforge/var/etc/ directory. This saves you from having to restart the servers when the license is applied at a later point in time.
    The license must be applicable to both the servers in the cluster.
    
  • Unless self-signed certiticates are acceptable, provide custom SSL certiticates using the following TeamForge site-options.conf tokens:

    SSL_CERT_FILE=/etc/ssl/certs/server.crt
    SSL_KEY_FILE=/etc/ssl/certs/server.key
    
    # Optional - only needed if an intermediate cert is needed
    # SSL_CHAIN_FILE=/etc/ssl/certs/intermediate.crt
    

Service Monitor

TeamForge supports Monit for monitoring services and recovering failed services. Monit is installed on the TeamForge Application and HAProxy servers to monitor the health of services and restart the services when they fail.

Monit log file is located at /opt/collabnet/teamforge/log/monit/monit.log.

System Landscape

The following TeamForge site-options.conf snippet illustrates the system landscape for this setup being discussed in this topic:

################################################################################################################

#HAProxy cluster and PUBLIC_FQDN
haproxy-cluster:CLUSTER_SERVICES=haproxy-ctfcore service-monitor haproxy-stats haproxy-subversion haproxy-mail haproxy-gerrit haproxy-binary haproxy-reviewboard haproxy-eventq 
haproxy.company.domain.com:CLUSTER=haproxy-cluster
haproxy-cluster:PUBLIC_FQDN=hafqdn.company.domain.com
haproxy-cluster:haproxy-ctfcore:BACKEND = ctfapp.company.domain.com
haproxy-cluster:haproxy-mail:BACKEND = ctfapp.company.domain.com
haproxy-cluster:haproxy-binary:BACKEND = ctfapp.company.domain.com
haproxy-cluster:haproxy-cvs:BACKEND = ctfapp.company.domain.com
haproxy-cluster:haproxy-reviewboard:BACKEND = ctfapp.company.domain.com
haproxy-cluster:haproxy-subversion:BACK END = svn.company.domain.com
haproxy-cluster:haproxy-gerrit:BACKEND = gerrit.company.domain.com
haproxy-cluster:haproxy-eventq:BACKEND = eventq.company.domain.com
haproxy-cluster:haproxy-baseline:BACKEND = baseline.company.domain.com

###############################################################################################################

#ctfcore-cluster and PUBLIC_FQDN
ctfapp.company.domain.com:SERVICES=ctfcore service-monitor cliserver reviewboard-adapter mail search etl binary reviewboard reviewboard-database binary-database ctfcore-datamart ctfcore-database gerrit-database
ctfapp.company.domain.com:PUBLIC_FQDN=hafqdn.company.domain.com
ctfapp.company.domain.com:mail:PUBLIC_FQDN=hafqdn-mail.company.domain.com
ctfapp.company.domain.com:binary:PUBLIC_FQDN=hafqdn-binary.company.domain.com

################################################################################################################

#Gerrit Box
gerrit.company.domain.com:SERVICES=gerrit
gerrit.company.domain.com:PUBLIC_FQDN=hafqdn.company.domain.com
gerrit.company.domain.com:gerrit:PUBLIC_FQDN=hafqdn-gerrit.company.domain.com

#Subversion Box
svn.company.domain.com:SERVICES=subversion
svn.company.domain.com:PUBLIC_FQDN=haqatest.maa.collab.net
svn.company.domain.com:subversion:PUBLIC_FQDN=hafqdn-subversion.company.domain.com

#EventQ
eventq.company.domain.com:SERVICES=eventq rabbitmq redis mongodb

ENABLE_SERVICE_MONITORING=true

#others
codesearch.company.domain.com:SERVICES=codesearch

baseline.company.domain.com:SERVICES=baseline baseline-database baseline-post-install

################################################################################################################

Where:

Cluster/Server Description Hosted Services
haproxy.company.domain.com The HAProxy cluster haproxy-ctfcore
service-monitor
haproxy-stats
haproxy-subversion
haproxy-mail
haproxy-gerrit
haproxy-binary
haproxy-reviewboard
haproxy-eventq
ctfapp.company.domain.com The CTF Core cluster ctfcore
service-monitor
cliserver
reviewboard-adapter
mail
search
etl
binary
reviewboard
reviewboard-database
binary-database
ctfcore-datamart
ctfcore-database
gerrit-database
svn.company.domain.com The Subversion server subversion
gerrit.company.domain.com The Gerrit server gerrit
eventq.company.domain.com The EventQ server eventq
rabbitmq
mongodb
redis
codesearch.company.domain.com The Codesearch server codesearch
baseline.company.domain.com The Baseline server baseline
baseline-database
baseline-post-install

Install TeamForge in a Load Balancing Setup

For the distributed setup discussed earlier, the installation process has to be done in the following sequence:

  1. Set up the TeamForge Application Server, provision TeamForge and copy the site-options.conf file to all other servers.
  2. Set up the HAProxy Server and provision TeamForge.
  3. Set up the Baseline Server, provision TeamForge and copy the site-options.conf file to all other servers.
  4. Provision the TeamForge Application and HAProxy servers again.
  5. Set up the Subversion Server.
  6. Set up the Gerrit Server.
  7. Set up the Codesearch Server.
  8. Set up the EventQ Server.

Prepare the Servers

It is assumed that you have all the servers required for TeamForge Load Balancing installation prepped up with the required OS: RHEL/CentOS 6.10 or 7.5.

Set up the TeamForge Application Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the TeamForge application packages.
    yum install teamforge -y
    
  3. Install the Baseline packages if you are installing TeamForge Baseline.

    yum install teamforge-baseline
    
  4. Install Monit.

    Install Monit from the EPEL repository.

    1. On RHEL/CentOS 7.x:

      wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
      rpm -ivh epel-release-7-10.noarch.rpm
      
    2. On RHEL/CentOS 6.x:

      wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
      rpm -ivh epel-release-6-8.noarch.rpm
      
  5. Modify the /etc/hosts entries and add the FQDNS, all pointing to the HAProxy server’s IP address.

  6. Provision services.
    teamforge provision
    

Copy the site-options.conf File

Once you configure the site-options.conf file in the TeamForge Application Server, you can copy it to the /opt/collabnet/teamforge/etc/ directory of all the servers.

Set up the HAProxy Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the TeamForge application packages.
    yum install teamforge CN-haproxy
    
  3. Install Monit.

    Install Monit from the EPEL repository.

    1. On RHEL/CentOS 7.x:

      wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
      rpm -ivh epel-release-7-10.noarch.rpm
      
    2. On RHEL/CentOS 6.x:

      wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
      rpm -ivh epel-release-6-8.noarch.rpm
      
  4. Provision services.
    teamforge provision
    

Set up the Baseline Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the TeamForge Baseline application packages.
    yum install teamforge-baseline -y
    
  3. Modify the /etc/hosts entries and add the FQDNS, all pointing to the HAProxy server’s IP address.

  4. Provision services.
    teamforge provision
    
  5. Copy the site-options.conf file from the Baseline Server to all other servers.

  6. Provision the TeamForge Application and HAProxy servers again.

Set up the Subversion Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the TeamForge application packages.
    yum install teamforge-scm -y
    
  3. Modify the /etc/hosts entries and add the FQDNS, all pointing to the HAProxy server’s IP address.

  4. Provision services.
    teamforge provision
    

Set up the Git Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the Git packages.
    yum install teamforge-git -y
    
  3. Modify the /etc/hosts entries and add the FQDNS, all pointing to the HAProxy server’s IP address.

  4. Provision services.
    teamforge provision
    

Set up the Codesearch Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the TeamForge Codesearch application packages.
    yum install teamforge-codesearch -y
    
  3. Modify the /etc/hosts entries and add the FQDNS, all pointing to the HAProxy server’s IP address.

  4. Provision services.
    teamforge provision
    

Set up the EventQ Server

  1. Configure the TeamForge installation repository.

    TeamForge Installation Repository Configuration for Sites with Internet Access

    1. Contact the CollabNet Support and download the TeamForge 18.3 installation repository package to /tmp.
    2. Install the repository package.
      yum install -y /tmp/collabnet-teamforge-repo-18.3-0-noarch.rpm
      
    3. Refresh your repository cache.
      yum clean all
      

    TeamForge Installation Repository Configuration for Sites without Internet Access

    1. Contact the CollabNet Support to get the auxiliary installer package for TeamForge 18.3 disconnected installation and save it in /tmp.
      • RHEL/CentOS 7.5 64 bit: CTF-Disconnected-media-18.3.612-1219.rhel7.x86_64.rpm
      • In addition to the above CentOS 7.5 64 bit RPM package, you must get the following CentOS 7.5 compatibility RPM, which is required for TeamForge 18.3 disconnected media installation on CentOS 7.5 profile: compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm.
    2. Unpack the disconnected installation package.
      rpm -ivh <package-name>
      
    3. Unpack the compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm package if you are installing TeamForge 18.3 on CentOS 7.5.
      rpm -ivh compat-ctf-dc-media-1.0-1.el7.centos.noarch.rpm
      
    4. If not mounted already, mount the RHEL/CentOS installation DVD.

      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.

    5. Create a yum configuration file that points to the RHEL/CentOS installation DVD.
      vi /etc/yum.repos.d/cdrom.repo
      

      Here’s a sample yum configuration file.

      [RHEL-CDROM]
      name=RHEL CDRom 			
      baseurl=file:///media/cdrom/Server/
      gpgfile=file:///media/cdrom/RPM-GPG-KEY-redhat-release 
      enabled=1
      gpgcheck=0
      
    6. Verify your yum configuration files.
      yum list httpd
      yum list apr
      
  2. Install the TeamForge EventQ application packages.
    yum install teamforge teamforge-eventq CN-eventq collabnet-nginx collabnet-passenger
    
  3. Modify the /etc/hosts entries and add the FQDNS, all pointing to the HAProxy server’s IP address.

  4. Provision services.
    teamforge provision
    

Troubleshooting

  • What do I do if the HAProxy connections to https frontend reaches the maximum number of connections (which is 10000 by default)?

    Increase the number to a higher value (like HAPROXY_MAX_CONNECTIONS=15000) in the site-options.conf on the HAProxy server and provision TeamForge again. This is to buy time to identify the root cause of the real problem.

    Possible issue: Check the clients (like Gerrit, Jenkins, Nexus, etc) from the network and look out for the stale/long running connections (they may be appearing as incomplete requests) and fix/close those connections.

  • How do I enable keep alive in HAProxy?

    Set HAPROXY_HTTP_MODE_OPTION=http-keep-alive in the site-options.conf in HAProxy server and provision TeamForge.

Tags for this page: installation upgrade