Alpaca Upgrade
This is an upgrade guide for an existing Alpaca installation.
Assumptions
- An existing installation of Alpaca.
- Credentials to access the Alpaca server as root.
- Working knowledge of
ssh
and a file transfer tool such asscp
. - Understanding of alpacactl for Alpaca 9.2+.
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
- Step: O-1
- Download the Alpaca installation RPM. This requires an ECG Portal Account.
- Transfer the downloaded installation package to the Alpaca Server's "/tmp" directory.
Alpaca Server
General Upgrade Process
These are the general steps for upgrading Alpaca Server. Please check caveats for specific instructions for the version that you are upgrading to.
- Step: A-1
- Commands:
- Turn off the existing Alpaca service.
- < 9.2 - # service alpaca stop
- >= Alpaca 9.2 - # alpacactl stop
- Perform RPM upgrade
- rpm -U alpaca-ALPACA_VERSION_1.x86_64.rpm
- Restart Alpaca service.
- < 9.2 - # service alpaca start
- >= Alpaca 9.2 - # alpacactl start
- Turn off the existing Alpaca service.
Caveats
Upgrading to 10.0.0- MongoDB 4.4 is now required.
- If upgrading from pre 9.2.0, an incremental upgrade to the latest 9.2.x version is required.
- Once upgraded to 9.2.x, shut down alpaca (
alpacactl stop
) and then upgrade to the latest version of Java17.- Java distributions from Oracle, OpenJDK, or Amazon (Corretto) are all acceptable for Alpaca.
- Once Java is upgraded, proceed with upgrading to Alpaca 9.3.0.
rpm -U alpaca-<var>ALPACA_VERSION</var>\_1.x86_64.rpm
alpacactl start
- Note: For commands that use
yum
, depending on your OS and setup, you may need to replaceyum
withdnf
. - All Alpaca components (Eureka, Gateway, and all versions of the Server) are now packaged together in one RPM.
- Upgrading to 9.2.0 requires uninstalling all previous Alpaca components and then installing the new single RPM.
- Steps:
- Stop all components
- Commands:
- # service alpaca-server stop
- # service alpaca-gateway stop
- # service alpaca-eureka stop
- Back up the following files/directories
- Eureka
- All files/directories in
/etc/alpaca/eureka
- All files/directories in
- Gateway
- All files/directories in
/etc/alpaca/gateway
- All files/directories in
- Server
- All files/directories in
/etc/alpaca/server
- License file in
/opt/alpaca
- Any plugins in
/opt/alpaca/plugins
- Any custom branding files in
/opt/alpaca/static
- All files/directories in
- Uninstall individual components
- Commands:
- # yum remove -y alpaca-server-BROADWORKS_RELEASE.x86_64
- # yum remove -y alpaca-gateway-BROADWORKS_RELEASE.x86_64
- # yum remove -y alpaca-eureka-BROADWORKS_RELEASE.x86_64
- Install Alpaca - Commands:
- # cd /tmp
- # yum -y install alpaca-ALPACA_VERSION.x86_64.rpm
- Replace license and any configurations
- Note that the server is no longer installed in
/opt/alpaca
. Three versions are now installed at/opt/alpaca-server-22
,/opt/alpaca-server-23
, and/opt/alpaca-server-24
. The license file will need to be placed in the directory of each version that you plan to use. - All custom branding will need to be placed in thestatic/
directory of each version that you plan to use. - All non-versioned plugins will need to be placed in theplugins/
directory of each version that you plan to use. - All versioned plugins will need to be placed in the
plugins/
directory of the corresponding Alpaca server. - Configure Alpaca according to the configuration guide.
- You should already have configurations backed-up, use these as a reference.
- Note that there is a new start-up configuration (
/etc/sysconfig/alpaca_config
) that replaced the individual start up configurations that were in/opt/alpaca/configuration
,/opt/alpaca-eureka/configuration
, and/opt/alpaca-gateway/configuration
.
- Note that the server is no longer installed in
- Configure Version(s)
- By default, all versions of Alpaca are enabled (R22, R23, and R24).
- If you wish for a version to not run, you can simply use
chkconfig
to turn it off.- # chkconfig alpaca-server-{22|23|24} off
- To re-enable a version, use the following command:
- # chkconfig alpaca-server-{22|23|24} on
- Start Alpaca
- Commands:
- # alpacactl start
- Note that individual components can be stopped, started, restarted, or status checked by using:
- # alpacactl {start|stop|restart|status} {eureka|gateway|server-22|server-23|server-24}
- See the alpacactl guide.
- Commands:
- The default Alpaca store location has been moved from
/tmp/alpacastore
to/var/alpaca/store
. If your Alpaca installation includes a configuration foralpaca.file-store.location
, this new default will not overwrite that. This change will only affect users who did not specify an Alpaca store location and are using the default. For those who used the default directory, you will need to manually move the contents of/tmp/alpacastore
to/var/alpaca/store
. - The following configurations have been removed:
alpaca.file-store.cleanup-interval
andalpaca.task.retention-period-days
. They have been replaced withalpaca.file-store.temp-file-retention-period-days
,alpaca.file-store.task-file-retention-period-months
andalpaca.file-store.report-file-retention-period-months
.
- RabbitMQ is a required part of the Alpaca system for version 9.0.0 and following. Please follow the installation guide to complete the RabbitMQ installation.
- There is additional configuration required for connection to Eureka, RabbitMQ, and the optional Amazon S3 bucket
support. Please follow the configuration guide and update
the
/etc/alpaca/server/config/application-prod.yml
file accordingly. - Note that upgrading to Alpaca 9.0.0 will remove any Recurring (scheduled) Tasks that are configured.
- Please note that in the
application-https.yml
that theECDHE_RSA_WITH_AES_256_CBC_SHA384
cipher has been renamedTLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
. This means that if the HTTPS configuration is moved from the Server to the Gateway that the cipher needs to be renamed. - Note that if using a Highly Available Clustering setup (HA), the SSL configuration has been moved from the Alpaca Server configuration to the Alpaca Gateway configuration.
- In 8.1.0 the configuration that was previously
uc-one
is nowcisco-soft-client
. Property files that contain the olduc-one
tag will need to be updated.
If running Alpaca 7.2.0 or earlier, an incremental upgrade to Alpaca 7.2.1 is required before upgrading to 8.0.0 or higher. After the update to 7.2.1, shut off Alpaca, and then upgrade to Java11 before upgrading to Alpaca 8.0.0 or higher.
If using an existing
/plugins
directory for Alpaca. This directory will need to be backed up manually and the plugins re-added to the Alpaca plugins directory.
- Back up all configuration files in
/opt/alpaca/config/
. - After upgrade, configuration files will be located in
/etc/alpaca/<ALPACA_PACKAGE>/config/
.- The backed up configuration files will need to be copied here.
- After upgrade, log files will be located in
/var/log/alpaca/
.
- If running Alpaca 6.6.6 or earlier, an incremental upgrade to Alpaca 6.6.7 is required before upgrading to 7.0.0 or higher.
- Step: A-1
- Commands:
- # cd /tmp
- # rpm -U alpaca-server-21sp1-8.0.3-SNAPSHOT_1.x86_64.rpm
- Step: A-1
- Commands:
- Turn off the existing Alpaca service.
- # service alpaca stop
- Remove the Alpaca service script.
- # rm /etc/init.d/alpaca
- Remove the Alpaca symlink in the "/opt" directory if it exists.
- # rm /opt/alpaca
- Install the Alpaca Server RPM
- # yum install -y alpaca-server-ALPACA_VERSION.x86_64.rpm
- Turn off the existing Alpaca service.
Alpaca Eureka
General Upgrade Process
These are the general steps for upgrading Alpaca Eureka.
- Step: A-1
- Commands:
- Turn off the existing Alpaca Eureka service.
- # service alpaca-eureka stop
- Perform RPM upgrade
- rpm -U alpaca-eureka-ALPACA_VERSION_1.x86_64.rpm
- Restart Alpaca service.
- # service alpaca-eureka start
- Turn off the existing Alpaca Eureka service.
Alpaca Gateway
General Upgrade Process
These are the general steps for upgrading Alpaca Gateway.
- Step: A-1
- Commands:
- Turn off the existing Alpaca Gateway service.
- # service alpaca-gateway stop
- Perform RPM upgrade
- rpm -U alpaca-gateway-ALPACA_VERSION_1.x86_64.rpm
- Restart Alpaca service.
- # service alpaca-gateway start
- Turn off the existing Alpaca Gateway service.