RedHat/CentOS 7 Alpaca BroadWorks Version Upgrade

This is a lateral upgrade guide for Alpaca on a particular version of BroadWorks going to a newer version of BroadWorks. i.e. Alpaca R21sp1 -> Alpaca R22.

Assumptions

  • An existing installation of Alpaca.
  • Credentials to access the Alpaca server as root.
  • Working knowledge of ssh and file transfer tool such as scp.
  • BroadWorks system has been upgraded to a newer version.

Guide

The guide is split into sections based on the server or machine that the operations should be performed. It is also in chronological order. Performing the steps from top to bottom is the desired procedure.

Local Work Station

Alpaca Server & BroadWorks Application Server

The steps to upgrade Alpaca Server and Alpaca Remote are the same. These steps will reference Alpaca Server, for Alpaca Remote upgrade, make sure to use the appropriate package name.

Uninstall Previous Version

  • Step: U-1

    • Commands:

      1. Turn off the existing Alpaca service.
        • # service alpaca-server stop
      2. Uninstall using yum

        • Any modified configuration file will be automatically backed up as file.extension.rpmsave in the directory that they are currently in.
        • Note the configuration location for
          • Alpaca 7.1.0+: /etc/alpaca/<Alpaca_Package>/config
          • Pre Alpaca 7.1.0: /opt/alpaca/config
        • # yum -y remove alpaca-server-.x86_64

           ...
           Running transaction
           Stopping alpaca-server (via systemctl):  [  OK  ]
             Erasing    : alpaca-server-<BW_VERSION>-<ALPACA_VERSION>.x86_64                                                                             1/1
           warning: /opt/alpaca/configuration saved as /opt/alpaca/configuration.rpmsave
           warning: /etc/alpaca/server/config/log4j2.xml saved as /etc/alpaca/server/config/log4j2.xml.rpmsave
           warning: /etc/alpaca/server/config/application-prod.yml saved as /etc/alpaca/server/config/application-prod.yml.rpmsave
           warning: /etc/alpaca/server/config/application-https.yml saved as /etc/alpaca/server/config/application-https.yml.rpmsave
             Verifying  : alpaca-server-<BW_VERSION>-<ALPACA_VERSION>.x86_64                                                                             1/1
          
           Removed:
             alpaca-server-<BW_VERSION>.x86_64 0:<ALPACA_VERSION>
          
           Complete!
          

Install New Version

  • Step: I-1

    • Commands:

      1. # cd /tmp
      2. # yum install -y alpaca-server-ALPACA_VERSION.x86_64.rpm

        Installed:
          alpaca-server.x86_64 0:<ALPACA_VERSION>
        
        Dependency Installed:
          alsa-lib.x86_64 0:1.1.6-2.el7                                        copy-jdk-configs.noarch 0:3.3-10.el7_5                dejavu-fonts-common.noarch 0:2.33-6.el7           dejavu-sans-fonts.noarch 0:2.33-6.el7
          fontconfig.x86_64 0:2.13.0-4.3.el7                                   fontpackages-filesystem.noarch 0:1.44-8.el7           giflib.x86_64 0:4.1.6-9.el7                       java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-1.el7_6
          java-1.8.0-openjdk-headless.x86_64 1:1.8.0.191.b12-1.el7_6           javapackages-tools.noarch 0:3.4.1-11.el7              libICE.x86_64 0:1.0.9-9.el7                       libSM.x86_64 0:1.2.2-2.el7
          libX11.x86_64 0:1.6.5-2.el7                                          libX11-common.noarch 0:1.6.5-2.el7                    libXau.x86_64 0:1.0.8-2.1.el7                     libXcomposite.x86_64 0:0.4.4-4.1.el7
          libXext.x86_64 0:1.3.3-3.el7                                         libXi.x86_64 0:1.7.9-1.el7                            libXrender.x86_64 0:0.9.10-1.el7                  libXtst.x86_64 0:1.2.3-1.el7
          libfontenc.x86_64 0:1.1.3-3.el7                                      libjpeg-turbo.x86_64 0:1.2.90-6.el7                   libpng.x86_64 2:1.5.13-7.el7_2                    libxcb.x86_64 0:1.13-1.el7
          libxslt.x86_64 0:1.1.28-5.el7                                        lksctp-tools.x86_64 0:1.0.17-2.el7                    mongodb-org.x86_64 0:4.0.5-1.el7                  mongodb-org-mongos.x86_64 0:4.0.5-1.el7
          mongodb-org-server.x86_64 0:4.0.5-1.el7                              mongodb-org-shell.x86_64 0:4.0.5-1.el7                mongodb-org-tools.x86_64 0:4.0.5-1.el7            python-javapackages.noarch 0:3.4.1-11.el7
          python-lxml.x86_64 0:3.2.1-4.el7                                     ttmkfdir.x86_64 0:3.0.9-42.el7                        tzdata-java.noarch 0:2018i-1.el7                  xorg-x11-font-utils.x86_64 1:7.5-21.el7
          xorg-x11-fonts-Type1.noarch 0:7.5-9.el7
        
        Dependency Updated:
          freetype.x86_64 0:2.8-12.el7          nspr.x86_64 0:4.19.0-1.el7_5         nss.x86_64 0:3.36.0-7.el7_5     nss-softokn.x86_64 0:3.36.0-5.el7_5     nss-softokn-freebl.x86_64 0:3.36.0-5.el7_5     nss-sysinit.x86_64 0:3.36.0-7.el7_5
          nss-tools.x86_64 0:3.36.0-7.el7_5     nss-util.x86_64 0:3.36.0-1.el7_5
        
        Complete!
        
  • Step: I-2

    • Remove default configurations and replace with backed up ones.
      • Possible files that could have been backed up:
        • application-prod.yml
        • application-https.yml
        • log4j2.xml
        • configuration
      • Use rm to remove the default configuration file
        • rm file.extension
      • Use mv to rename the backed up configuration
        • mv file.extension.rpmsave file.extension
  • Step: I-3

    • Verify file permissions on the following files/directories
      • Alpaca Store
        • Default location is /tmp/alpacastore, but can be configured to anything within the configuration file.
        • Directory must belong to the Alpaca user and be readable and writeable by that user.
      • Configs
        • Located in /etc/alpaca/server/config
        • Directory must belong to the Alpaca user and be readable by that user.
      • Alpaca Root Directory
        • Located in /opt/Alpaca
        • Directory and all files within the directory must belong to the Alpaca user and be readable by that user.
      • Logs
        • Default location is /var/log/alpaca, but can be configured to anything within the configuration file.
        • Directory must belong to the Alpaca user and be readable and writeable by that user.
  • Step: I-4

    • Commands:

      1. # service alpaca-server start

      Starting alpaca-server.d (via systemctl): [ OK ]