Upgrading a Faspex 4.X server with a remote database
Upgrade from a version before Faspex 5.0 and confirm the persistence of files and data.
Before upgrading to Faspex 5 you must be on Faspex 4.4.2 PL4. Refer to the IBM Aspera Faspex 4.4 Admin Guide for instructions on how to upgrade Faspex 4.
Review breaking changes and upgrade considerations
Operating system
Faspex 5 does not support Windows as an operating system. If you're currently using Windows, in order to upgrade to Faspex 5, migrate your Faspex 4.X instance to a Linux server and test before upgrading to Faspex 5 on Linux.
Your server must run CentOS7, RHEL 7, RHEL 8, or (starting in 5.0.4) Amazon Linux 2.
Your server must also have network access to the IBM Cloud Container Registry (icr.io). The installer pulls container images from icr.io.
If you are using the default Faspex 4 database, the
upgrade process migrates your data to the faspex-db
container. If you have an
external database running, you will have to back up your Faspex 4 external database and run
migration against the external database.
Directory services
For security reasons, Faspex 5 does not support directory services. You must instead front your directory service with a SAML Identity Provider (IdP) and use SAML based authentication for your users. Do not upgrade if you rely on a direct connection between Faspex and directory services. If you have Directory Services users, you will need to migrate those users to SAML before upgrading from Faspex 4 to Faspex 5.
High-Speed Transfer Server version requirement
Faspex 5 uses a more modern API for interacting with IBM Aspera High-Speed Transfer Server (HSTS). Faspex 5 uses the activity logging feature available on HSTS 4.3 or later. You must upgrade HSTS on your nodes and enable activity logging before upgrading (see Enable activity logging on a HSTS node).
For setups where collocation of Faspex 5 with HSTS is unavoidable, the IP address included in the
node configuration in Faspex 5 can no longer be 127.0.0.1
or
localhost
. This is because Faspex 5 is containerized and localhost
refers to the container itself, not the server that is running the container. Use the private IP
address or FQDN of the server instead.
Connect version
Faspex 5 requires users run Connect version 4.1.3 or later and does not currently support locally hosting the Connect SDK.
Do not upgrade if your users rely on downloading Connect from the Faspex server (instead of the Cloudfront CDN). Hosting the Connect SDK and installers locally is expected in a future version of Faspex 5.
If your users cannot upgrade to Connect 4.1.3 and later, you can default users to transfer with HTTP Gateway.
Email addresses
Faspex 5 requires new users to have a unique email address. To log in to new Faspex 5 accounts, you must log in using the account email address. You can still log in using usernames for accounts created before the upgrade.
On upgrade, Faspex automatically reconciles external users that have the same email address as a regular user or a SAML user. While new Faspex users must log in using their email address, users created before the upgrade can still log in to those accounts with their usernames (but not with their email addresses).
After upgrading, you can see a list of users with duplicate email addresses by logging in to the Faspex Utility application. Then, from the Admin application, you can manually decide to keep, edit, or remove accounts with duplicate email addresses (see Review accounts with duplicate email addresses).
New Faspex 5 users must change their password on first login. You can no longer disable this requirement in server settings.
SAML
The SAML metadata and callback URL routes are different from previous versions. After upgrading, retrieve the new metadata and callback URLs from Faspex and update your SAML Identity Provider (see Reconfigure SAML after upgrading to Faspex 5).
Customization
Faspex 5 no longer supports custom CSS, custom HTML or custom Ruby. Use the branding options available in Configurations > Display settings (see Configure display settings).
Faspex 5 no longer supports the faspex.yml configuration file. If you rely on options in faspex.yml that cannot be set in another way in Faspex 5, then do not upgrade. For a list of supported and unsupported options, see faspex.yml options in Faspex 5.
Faspex 5 does not currently support out-of-transfer file validation or post-processing scripts. Starting in 5.0.4, Faspex supports package processing webhooks to notify external systems (through a POST request) that a package is ready for download.
Integration
Faspex 5 no longer provides rake tasks for automating tasks. Instead, use the Faspex 5 API to perform automation.
The Faspex 5 API is not backwards-compatible with prior versions of the APIs.
Public submission links
Public submission links and external user invitations created in Faspex 4 do not work in Faspex 5. Admins can resend the invitation as long as the invitation is not expired
Perform the following steps if you have already set up a blank Faspex 5 environment before upgrading from Faspex 4:
- Drop the Faspex table before properly upgrading from Faspex 4.
- Revert the
service.env
file to its original state:cp /opt/aspera/faspex/conf/docker/original/service.env /opt/aspera/faspex/conf/docker
Upgrade steps
Follow these steps before performing any upgrade:
- Perform a full environment back up and ensure the back up is successful. In case the upgrade fails, the only reliable, short-term fix is to roll back the environment using the back up.
- Test the upgrade in a test environment comparable to the production environment.
- If upgrading the test environment is successful, upgrade the production environment, but do not bring the production environment back online.
- Prior to bringing the production environment back online, the customer must test the application to determine if an immediate rollback is needed. Otherwise, customers risk losing all data generated between upgrade and rollback.