Upgrading Unified Assurance to a New Linux System
You can upgrade Oracle Communications Unified Assurance onto a new Linux 8 system by first installing the new Linux 8 environment, and then synchronizing and updating your Unified Assurance installation onto the new system. This is also known as a forklift upgrade.
About the Forklift Upgrade Procedure
Review the details in this section before beginning the upgrade procedure.
You can upgrade to Unified Assurance version 6.1 on Linux 8 from either version 5 or version 6.0.X. Most of the steps in the upgrade procedure apply to both upgrade paths. If a steps only applies to one upgrade path or is different depending on your upgrade path, the relevant upgrade path is specified.
Note:
The upgrade procedure describes upgrading from Linux 7 to Linux 8. The same procedure applies if you are upgrading from Linux 6. For simplicity, only Linux 7 is mentioned in the steps.
Forklift Upgrade Overview
A forklift upgrade involves the following high-level steps, repeated for each server in the environment:
-
Installing a new Linux 8 environment. For information about installing Linux 8, see Oracle Linux 8 Installing Oracle Linux.
-
Performing upgrade prerequisites. See Forklift Upgrade Prerequisites.
-
Upgrading the server. This involves:
-
Preparation steps for some server roles.
-
Backing up the Unified Assurance directory on the old server and moving it to the new one.
-
Installing the latest Unified Assurance 6.1 RPM on the new server.
-
Post RPM installation steps for most server roles.
-
Updating the package.
-
Post package update steps for some server roles.
See Performing the Forklift Upgrade for complete details.
-
-
Performing post-upgrade cleanup tasks. See Post-Upgrade Tasks.
Forklift Upgrade Active User
You run most commands in this procedure as the root user. For some steps, such as backing up and restoring the Graph database, you will switch to the assure1 user. These switches are specified in the commands.
Forklift Upgrade Placeholders
The procedures use a number environment variables, defined by placeholders marked with angled brackets in the commands (<>). The following table describes them. The procedures instruct you to set the environment variables at the appropriate time.
Environment Variable | Placeholder | Description |
---|---|---|
$A1BASEDIR | <UA_home> | Your Unified Assurance home directory. This is typically /opt/assure1, unless you chose a custom directory at installation time. |
$FILESDIR | <installation_file_directory> | The directory to store installation files. For example, /opt/install. |
$OL7FQDN | <Linux_7_FQDN> | The fully-qualified domain name (FQDN) of the original Linux 7 Unified Assurance server that you upgraded from. In a single server environment, this will be the same for all servers. In a multi-server environment, this may be different depending on the server. |
$OL8FQDN | <Linux_8_FQDN> | The FQDN of the new Linux 8 Unified Assurance server that you updated to. In a single server environment, this will be the same for all servers. In a multi-server environment, this may be different depending on the server. |
$PRIWEBFQDN | <Primary_Web_FQDN> | The web FQDN of the new Linux 8 primary presentation server (the same as secondary, if the WebFQDN is shared). |
$SECWEBFQDN | <Secondary_Web_FQDN> | The web FQDN of the new Linux 8 secondary presentation server (the same as primary, if the WebFQDN is shared). |
$EXTWEBFQDN | <External_Web_FQDN> | The web FQDN of the new Linux 8 external presentation server. This is different from the web FQDN of the primary and secondary presentation servers. |
$RPMVERSION | <RPM_version> | The version number of the latest Unified Assurance RPM, not including the package number or el8. For example, 6.1.0.0.0 |
For example, to set these environment variables:
export A1BASEDIR=/opt/assure1
export FILESDIR=/opt/install
export OL7FQDN=primary.linux7.server.fqdn
export OL8FQDN=primary.linux8.server.fqdn
export PRIWEBFQDN=web.server.example.com
export SECWEBFQDN=web.server2.example.com
export EXTWEBFQDN=external.server.example.com
export RPMVERSION=6.1.0.0.0
Server Upgrade Order
Perform the upgrade on each server in the following order:
-
The primary presentation server.
-
The secondary presentation server.
-
Each database server pair, starting with primary, then secondary.
To ensure minimal downtime, upgrade each database server one pair at a time. For example, if you have two database server pairs, upgrade them in this order:
-
Pair 1: Primary database server
-
Pair 1: Secondary database server
-
Pair 2: Primary database server
-
Pair 2: Secondary database server
-
-
Each collection server.
-
Each external presentation server.
When you have upgraded all your servers, perform the tasks described in Post-Upgrade Tasks.
Note:
Servers can have multiple roles. Perform the upgrade in the order of the role that appears first in the upgrade order list. For example, if your primary presentation server also has the Database.Graph role, upgrade it first, performing all role-specific steps for both roles, before upgrading other database servers.
Forklift Upgrade Prerequisites
Before starting a forklift upgrade:
-
Set up your Linux 8 servers and prepare them for the Unified Assurance installation. See Linux Prerequisites for information about preparing your Linux system for a Unified Assurance installation or upgrade.
-
Download the latest Unified Assurance release package from Oracle Software Delivery Cloud or patch release package from My Oracle Support, and upload to your Linux 8 servers.
-
Oracle Software Delivery Cloud: https://edelivery.oracle.com
-
My Oracle Support: https://support.oracle.com
The package contains the Oracle-Communications-Unified-Assurance-6.X.X.X.X-el8.zip collection file for installation.
-
-
If your existing Linux 7 system uses Keepalived, disable and stop the service. You can configure and enable the service again once the upgrade has been completed.
-
Verify that your existing Linux 7 primary and secondary databases are synchronized.
-
On servers with the Database.Historical role, confirm that you will have enough memory available for the Elasticsearch and OpenSearch databases to be deployed simultaneously. You need both to support the migration process.
Until you finalize the migration process, both types of database will be running. OpenSearch requires at least 2GB, which is approximately the same amount of memory as Elasticsearch, and the migration process requires at least twice the memory of your current Elasticsearch implementation. You can add more memory or scale back your Elasticsearch heap size (to no less than 2GB) as needed. After finalizing the migration and removing Elasticsearch, you can scale up your OpenSearch heap size to use the full amount.
The heap size for Elasticsearch is set in the ES_JAVA_OPTS parameter in the $A1BASEDIR/vendor/elasticsearch/config/custom-env file.
When you run Package update, the application checks whether you have enough memory available for both databases. If so, it proceeds with the update. If not, it stops the update and prompts you to adjust your memory settings.
For complete information about general system requirements for Unified Assurance, including system and hardware requirements, see Unified Assurance Architecture.
Performing the Forklift Upgrade
After performing Forklift Upgrade Prerequisites, complete all steps in this section for each server, in the order specified in Server Upgrade Order, before restarting the steps for the next server. If your server has multiple roles, you may follow multiple preparation, post RPM installation, and post package update procedures.
As an overview, the upgrade process involves:
-
Preparing the server, depending on the roles installed on it:
-
Optional steps to support minimal downtime for the Assure1 and Event databases, only supported if you are upgrading from version 6.0.4 or later to 6.1:
-
Preparing Primary Database.Assure1 Servers: These servers will also have at least the Presentation.Internal role.
-
Preparing Secondary Database.Assure1 Servers: These servers will also have at least the Presentation.Internal role.
-
-
Required steps:
-
Preparing Primary Database.Graph Servers: Includes a required step for redundant environments, and optional steps to support minimal downtime for the Neo4j database.
-
Preparing Database.Historical Servers: Required steps for all servers with the Database.Historical role.
-
There are no required preparation steps for other roles.
-
-
Performing post RPM installation steps for the server, depending on the roles installed on it:
-
Post RPM Installation Steps for Primary Presentation.Internal Servers
-
Post RPM Installation Steps for Secondary Presentation.Internal Servers
-
Post RPM Installation Steps for Primary Database Servers (any Database subroles)
-
Post RPM Installation Steps for Secondary Database Servers (any Database subroles)
-
Post RPM Installation Steps for Presentation.External Servers
-
-
Performing post package update steps for the server, depending on the roles installed on it:
After all servers have been upgraded, perform Post-Upgrade Tasks.
Preparing Servers
The steps for preparing the server depend on the roles installed on it. If you have multiple roles on your server, you may have to refer to multiple preparation step sections.
Preparing Primary Database.Assure1 Servers
These servers will also have the Presentation.Internal role.
If you perform the upgrade during a maintenance window and can accept some downtime for the Assure1 database, skip these preparation steps.
Optionally, if you are upgrading from version 6.0.4 or later to 6.1, and you require minimal database downtime, you can temporarily use your old and new servers with the Database.Assure1 role as replication partners during the upgrade. Because at one point in the upgrade, you would be replicating data from an upgraded server back to a non-upgraded server, this is not supported for version numbers that involve major schema changes.
If you are upgrading from any other version, including version 5, these steps are not supported.
To prepare the presentation servers for the temporary replication, starting with the primary and then repeating on the Linux 7 secondary presentation servers:
-
Connect to the MySQL Assure1 database as the root user.
-
Get the binlog file name and position. You will use these values later in the upgrade process.
Run one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0, run the following command and save the values for Relay_Master_Log_File and Exec_Master_Log_Pos:
SHOW SLAVE STATUS \G
The values from your Linux 7 primary presentation server will be referred to later as:
-
<Pri_L7_Pres_Relay_Master_Log_File>
-
<Pri_L7_Pres_Exec_Master_Log_Pos>
The values from your Linux 7 secondary presentation server will be referred to later as:
-
<Sec_L7_Pres_Relay_Master_Log_File>
-
<Sec_L7_Pres_Exec_Master_Log_Pos>
-
-
For MySQL versions 8.4.0 or greater, run the following command and save the values for Relay_Source_Log_File and Exec_Source_Log_Pos:
SHOW REPLICA STATUS \G
The values from your Linux 7 primary presentation server will be referred to later as:
-
<Pri_L7_Pres_Relay_Source_Log_File>
-
<Pri_L7_Pres_Exec_Source_Log_Pos>
The values from your Linux 7 secondary presentation server will be referred to later as:
-
<Sec_L7_Pres_Relay_Source_Log_File>
-
<Sec_L7_Pres_Exec_Source_Log_Pos>
-
-
-
Stop replication by running one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE;
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA;
-
-
Complete any of the following relevant preparation steps:
If this server has no other roles, proceed to Backing Up and Moving the Unified Assurance Directory.
Preparing Secondary Database.Assure1 Servers
These servers will also have the Presentation.Internal role.
Before starting these steps, you must have completed the upgrade on your primary presentation server. Verify that all Unified Assurance services are running and all data collection is happening on the Linux 8 primary presentation server.
If you performed these steps for the primary presentation server, perform them for the secondary server. If you did not perform them for the primary presentation server, do not perform them for the secondary server.
Repeat the following steps, starting with your old Linux 7 secondary presentation server and then on your new Linux 8 primary presentation server:
-
Connect to the MySQL Assure1 database as the root user.
-
Get the binlog file name and position. You will use these values later in the upgrade process.
Run one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0, run the following command and save the values for Relay_Master_Log_File and Exec_Master_Log_Pos:
SHOW SLAVE STATUS \G
The values from your Linux 7 secondary presentation server will be referred to later as:
-
<Sec_L7_Pres_Relay_Master_Log_File>
-
<Sec_L7_Pres_Exec_Master_Log_Pos>
The values from your Linux 8 primary presentation server will be referred to later as:
-
<Pri_L8_Pres_Relay_Master_Log_File>
-
<Pri_L8_Pres_Exec_Master_Log_Pos>
-
-
For MySQL versions 8.4.0 or greater, run the following command and save the values for Relay_Source_Log_File and Exec_Source_Log_Pos:
SHOW REPLICA STATUS \G
The values from your Linux 7 secondary presentation server will be referred to later as:
-
<Sec_L7_Pres_Relay_Source_Log_File>
-
<Sec_L7_Pres_Exec_Source_Log_Pos>
The values from your Linux 8 primary presentation server will be referred to later as:
-
<Pri_L8_Pres_Relay_Source_Log_File>
-
<Pri_L8_Pres_Exec_Source_Log_Pos>
-
-
-
Stop replication by running one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE;
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA;
-
-
Complete any of the following relevant preparation steps:
If this server has no other roles, proceed to Backing Up and Moving the Unified Assurance Directory.
Preparing Primary Database.Event Servers
If you perform the upgrade during a maintenance window and can accept some downtime for the Event database, skip these preparation steps.
Optionally, if you are upgrading from version 6.0.4 or later to 6.1, and you require minimal database downtime, you can temporarily use your old and new servers with the Database.Event role as replication partners during the upgrade for minimal downtime. Because at one point in the upgrade you would be replicating data from an upgraded server back to a non-upgraded server, this is not supported for version numbers that involve major schema changes.
If you are upgrading from any other version, including version 5, these steps are not supported.
To prepare the Database.Event servers for the temporary replication, starting with the primary and then repeating on the Linux 7 secondary presentation servers:
-
Connect to the MySQL Event database as the root user.
-
Get the binlog file name and position. You will use these values later in the upgrade process.
Run one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0, run the following command and save the values for Relay_Master_Log_File and Exec_Master_Log_Pos:
SHOW SLAVE STATUS \G
The values from your Linux 7 primary Database.Event server will be referred to later as:
-
<Pri_L7_DB_Relay_Master_Log_File>
-
<Pri_L7_DB_Exec_Master_Log_Pos>
The values from your Linux 7 secondary Database.Event server will be referred to later as:
-
<Sec_L7_DB_Relay_Master_Log_File>
-
<Sec_L7_DB_Exec_Master_Log_Pos>
-
-
For MySQL versions 8.4.0 or greater, run the following command and save the values for Relay_Source_Log_File and Exec_Source_Log_Pos:
SHOW REPLICA STATUS \G
The values from your Linux 7 primary Database.Event server will be referred to later as:
-
<Pri_L7_DB_Relay_Source_Log_File>
-
<Pri_L7_DB_Exec_Source_Log_Pos>
The values from your Linux 7 secondary Database.Event server will be referred to later as:
-
<Sec_L7_DB_Relay_Source_Log_File>
-
<Sec_L7_DB_Exec_Source_Log_Pos>
-
-
-
Stop replication by running one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE;
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA;
-
-
Complete any of the following relevant preparation steps:
If this server has no other roles, proceed to Backing Up and Moving the Unified Assurance Directory.
Preparing Secondary Database.Event Servers
Before starting these steps, you must have completed the upgrade on your primary Database.Event server. Verify that all Unified Assurance services are running and all data collection is happening on the Linux 8 primary Database.Event server.
If you performed these steps for the primary Database.Event server, perform them for the secondary server. If you did not perform them for the primary Database.Event server, do not perform them for the secondary server.
Repeat the following steps, starting with your old Linux 7 secondary Database.Event server and then on your new Linux 8 primary Database.Event server:
-
Connect to the MySQL Event database as the root user.
-
Get the binlog file name and position. You will use these values later in the upgrade process.
Run one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0, run the following command and save the values for Relay_Master_Log_File and Exec_Master_Log_Pos:
SHOW SLAVE STATUS \G
The values from your Linux 7 secondary Database.Event server will be referred to later as:
-
<Sec_L7_DB_Relay_Master_Log_File>
-
<Sec_L7_DB_Exec_Master_Log_Pos>
The values from your Linux 8 primary Database.Event server will be referred to later as:
-
<Pri_L8_DB_Relay_Master_Log_File>
-
<Pri_L8_DB_Exec_Master_Log_Pos>
-
-
For MySQL versions 8.4.0 or greater, run the following command and save the values for Relay_Source_Log_File and Exec_Source_Log_Pos:
SHOW REPLICA STATUS \G
The values from your Linux 7 secondary Database.Event server will be referred to later as:
-
<Sec_L7_DB_Relay_Source_Log_File>
-
<Sec_L7_DB_Exec_Source_Log_Pos>
The values from your Linux 8 primary Database.Event server will be referred to later as:
-
<Pri_L8_DB_Relay_Source_Log_File>
-
<Pri_L8_DB_Exec_Source_Log_Pos>
-
-
-
Stop replication by running one of the following commands, depending on your MySQL version:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE;
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA;
-
-
If this server also has the Database.Historical role, proceed to Preparing Database.Historical Servers. If it does not, proceed to Backing Up and Moving the Unified Assurance Directory.
Preparing Primary Database.Graph Servers
The following steps apply before upgrading your primary Database.Graph server in redundant environments only. Do not repeat them when upgrading your secondary Database.Graph server. They do not apply in non-redundant environments.
The first step is required for all redundant environments.
The second step is optional, if you require minimal database downtime and cannot use a maintenance window. It is only supported if your version of Unified Assurance on Linux 7 is 6.0.4 or later.
-
On your Linux 7 primary and secondary database servers, disable Neo4j replication by moving the graph-repl.jar and schema-repl.jar files to the $A1BASEDIR/vendor/neo4j/disabled_plugins/ directory:
mv $A1BASEDIR/vendor/neo4j/plugins/graph-repl.jar $A1BASEDIR/vendor/neo4j/disabled_plugins/ mv $A1BASEDIR/vendor/neo4j/plugins/schema-repl.jar $A1BASEDIR/vendor/neo4j/disabled_plugins/
This prevents issues resulting from the old plugins from being run alongside the new plugins.
Note:
Depending on the version of Unified Assurance you have installed, graph-repl.jar and schema-repl.jar may no longer exist or may have already been moved to a backup directory. If so, continue to the next step.
-
If your version of Unified Assurance on Linux 7 is less than 6.0.4, or you are performing the upgrade during a maintenance window and can accept some downtime for the Graph database, skip these steps.
If your version of Unified Assurance on Linux 7 is 6.0.4 or higher, and you require minimal database downtime, you can keep Neo4j running on the secondary database server while you upgrade the primary, then back up the secondary Neo4j database and restore it onto the primary after it has been upgraded.
To do this, complete the following preparation steps on both the Linux 7 primary and secondary database servers:
-
In the $A1BASEDIR/etc/neo4j/streams.conf file, change the value of the streams.source.enabled property to false. For example:
streams.source.enabled=false
-
Disable and stop the Neo4j Kafka Connect service:
-
In the Unified Assurance UI, from the Configuration menu, select Broker Control, then select Services.
-
Select the Neo4j Kafka Connect service.
The service details appear.
-
Set Status to Disabled and click Submit.
In the All Services table, the value in the Status column for the service is updated to Disabled.
-
In the All Services table, click Stop.
In the All Services table, the value in the State column for the service is updated to Stopped.
-
-
Verify that the Neo4j processes have stopped:
ps -ef | grep neo4j
The output should not show any running Neo4j processes.
-
On your Linux 7 secondary database server, restart the Neo4j service:
-
In to the Unified Assurance UI, from the Configuration menu, select Broker Control, then select Services.
-
Select the Neo4j service and click Restart.
-
-
-
If this server also has the Database.Historical role, proceed to Preparing Database.Historical Servers. If it does not, proceed to Backing Up and Moving the Unified Assurance Directory.
Preparing Database.Historical Servers
The following steps apply to all Database.Historical servers, including primary and secondary servers, and servers in non-redundant environments.
-
Back up the Elasticsearch and Kibana configuration files and SSL certificates to a temporary location for later use during migration:
mkdir -p $A1BASEDIR/tmp/elasticsearch/certs mkdir -p $A1BASEDIR/tmp/kibana cp -r $A1BASEDIR/vendor/elasticsearch/config/custom-env $A1BASEDIR/tmp/elasticsearch cp -r $A1BASEDIR/vendor/kibana/config/kibana.yml $A1BASEDIR/tmp/kibana cp $A1BASEDIR/etc/ssl/BundleCA.crt $A1BASEDIR/tmp/elasticsearch/certs cp $A1BASEDIR/etc/ssl/User-kibana.crt $A1BASEDIR/tmp/elasticsearch/certs cp $A1BASEDIR/etc/ssl/User-kibana.key $A1BASEDIR/tmp/elasticsearch/certs cp $A1BASEDIR/etc/ssl/User-assure1.crt $A1BASEDIR/tmp/elasticsearch/certs cp $A1BASEDIR/etc/ssl/User-assure1.key $A1BASEDIR/tmp/elasticsearch/certs
-
Create a file called $A1BASEDIR/tmp/elasticsearch/info.json with the following content, replacing the placeholders as appropriate for your environment:
{ "ElasticsearchHostFQDN": "<Primary_Linux_7_Host_FQDN>", "KibanaHostFQDN": "<Primary_Linux_7_Host_FQDN>", "CertsDirectory": "<UA_home>/tmp/elasticsearch/certs" }
-
Proceed to Backing Up and Moving the Unified Assurance Directory.
Backing Up and Moving the Unified Assurance Directory
The following steps apply to all servers. Before starting the steps, ensure that you have completed any necessary preparation steps for the server. See Preparing Servers.
On your old Linux 7 server:
-
Set environment variables, replacing <UA_home> with the appropriate value. This is usually opt/assure1:
export A1BASEDIR=<UA_home> source $A1BASEDIR/.assure1_bashrc
-
Stop all services and the broker:
$A1BASEDIR/bin/BrokerControl --batch stopall systemctl stop assure1-broker
-
For servers with a presentation role, stop additional components:
-
Presentation.Internal and Database.Assure1:
systemctl stop assure1-bus systemctl stop assure1-web systemctl stop assure1-db
-
Presentation.External:
systemctl stop assure1-web
-
-
Verify that all processes have stopped:
ps aux | grep assure1 systemctl status assure1-broker systemctl status assure1-bus systemctl status assure1-web systemctl status assure1-db
-
Create a file called tar-excludes.txt that specifies what to exclude from the backup:
cat <<EOM > tar-excludes.txt $A1BASEDIR/.config/helm $A1BASEDIR/distrib/packages $A1BASEDIR/etc/rke $A1BASEDIR/var/chartmuseum $A1BASEDIR/var/checkouts $A1BASEDIR/var/docker $A1BASEDIR/var/registry $A1BASEDIR/var/rke $A1BASEDIR/var/run/docker $A1BASEDIR/var/run/docker.pid $A1BASEDIR/vendor/docker $A1BASEDIR/vendor/elasticsearch $A1BASEDIR/vendor/helm $A1BASEDIR/vendor/kibana $A1BASEDIR/vendor/kubernetes $A1BASEDIR/vendor/rke $A1BASEDIR/vendor/submariner EOM
-
Back up the $A1BASEDIR directory:
tar --exclude-from=tar-excludes.txt -czf UA-Linux7-<server_type>-Backup.tgz $A1BASEDIR
where <server_type> is the type of server you are backing up. For example, Primary-Presentation or Secondary-Database.
This may take a few minutes.
-
Copy the UA-Linux7-<server_type>-Backup.tgz tar backup file to the new Linux 8 server. You can use any secure transfer protocol. For example, using scp:
scp UA-Linux7-<server_type>-Backup.tgz <user>@<hostname>:/home/<user>/
-
Proceed to Installing the Latest RPM
Installing the Latest RPM
The following steps apply to all servers.
On your new Linux 8 server:
-
Move the UA-Linux7-<server_type>-Backup.tgz file to the <installation_file_directory>:
mv /home/<user>/UA-Linux7-<server_type>-Backup.tgz <installation_file_directory>
-
Set environment variables, replacing the placeholders with the appropriate values:
export FILESDIR=<installation_file_directory> export OL7FQDN=<Linux_7_FQDN> export OL8FQDN=<Linux_8_FQDN> export PRIWEBFQDN=<Primary_Web_FQDN> export SECWEBFQDN=<Secondary_Web_FQDN>
where:
-
<Linux_7_FQDN> is the FQDN for the Linux 7 server you moved from
-
<Linux_8_FQDN> is the FQDN of the Linux 8 server you are working on
-
<Primary_Web_FQDN> is the web FQDN for Linux 8 primary presentation server. If you are currently working on the Linux 8 primary presentation server, $OL8FQDN and $PRIWEBFQDN may have the same value.
-
<Secondary_Web_FQDN> is the web FQDN for Linux 8 secondary presentation server. If you are currently working on the Linux 8 secondary presentation server, $OL8FQDN and $SECWEBFQDN may have the same value.
Note:
In a multi-server environment, be careful to set these to the correct FQDN for the current server you are working on.
-
-
Extract the UA-Linux7-<server_type>-Backup.tgz tar backup file:
tar -xzf $FILESDIR/UA-Linux7-<server_type>-Backup.tgz -C /
This may take a few minutes.
-
Set the environment variable for the Unified Assurance base directory:
export A1BASEDIR=<UA_home>
where <UA_home> is the directory that you backed up from your old server. This is usually /opt/assure1.
-
Replace the old server FQDN with the new FQDN:
grep -rl --exclude-dir={etc,legal,lib,logs,tmp,var} "$OL7FQDN" $A1BASEDIR/* | xargs sed -i "s/$OL7FQDN/$OL8FQDN/g" grep -rl --exclude-dir={ssl,priv} "$OL7FQDN" $A1BASEDIR/etc/* | xargs sed -i "s/$OL7FQDN/$OL8FQDN/g"
-
Remove the old SSL certificates:
rm -f $A1BASEDIR/etc/ssl/priv/*.pem rm -f $A1BASEDIR/etc/ssl/priv/*.old > $A1BASEDIR/etc/ssl/priv/index.txt > $A1BASEDIR/etc/ssl/priv/index.txt.attr > $A1BASEDIR/etc/ssl/priv/serial cd $A1BASEDIR/etc/ssl && ls | grep -xv ".*CA.*" | grep -xv priv | xargs rm -rf rm -rf $A1BASEDIR/var/rabbitmq/mnesia/*
-
Check the contents of the $A1BASEDIR/etc/ssl directory:
ls -l $A1BASEDIR/etc/ssl/
The response should look similar to this:
-rw-r--r-- 1 60 assure1 1342 Jun 17 14:31 Assure1CA.crt -rw-r--r-- 1 60 assure1 5626 Jun 17 14:32 BundleCA.crt -rw-r--r-- 1 60 assure1 2294 Jun 17 14:32 BundleCA.jks drwxr-xr-x 2 60 assure1 59 Jun 20 08:23 priv -rw-r--r-- 1 60 assure1 4284 Jun 17 14:32 SiteCA.crt -rw------- 1 60 assure1 1854 Jun 17 14:32 SiteCA.key
Remove any additional files.
-
Check the contents of the $A1BASEDIR/etc/ssl/priv directory:
ls -l $A1BASEDIR/etc/ssl/priv/
The response should look similar to this:
-rw-r--r-- 1 60 assure1 0 Jun 20 08:23 index.txt -rw-r--r-- 1 60 assure1 0 Jun 20 08:23 index.txt.attr -rw-r--r-- 1 60 assure1 0 Jun 20 08:23 serial
-
Confirm that index.txt, index.txt.attr and serial are empty files and remove any additional files.
-
Extract the collection file contents from the Unified Assurance release package to <installation_file_directory>:
unzip -d $FILESDIR Oracle-Communications-Unified-Assurance-6.X.X.X.X-el8.zip
-
Install the latest Unified Assurance RPM for Linux 8:
dnf -y install $FILESDIR/Assure1-6.X.X.X.X-X.el8.x86_64.rpm
-
Create an environment variable for the RPM version number. Do not include the package number or el8, and replace each X with the appropriate number:
export RPMVERSION=6.X.X.X.X
For example:
export RPMVERSION=6.1.0.0.0
-
Add the primary and secondary server host FQDNs to the <UA_home>/etc/Assure1.conf file:
-
If you are working on an internal primary presentation server, add its host FQDN:
sed -i "s/\"DBHost\": \"\"/\"DBHost\": \"$PRIWEBFQDN\"/g" $A1BASEDIR/etc/Assure1.conf
-
If you are working on any other server, add the host FQDN for the Linux 8 primary and secondary presentation servers:
sed -i "s/\"DBHost\": \"\"/\"DBHost\": \"$PRIWEBFQDN\"/g" $A1BASEDIR/etc/Assure1.conf sed -i "s/\"DBBackupHost\": \"\"/\"DBBackupHost\": \"$SECWEBFQDN\"/g" $A1BASEDIR/etc/Assure1.conf
-
-
If you are upgrading from version 6.0.x to version 6.1, skip to the next step.
If you are upgrading from version 5 to version 6.1, add multi-domain (SAN) certificate information in the OpenSSL configuration.
cat <<'EOM' >>$A1BASEDIR/etc/openssl.conf [ san_cert ] basicConstraints = CA:FALSE nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer EOM
-
Complete post-installation steps, depending on your server roles:
Post RPM Installation Steps
The post-installation steps for the server depend on the roles installed on it. If you have multiple roles on your server, you may have to refer to multiple post-installation step sections.
Post RPM Installation Steps for Primary Presentation.Internal Servers
The following steps apply to the presentation server in non-redundant environments, or the primary presentation server in redundant environments.
-
On your new Linux 8 primary presentation server:
-
Generate new SSL certificates:
$A1BASEDIR/bin/CreateSSLCertificate --Type Host -c $OL8FQDN $A1BASEDIR/bin/CreateSSLCertificate --Type SSH $A1BASEDIR/bin/CreateSSLCertificate --Type User -c assure1 $A1BASEDIR/bin/CreateSSLCertificate --Type User -c root $A1BASEDIR/bin/CreateSSLCertificate --Type User -c api $A1BASEDIR/bin/CreateSSLCertificate --Type User -c kibana $A1BASEDIR/bin/CreateSSLCertificate --Type User -c repl $A1BASEDIR/bin/CreateSSLCertificate --Type Web -c $PRIWEBFQDN
-
Copy the following Unified Assurance systemd scripts from the /etc/systemd/system/ directory on the original Linux 7 server to the /etc/systemd/system/ directory on the Linux 8 server:
-
assure1-db.service
-
assure1-bus.service
-
assure1-web.service
-
-
Reload the systemctl daemon and start the Assure1 database:
systemctl daemon-reload systemctl start assure1-db
-
If you performed the optional steps in Preparing Primary Database.Assure1 Servers:
Set up the new Linux 8 primary presentation server as a temporary replication partner for the old Linux 7 secondary presentation server. This synchronizes any missing data that may have been added to old secondary server while the primary server was down during the upgrade process.
If you did not perform the optional preparation steps, skip these steps.
-
On the Linux 8 primary presentation server's MySQL Assure1 database, run the following commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE; RESET SLAVE; CHANGE MASTER TO MASTER_HOST='<SECONDARY-LINUX7-SERVER-FQDN>', MASTER_LOG_FILE='<Pri_L7_Pres_Relay_Master_Log_File>', MASTER_LOG_POS=<Pri_L7_Pres_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<SECONDARY-LINUX7-SERVER-FQDN> is the FQDN of the original Linux 7 secondary presentation server.
-
<Pri_L7_Pres_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 primary presentation server.
-
<Pri_L7_Pres_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 primary presentation server.
-
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA; RESET REPLICA; CHANGE REPLICATION SOURCE TO SOURCE_HOST='<SECONDARY-LINUX7-SERVER-FQDN>', SOURCE_LOG_FILE='<Pri_L7_Pres_Relay_Source_Log_File>', SOURCE_LOG_POS=<Pri_L7_Pres_Exec_Source_Log_Pos>; START REPLICA;
where:
-
<SECONDARY-LINUX7-SERVER-FQDN> is the FQDN of the original Linux 7 secondary presentation server.
-
<Pri_L7_Pres_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 7 primary presentation server.
-
<Pri_L7_Pres_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 7 primary presentation server.
-
-
-
On the Linux 7 secondary presentation server's MySQL Assure1 database, run the following commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
CHANGE MASTER TO MASTER_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', MASTER_LOG_FILE='<Sec_L7_Pres_Relay_Master_Log_File>', MASTER_LOG_POS=<Sec_L7_Pres_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary presentation server.
-
<Sec_L7_Pres_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 secondary presentation server.
-
<Sec_L7_Pres_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 secondary presentation server.
-
-
For MySQL versions 8.4.0 and greater:
CHANGE REPLICATION SOURCE TO SOURCE_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', SOURCE_LOG_FILE='<Sec_L7_Pres_L7_Relay_Source_Log_File>', SOURCE_LOG_POS=<Sec_L7_Pres_Exec_Source_Log_Pos>; START REPLICA;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary presentation server
-
<Sec_L7_Pres_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 7 secondary presentation server.
-
<Sec_L7_Pres_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 7 secondary presentation server.
-
-
-
-
Repeat the following command for each server in the environment, including the primary presentation server, to get the Linux 7 server IDs and save them in environment variables. Replace the placeholders as appropriate for each server:
<SERVER_TYPE>SERVERID=$($A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "SELECT ServerID FROM Servers WHERE ServerHostFQDN = '<Linux_7_host_FQDN>'" | cut -f1 | grep -v 'ServerID')
where:
-
<databasetype> is one of the following, depending on your upgrade path:
-
mariadb if you are upgrading from version 5 to version 6.1.
-
mysql if you are upgrading from version 6.0.x to version 6.1.
-
-
<SERVER_TYPE> is a short way to refer to the server type. For example, you might use PRIPRES for the primary presentation server, making the variable PRIPRESSERVERID.
-
<Linux_7_host_FQDN> is the host FQDN of the server.
If you have a single-server environment, you only run the command once. If you have a standard three-server environment, you will repeat the command three times, adjusting the FQDN and variable as appropriate.
-
-
Repeat one of the following sets of commands for each server in the environment, including the primary presentation server, to set the correct server FQDNs in the database. Replace the placeholders as appropriate for each server:
For presentation servers (internal and external), or in a single-server environment:
$A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Servers SET ServerHostFQDN='<Linux_8_host_FQDN>', WebFQDN='<Linux_8_web_FQDN>', Version='$RPMVERSION' WHERE ServerID = <server_ID_variable>" $A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE CoreDatabases SET DBHost = '<Linux_8_host_FQDN>' WHERE DBHost = '<Linux_7_host_FQDN>'" $A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE AuthVendorSystems SET SystemHost = '<Linux_8_host_FQDN>' WHERE SystemHost = '<Linux_7_host_FQDN>'" $A1BASEDIR/vendor/<database_type>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "DELETE FROM Packages where PackageName in ('vendorElasticsearch-app','vendorKibana-app','vendorFilebeat-app')" $A1BASEDIR/vendor/<database_type>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Packages SET PackageEsVersion=0 WHERE PackageName='historicalProcessing-data'" $A1BASEDIR/vendor/<database_type>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Packages SET PackageIdbVersion=0 WHERE PackageName='historicalProcessing-data'" $A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "DELETE FROM Clusters"
where:
-
<server_ID_variable> is the variable you just created for the server ID. For example, $PRIPRESSERVERID.
-
<Linux_8_web_FQDN> is the web FQDN for the presentation server. If you are not using a custom web FQDN, this will be the same as the host FQDN value. In redundant environments, if you are using a shared web FQDN, this will be the same for primary and secondary presentation servers. It will be different for the external presentation server.
For other servers in multi-server environments:
$A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Servers SET ServerHostFQDN='<Linux_8_host_FQDN>', Version='$RPMVERSION' WHERE ServerID = <server_ID_variable>" $A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE CoreDatabases SET DBHost = '<Linux_8_host_FQDN>' WHERE DBHost = '<Linux_7_host_FQDN>'" $A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE AuthVendorSystems SET SystemHost = '<Linux_8_host_FQDN>' WHERE SystemHost = '<Linux_7_host_FQDN>'" $A1BASEDIR/vendor/<database_type>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "DELETE FROM Packages where PackageName in ('vendorElasticsearch-app','vendorKibana-app','vendorFilebeat-app')" $A1BASEDIR/vendor/<database_type>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Packages SET PackageEsVersion=0 WHERE PackageName='historicalProcessing-data'" $A1BASEDIR/vendor/<database_type>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Packages SET PackageIdbVersion=0 WHERE PackageName='historicalProcessing-data'" $A1BASEDIR/vendor/<databasetype>/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "DELETE FROM Clusters"
-
-
If you are upgrading from version 5 to version 6.1, skip to the next step.
If you are upgrading from version 6.0.x to version 6.1, reset packages to their base 6.0.0.0.0 versions:
$A1BASEDIR/vendor/mysql/bin/mysql --defaults-file=$A1BASEDIR/etc/my.cnf Assure1 -e "UPDATE Packages SET PackageVersion = '6.0.0.0.0.0' WHERE ServerID = <server_ID_variable>"
where <server_ID_variable> is the variable you created for the server ID. For example, $PRIPRESSERVERID.
-
Start RabbitMQ:
systemctl start assure1-bus
-
Create a new assure1 RabbitMQ user:
source $A1BASEDIR/.assure1_bashrc $A1BASEDIR/bin/Package add-rabbit-user
-
-
If this is not a redundant environment, skip to the next step.
If this is a redundant environment, on the Linux 7 secondary presentation server:
-
Edit the $A1BASEDIR/etc/Assure1.conf file to replace the old Linux 7 primary presentation server FQDN with the new Linux 8 primary presentation server FQDN.
-
Restart the Broker service:
systemctl restart assure1-broker
-
-
If either of the following is true about the server, proceed to Post RPM Installation Steps for Primary Database Servers:
-
The server has the Database.Graph role and you performed the optional steps in Preparing Primary Database.Graph Servers.
-
The server has the Database.Event role and you performed the optional steps in Preparing Primary Database.Event Servers.
If neither is true, proceed to Updating the Unified Assurance Package.
-
Post RPM Installation Steps for Secondary Presentation.Internal Servers
The following steps apply to secondary presentation servers in redundant environments.
-
On your Linux 8 secondary presentation server:
-
Generate new SSL certificates:
$A1BASEDIR/bin/CreateSSLCertificate --Type Host -c $OL8FQDN $A1BASEDIR/bin/CreateSSLCertificate --Type SSH $A1BASEDIR/bin/CreateSSLCertificate --Type User -c assure1 $A1BASEDIR/bin/CreateSSLCertificate --Type User -c root $A1BASEDIR/bin/CreateSSLCertificate --Type User -c api $A1BASEDIR/bin/CreateSSLCertificate --Type User -c kibana $A1BASEDIR/bin/CreateSSLCertificate --Type User -c repl $A1BASEDIR/bin/CreateSSLCertificate --Type Web -c $SECWEBFQDN
-
Copy the following Unified Assurance systemd scripts from the /etc/systemd/system/ directory on the original Linux 7 server to the /etc/systemd/system/ directory on the Linux 8 server:
-
assure1-db.service
-
assure1-bus.service
-
assure1-web.service
-
-
Reload the systemctl daemon and start the Assure1 database:
systemctl daemon-reload systemctl start assure1-db
-
If you did not perform the optional steps in Preparing Secondary Database.Assure1 Servers, skip to the next step.
If you performed the optional steps, synchronize the new Linux 8 secondary presentation server's MySQL Assure1 database with the new Linux 8 primary presentation server's database:
-
On the Linux 8 secondary presentation server's MySQL Assure1 database, run the following commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE; RESET SLAVE; CHANGE MASTER TO MASTER_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', MASTER_LOG_FILE='<Sec_L7_Pres_Relay_Master_Log_File>', MASTER_LOG_POS=<Sec_L7_Pres_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary presentation server.
-
<Sec_L7_Pres_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 secondary presentation server.
-
<Sec_L7_Pres_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 secondary presentation server.
-
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA; RESET REPLICA; CHANGE REPLICATION SOURCE TO SOURCE_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', SOURCE_LOG_FILE='<Sec_L7_Pres_Relay_Source_Log_File>', SOURCE_LOG_POS=<Sec_L7_Pres_Exec_Source_Log_Pos>; START REPLICA;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary presentation server.
-
<Sec_L7_Pres_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 7 secondary presentation server.
-
<Sec_L7_Pres_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 7 secondary presentation server.
-
-
-
On the Linux 8 primary presentation server's MySQL Assure1 database, run one of the following sets of commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
CHANGE MASTER TO MASTER_HOST='<SECONDARY-LINUX8-SERVER-FQDN>', MASTER_LOG_FILE='<Pri_L8_Pres_Relay_Master_Log_File>', MASTER_LOG_POS=<Pri_L8_Pres_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<SECONDARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 secondary presentation server.
-
<Pri_L8_Pres_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 8 primary presentation server.
-
<Pri_L8_Pres_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 8 primary presentation server.
-
-
For MySQL versions 8.4.0 and greater:
CHANGE REPLICATION SOURCE TO SOURCE_HOST='<SECONDARY-LINUX8-SERVER-FQDN>', SOURCE_LOG_FILE='<Pri_L8_Pres_Relay_Source_Log_File>', SOURCE_LOG_POS=<Pri_L8_Pres_Exec_Source_Log_Pos>; START REPLICA;
The placeholder values in the above command should be replaced with the relevant info as follows:
-
<SECONDARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 secondary presentation server.
-
<Pri_L8_Pres_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 8 primary presentation server.
-
<Pri_L8_Pres_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 8 primary presentation server.
-
-
-
-
Start RabbitMQ:
systemctl start assure1-bus
-
Create a new assure1 RabbitMQ user
source $A1BASEDIR/.assure1_bashrc $A1BASEDIR/bin/Package add-rabbit-user
-
-
If this is not a redundant environment, skip to the next step.
If this is a redundant environment, on old Linux 7 primary presentation server:
-
Edit the $A1BASEDIR/etc/Assure1.conf file to replace the old Linux 7 secondary presentation server FQDN with the new Linux 8 secondary presentation server FQDN.
-
Restart the Broker service:
systemctl restart assure1-broker
-
-
If the server also has the Database.Event role and you performed the optional steps in Preparing Secondary Database.Event Servers, proceed to Post RPM Installation Steps for Secondary Database Servers.
If it does not have the Database.Event role or you did not perform the optional steps, proceed to Updating the Unified Assurance Package.
Post RPM Installation Steps for Primary Database Servers
The following steps apply to database servers in non-redundant environments, or primary database servers in redundant environments.
Perform these steps if any of the following are true about the server:
-
Does not have the Presentation.Internal role
-
Has the Database.Graph role and you performed the optional steps in Preparing Primary Database.Graph Servers.
-
Has the Database.Event role and you performed the optional steps in Preparing Primary Database.Event Servers.
Skip these steps if all of the following are true about the server:
-
Has the Presentation.Internal role
-
Does not have the Database.Graph role, or has the Database.Event role, but you did not perform the optional steps in Preparing Primary Database.Event Servers.
-
Does not have the Database.Event role, or has the Database.Event role, but you did not perform the optional steps in Preparing Primary Database.Event Servers
To perform the post RPM steps for primary database servers:
-
If your new Linux 8 primary database server also has the Presentation.Internal role, skip to the next step.
If it does not also have the Presentation.Internal role:
-
Generate new SSL certificates:
$A1BASEDIR/bin/CreateSSLCertificate --Type Host -c $OL8FQDN $A1BASEDIR/bin/CreateSSLCertificate --Type SSH $A1BASEDIR/bin/CreateSSLCertificate --Type User -c assure1 $A1BASEDIR/bin/CreateSSLCertificate --Type User -c root $A1BASEDIR/bin/CreateSSLCertificate --Type User -c api $A1BASEDIR/bin/CreateSSLCertificate --Type User -c kibana $A1BASEDIR/bin/CreateSSLCertificate --Type User -c repl
-
Copy the following Unified Assurance systemd scripts from the /etc/systemd/system/ directory on the original Linux 7 server to the /etc/systemd/system/ directory on the Linux 8 server:
-
assure1-db.service
-
assure1-bus.service
-
-
Reload the systemctl daemon:
systemctl daemon-reload
-
-
If your new Linux 8 primary database server does not have the Database.Event role, or it does, but you did not perform the optional steps in Preparing Primary Database.Event Servers, skip to the next step.
If it has the Database.Event role, and you performed the optional steps in Preparing Primary Database.Event Servers:
Set up the new Linux 8 primary database server as a temporary replication partner for the old Linux 7 secondary database server. This synchronizes any missing data that may have been added to old secondary server while the primary server was down during the upgrade process.
If you did not perform the optional preparation steps, skip these steps.
-
Start the database.
systemctl start assure1-db
-
On the Linux 8 primary presentation server's MySQL Event database, run the following commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE; RESET SLAVE; CHANGE MASTER TO MASTER_HOST='<SECONDARY-LINUX7-SERVER-FQDN>', MASTER_LOG_FILE='<Pri_L7_DB_Relay_Master_Log_File>', MASTER_LOG_POS=<Pri_L7_DB_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<SECONDARY-LINUX7-SERVER-FQDN> is the FQDN of the original Linux 7 secondary database server.
-
<Pri_L7_DB_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 primary database server.
-
<Pri_L7_DB_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 primary database server.
-
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA; RESET REPLICA; CHANGE REPLICATION SOURCE TO SOURCE_HOST='<SECONDARY-LINUX7-SERVER-FQDN>', SOURCE_LOG_FILE='<Pri_L7_DB_Relay_Source_Log_File>', SOURCE_LOG_POS=<Pri_L7_DB_Exec_Source_Log_Pos>; START REPLICA;
where:
-
<SECONDARY-LINUX7-SERVER-FQDN> is the FQDN of the original Linux 7 secondary database server.
-
<Pri_L7_DB_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 7 primary database server.
-
<Pri_L7_DB_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 7 primary database server.
-
-
-
On the Linux 7 secondary database server's MySQL Event database, run the following commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
CHANGE MASTER TO MASTER_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', MASTER_LOG_FILE='<Sec_L7_DB_Relay_Master_Log_File>', MASTER_LOG_POS=<Sec_L7_DB_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary database server.
-
<Sec_L7_DB_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 secondary database server.
-
<Sec_L7_DB_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 secondary database server.
-
-
For MySQL versions 8.4.0 and greater:
CHANGE REPLICATION SOURCE TO SOURCE_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', SOURCE_LOG_FILE='<Sec_L7_DB_Relay_Source_Log_File>', SOURCE_LOG_POS=<Sec_L7_DB_Exec_Source_Log_Pos>; START REPLICA;
where
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary database server.
-
<Sec_L7_DB_Relay_Source_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 secondary database server.
-
<Sec_L7_DB_Exec_Source_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 secondary database server.
-
-
-
-
If your new Linux 8 primary database server does not have the Database.Graph role, or it does, but you did not perform the optional steps in Preparing Primary Database.Graph Servers skip to the next step.
If it has the Database.Graph role, and you performed the optional steps, bring the Neo4j database on the Linux 8 primary database server up to date with the Linux 7 secondary database server. This procedure involves steps on the Linux 7 secondary database server, the Linux 8 primary database server, and the Unified Assurance UI.
-
On the Linux 7 secondary database server:
-
Switch to the assure1 user:
su - assure1
-
Set the Graph database to READ ONLY to enable backing up the schema and data:
a1neo4jroot ALTER DATABASE graph SET ACCESS READ ONLY; :exit
-
Create the $A1BASEDIR environment variable for <UA_home>, replacing <UA_home> with the appropriate value. This is usually opt/assure1:
export A1BASEDIR=<UA_home>
-
Back up the Graph database:
-
For Unified Assurance version 6.0.3 or lower:
mkdir $A1BASEDIR/tmp/neo4j-dump NEO4J_CONF=$A1BASEDIR/etc/neo4j/ $A1BASEDIR/vendor/neo4j/bin/neo4j-admin backup --database=graph --backup-dir=$A1BASEDIR/tmp/neo4j-dump/ --include-metadata=all
-
For Unified Assurance version 6.0.4 or higher:
mkdir $A1BASEDIR/tmp/neo4j-dump NEO4J_CONF=$A1BASEDIR/etc/neo4j/ $A1BASEDIR/vendor/neo4j/bin/neo4j-admin database backup --to-path=$A1BASEDIR/tmp/neo4j-dump --include-metadata=all --type=full graph
-
-
-
On the Linux 8 primary database server:
-
Switch to the assure1 user:
su - assure1
-
Connect to Neo4j and drop the Graph database:
a1neo4jroot DROP DATABASE Graph; :exit
-
Create an environment variable for $A1BASEDIR, replacing <UA_home> with the appropriate value. This is usually opt/assure1:
export A1BASEDIR=<UA_home>
-
Copy the backup files from the Linux 7 secondary database server to the Linux 8 primary database server.
-
Restore the Graph database from the backup file by running one of the following sets of commands:
-
For Unified Assurance version 6.0.3 or lower:
sudo chown -R assure1:assure1 $A1BASEDIR/tmp/neo4j-dump NEO4J_CONF=$A1BASEDIR/etc/neo4j/ $A1BASEDIR/vendor/neo4j/bin/neo4j-admin restore --database=graph --from=$A1BASEDIR/tmp/neo4j-dump/graph
-
For Unified Assurance version 6.0.4 or higher:
sudo chown -R assure1:assure1 $A1BASEDIR/tmp/neo4j-dump NEO4J_CONF=$A1BASEDIR/etc/neo4j/ $A1BASEDIR/vendor/neo4j/bin/neo4j-admin database restore --from-path=$A1BASEDIR/tmp/neo4j-dump/<backup-file-name> graph
where <backup-file-name> is the name of your Graph database backup file.
-
-
Check if the output of the restore command contains the following line:
You need to execute .../var/neo4j/scripts/graph/restore_metadata.cypher. To execute the file use cypher-shell command with parameter `graph`
If so, run the following command to restore the metadata:
cat $A1BASEDIR/var/neo4j/scripts/graph/restore_metadata.cypher | A1_JAVA_HOME=$A1BASEDIR/vendor/java NEO4J_PASSWORD=$($A1BASEDIR/bin/JWT -a neo4j -s neo4j) $A1BASEDIR/vendor/neo4j/bin/cypher-shell -a neo4j+ssc://$(hostname):7687 -u neo4j -d system --param "database => 'graph'"
If not, continue.
-
Connect to Graph as the admin user, switch to the system DB, and create the Graph database:
a1neo4jroot :use system CREATE DATABASE GRAPH; :exit
Note:
If the Graph database already exists, a warning message appears. Ignore it and continue.
-
Switch back to the root user:
su - root
-
If this server does not have the Presentation.Internal role, skip to the next step.
If it has the Presentation.Internal role, start the web server:
systemctl start assure1-web
-
-
In the Unified Assurance UI:
-
From the Configuration menu, select Broker Control, then Services.
-
Select the Neo4j service for the Linux 7 secondary database server.
The service details appear.
-
Set Status to Disabled and click Submit.
In the All Services table, the value in the Status column for the service is updated to Disabled.
-
In the All Services table, click Stop.
In the All Services table, the value in the State column for the service is updated to Stopped.
-
-
On the Linux 8 primary database server:
If this server does not have the Presentation.Internal role, skip this step.
If it has the Presentation.Internal role, stop the web server:
systemctl stop assure1-web
-
-
Proceed to Updating the Unified Assurance Package.
Post RPM Installation Steps for Secondary Database Servers
The following steps apply to secondary database servers in redundant environments.
Perform these steps if either of the following is true about the server:
-
Does not have the Presentation.Internal role
-
Has the Database.Event role and you performed the optional steps in Preparing Primary Database.Event Servers
Skip these steps if both of the following are true about the server:
-
Has the Presentation.Internal role
-
Does not have the Database.Event role, or has the Database.Event role, but you did not perform the optional steps in Preparing Primary Database.Event Servers
To perform the post RPM installation steps for secondary database servers:
-
If your new Linux 8 secondary database server also has the Presentation.Internal role, skip to the next step.
If it does not also have the Presentation.Internal role:
-
Generate new SSL certificates:
$A1BASEDIR/bin/CreateSSLCertificate --Type Host -c $OL8FQDN $A1BASEDIR/bin/CreateSSLCertificate --Type SSH $A1BASEDIR/bin/CreateSSLCertificate --Type User -c assure1 $A1BASEDIR/bin/CreateSSLCertificate --Type User -c root $A1BASEDIR/bin/CreateSSLCertificate --Type User -c api $A1BASEDIR/bin/CreateSSLCertificate --Type User -c kibana $A1BASEDIR/bin/CreateSSLCertificate --Type User -c repl
-
Copy the following Unified Assurance systemd scripts from the /etc/systemd/system/ directory on the original Linux 7 server to the /etc/systemd/system/ directory on the Linux 8 server:
-
assure1-db.service
-
assure1-bus.service
-
-
Reload the systemctl daemon:
systemctl daemon-reload
-
-
If your Linux 8 secondary database does not have the Database.Event role, or it does, but you did not perform the optional steps in Preparing Secondary Database.Event Servers, skip to the next step.
If it has the Database.Event role, and you performed the optional steps in Preparing Secondary Database.Event Servers, synchronize the new Linux 8 secondary database server's MySQL database with the new Linux 8 primary database server's database:
-
Start the database.
systemctl start assure1-db
-
On the Linux 8 secondary database server's MySQL Event database, run one of the following sets of commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
STOP SLAVE; RESET SLAVE; CHANGE MASTER TO MASTER_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', MASTER_LOG_FILE='<Sec_L7_DB_Relay_Master_Log_File>', MASTER_LOG_POS=<Sec_L7_DB_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary database server.
-
<Sec_L7_DB_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 7 secondary database server.
-
<Sec_L7_DB_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 7 secondary database server.
-
-
For MySQL versions 8.4.0 and greater:
STOP REPLICA; RESET REPLICA; CHANGE REPLICATION SOURCE TO SOURCE_HOST='<PRIMARY-LINUX8-SERVER-FQDN>', SOURCE_LOG_FILE='<Relay_Source_Log_File>', SOURCE_LOG_POS=<Exec_Source_Log_Pos>; START REPLICA;
where:
-
<PRIMARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 primary database server.
-
<Sec_L7_DB_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 7 secondary database server.
-
<Sec_L7_DB_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 7 secondary database server.
-
-
-
On the Linux 8 primary database server's MySQL Event database, run one of the following sets of commands as the root MySQL user:
-
For MySQL versions less than 8.4.0 (including MariaDB, if you are upgrading from version 5):
CHANGE MASTER TO MASTER_HOST='<SECONDARY-LINUX8-SERVER-FQDN>', MASTER_LOG_FILE='<Pri_L8_DB_Relay_Master_Log_File>', MASTER_LOG_POS=<Pri_L8_DB_Exec_Master_Log_Pos>; START SLAVE;
where:
-
<SECONDARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 secondary database server.
-
<Pri_L8_DB_Relay_Master_Log_File> is the Relay_Master_Log_File value saved earlier for the Linux 8 primary database server.
-
<Pri_L8_DB_Exec_Master_Log_Pos> is the Exec_Master_Log_Pos value saved earlier for the Linux 8 primary database server.
-
-
For MySQL versions 8.4.0 and greater:
CHANGE REPLICATION SOURCE TO SOURCE_HOST='<SECONDARY-LINUX8-SERVER-FQDN>', SOURCE_LOG_FILE='<Pri_L8_DB_Relay_Source_Log_File>', SOURCE_LOG_POS=<Pri_L8_DB_Exec_Source_Log_Pos>; START REPLICA;
where:
-
<SECONDARY-LINUX8-SERVER-FQDN> is the FQDN of the new Linux 8 secondary database server.
-
<Pri_L8_DB_Relay_Source_Log_File> is the Relay_Source_Log_File value saved earlier for the Linux 8 primary database server.
-
<Pri_L8_DB_Exec_Source_Log_Pos> is the Exec_Source_Log_Pos value saved earlier for the Linux 8 primary database server.
-
-
-
-
Proceed to Updating the Unified Assurance Package.
Post RPM Installation Steps for Collection Servers
The following steps apply to servers with the Collection role that do not also have the Presentation.Internal or any Database roles.
If your collection server also has any Database or Presentation roles, you already performed these steps and can skip them.
-
On the new Linux 8 collection server, generate new SSL certificates:
$A1BASEDIR/bin/CreateSSLCertificate --Type Host -c $OL8FQDN $A1BASEDIR/bin/CreateSSLCertificate --Type SSH $A1BASEDIR/bin/CreateSSLCertificate --Type User -c assure1 $A1BASEDIR/bin/CreateSSLCertificate --Type User -c root $A1BASEDIR/bin/CreateSSLCertificate --Type User -c api $A1BASEDIR/bin/CreateSSLCertificate --Type User -c kibana $A1BASEDIR/bin/CreateSSLCertificate --Type User -c repl
-
Proceed to Updating the Unified Assurance Package.
Post RPM Installation Steps for Presentation.External Servers
The following steps apply to servers with the Presentation.External role. These servers should not have any other roles.
-
Create an environment variable for the Linux 8 external presentation server's web FQDN:
export EXTWEBFQDN=<External_Web_FQDN>
-
Generate new SSL certificates:
$A1BASEDIR/bin/CreateSSLCertificate --Type Host -c $OL8FQDN $A1BASEDIR/bin/CreateSSLCertificate --Type SSH $A1BASEDIR/bin/CreateSSLCertificate --Type User -c assure1 $A1BASEDIR/bin/CreateSSLCertificate --Type User -c root $A1BASEDIR/bin/CreateSSLCertificate --Type User -c api $A1BASEDIR/bin/CreateSSLCertificate --Type User -c kibana $A1BASEDIR/bin/CreateSSLCertificate --Type User -c repl $A1BASEDIR/bin/CreateSSLCertificate --Type Web -c $EXTWEBFQDN
-
Copy the assure1-web.service systemd script from the /etc/systemd/system/ directory on the original Linux 7 server to the /etc/systemd/system/ directory on the Linux 8 server.
-
Reload the systemctl daemon:
systemctl daemon-reload
-
Proceed to Updating the Unified Assurance Package.
Updating the Unified Assurance Package
The following steps apply to all servers.
After completing all post RPM installation steps relevant to the roles on the server:
-
Remove the old Linux 7 packages from the $A1BASEDIR/distrib/packages directory:
rm -f $A1BASEDIR/distrib/packages/*
-
Start the Broker:
systemctl start assure1-broker
-
Verify that the Broker service has started:
systemctl status assure1-broker
-
Remove the old Linux 7 ssl and crypto libraries:
rm -f $A1BASEDIR/lib/libcrypto.s* $A1BASEDIR/lib/libssl.s*
-
If this server does not have the Database.Graph role, skip to the next step.
If it has the Database.Graph role:
-
Connect to the server from a separate shell.
-
Set the A1_JAVA_HOME environment variable:
export A1_JAVA_HOME=$A1BASEDIR/vendor/java
-
Start Neo4j by running the following command:
$A1BASEDIR/vendor/neo4j/bin/neo4j_wrapper
-
Return to the previous shell.
-
-
Update the Unified Assurance package:
$A1BASEDIR/bin/Package update --depot $FILESDIR
On servers with the Database.Historical role, Package update also runs AnalyticsWizard to install both Elasticsearch and OpenSearch to facilitate migration. If you did not allocate enough memory for both before upgrading, Package update fails. To resolve this:
-
In the $A1BASEDIR/tmp/elasticsearch/custom-env file, update the value of the ES_JAVA_OPTS parameter to allocate enough memory. It must be at least 2GB.
-
Re-run Package update:
$A1BASEDIR/bin/Package update --depot $FILESDIR
The process picks up where it left off.
-
-
If this server does not have a Presentation role (internal or external), skip to the next step.
If it has a Presentation role, start the web server:
systemctl start assure1-web
-
Remove the "InstallIncomplete" entry from Assure1.conf:
sed -i '/InstallIncomplete/c\' $A1BASEDIR/etc/Assure1.conf
-
For servers with the following roles, proceed to post package update steps:
-
Post Package Update Steps for Secondary Database.Graph Servers
-
Post Package Update Steps for Cluster.Master and Cluster.Worker Servers
-
Secondary servers in redundant environments with the Presentation.Internal, Database.Event, or Database.Metric role: Post Package Update Steps for Secondary Servers
If none of the post package update steps apply, and all servers are not upgraded, start upgrading the next server. If all servers are upgraded, proceed to Post-Upgrade Tasks.
Post Package Update Steps
The post package update steps for the server depend on the roles installed on it. If you have multiple roles on your server, you may have to refer to multiple post-update step sections.
Post Package Update Steps for Database.Historical Servers
The following steps apply to all Database.Historical servers, including primary and secondary servers, and servers in non-redundant environments.
On your new Linux 8 database server with the Database.Historical role:
-
Copy the BundleCA.crt, Host.crt and Host.key files to your OpenSearch certs directory:
cp $A1BASEDIR/etc/ssl/BundleCA.crt $A1BASEDIR/vendor/opensearch/config/certs/ cp $A1BASEDIR/etc/ssl/Host.crt $A1BASEDIR/vendor/opensearch/config/certs/ cp $A1BASEDIR/etc/ssl/Host.key $A1BASEDIR/vendor/opensearch/config/certs/ chown assure1:assure1 $A1BASEDIR/vendor/opensearch/config/certs/*
-
When you update the package, it also migrates Elasticsearch objects to OpenSearch. You can monitor or review the migration progress by tailing the following log file:
$A1BASEDIR/logs/MigrateHistoricalObjects.log
For any failures, you can find the Elasticsearch export and OpenSearch import files in the following directory:
$A1BASEDIR/tmp/migration/
See About Migration in Unified Assurance Migration Guide for complete information about the migration process.
-
If this server:
-
Is a secondary server with the Database.Graph role, proceed to Post Package Update Steps for Secondary Database.Graph Servers.
-
Is a secondary server with the Presentation.Internal, Database.Metric, or Database.Event role, proceed to Post Package Update Steps for Secondary Servers.
-
Has the Cluster.Master or Cluster.Worker role, proceed to Post Package Update Steps for Cluster.Master and Cluster.Worker Servers.
If no other post package update tasks apply, and all servers are not upgraded, start upgrading the next server. If all servers are upgraded, proceed to Post-Upgrade Tasks.
-
Note:
If your database server has only the Database.Historical role, you do not need to perform the steps in Post Package Update Steps for Secondary Servers. Redundant Historical databases are not aware of each other in the same way as other databases. See Historical Database Scalability and Redundancy in Unified Assurance Concepts for details.
Post Package Update Steps for Secondary Database.Graph Servers
The following steps apply when both of the following are true:
-
This is the secondary server in a redundant environment
-
You performed the optional steps in Preparing Primary Database.Graph Servers for the primary server.
This procedure brings the Neo4j database on the Linux 8 secondary database server up to date with the primary, and enable streaming between them. It involves steps on both the primary and secondary server database server.
-
On the Linux 8 primary database server:
-
Switch to the assure1 user:
su - assure1
-
Set the Graph database to READ ONLY to enable backing up the schema and data:
a1neo4jroot ALTER DATABASE graph SET ACCESS READ ONLY; :exit
-
Create the $A1BASEDIR environment variable for <UA_home>, replacing <UA_home> with the appropriate value. This is usually opt/assure1:
export A1BASEDIR=<UA_home>
-
Back up the Graph database:
mkdir $A1BASEDIR/tmp/neo4j-dump NEO4J_CONF=$A1BASEDIR/etc/neo4j/ $A1BASEDIR/vendor/neo4j/bin/neo4j-admin database backup --to-path=$A1BASEDIR/tmp/neo4j-dump --include-metadata=all --type=full graph
-
-
On the Linux 8 secondary database server:
-
Switch to the assure1 user:
su - assure1
-
Connect to Neo4j and drop the Graph database:
a1neo4jroot DROP DATABASE Graph; :exit
-
Create the $A1BASEDIR environment variable for <UA_home>, replacing <UA_home> with the appropriate value. This is usually opt/assure1:
export A1BASEDIR=<UA_home>
-
Copy the backup files from the Linux 8 primary database server onto the Linux 8 secondary database server.
-
Restore the Graph database from the backup file:
sudo chown -R assure1:assure1 $A1BASEDIR/tmp/neo4j-dump NEO4J_CONF=$A1BASEDIR/etc/neo4j/ $A1BASEDIR/vendor/neo4j/bin/neo4j-admin database restore --from-path=$A1BASEDIR/tmp/neo4j-dump/<backup-file-name> graph
where <backup-file-name> is the name of your Graph database backup file.
-
Check if the output of the restore command contains the following line:
You need to execute .../var/neo4j/scripts/graph/restore_metadata.cypher. To execute the file use cypher-shell command with parameter `graph`
If so, run the following command to restore the metadata:
cat $A1BASEDIR/var/neo4j/scripts/graph/restore_metadata.cypher | A1_JAVA_HOME=$A1BASEDIR/vendor/java NEO4J_PASSWORD=$($A1BASEDIR/bin/JWT -a neo4j -s neo4j) $A1BASEDIR/vendor/neo4j/bin/cypher-shell -a neo4j+ssc://$(hostname):7687 -u neo4j -d system --param "database => 'graph'"
If not, continue.
-
Connect to Neo4j as the admin user, switch to the system database, and create the Graph database:
a1neo4jroot :use system CREATE DATABASE GRAPH; :exit
Note:
If the Graph database already exists, a warning message appears. Ignore it and continue.
-
-
On both the primary and Linux 8 secondary database servers, in the $A1BASEDIR/etc/neo4j/streams.conf file, change the value of the streams.source.enabled property to true. For example:
streams.source.enabled=true
-
In the Unified Assurance UI:
-
From the Configuration menu, select Broker Control, then Services.
-
Select the Neo4j service for the Linux 8 secondary database server.
The service details appear.
-
Set Status to Enabled and click Submit.
-
Select the Neo4j Kafka Connect service for the Linux 8 primary database server.
-
Set Status to Enabled and click Submit.
-
Select the Neo4j Kafka Connect service for the Linux 8 secondary database server.
-
Set Status to Enabled and click Submit.
-
-
On the Linux 8 primary database server, set the Graph database access back to READ WRITE:
a1neo4jroot ALTER DATABASE graph SET ACCESS READ WRITE; :exit
-
If this server has the Cluster.Master or Cluster.Worker role, proceed to Post Package Update Steps for Cluster.Master and Cluster.Worker Servers.
If it does not, proceed to Post Package Update Steps for Secondary Servers.
Post Package Update Steps for Cluster.Master and Cluster.Worker Servers
The following steps apply to all servers with Cluster roles, including primary and secondary servers, and servers in non-redundant environments.
-
Recreate your cluster and deploy microservices to it as described in Microservice Cluster Setup in Unified Assurance Implementation Guide.
-
If this is a secondary server in a redundant environment with any of the following roles, proceed to Post Package Update Steps for Secondary Servers:
-
Presentation.Internal (will also have Database.Assure1)
-
Database.Event
-
Database.Graph
-
Database.Metric
If is not a secondary server with any of those roles, and all servers are not upgraded, start upgrading the next server.
If all servers are upgraded, proceed to Post-Upgrade Tasks.
-
Post Package Update Steps for Secondary Servers
After updating the secondary server in a redundant pair with any of the following roles, run RedundancyWizard:
-
Presentation.Internal (these will also have Database.Assure1)
-
Database.Event
-
Database.Graph
-
Database.Metric
You do not need to run RedundancyWizard for external presentation servers, or for the Collection role or Database.Historical role, if they do not also have any of the roles above.
To run RedundancyWizard:
-
On the secondary server, run the following command as root:
$A1BASEDIR/bin/redundancy/RedundancyWizard
-
When prompted whether to proceed with configuring local server as a redundant partner, verify that the correct primary server is listed, enter y, then press Enter.
-
Wait for the listener to activate.
-
On the primary server, run the following command as root:
$A1BASEDIR/bin/redundancy/RedundancyWizard
-
When shown the list of servers that will be used, verify that the correct servers and roles are listed.
-
When prompted Is this correct?, enter y then press Enter.
-
When prompted to allow the script to do various things (configure redundancy, perform database synchronization), enter y then press Enter.
-
When prompted to press enter after starting the script on the redundant server, press Enter. (You started the script in step 1.)
-
If this is a database server, when prompted to proceed with restarting the database, enter y, then press Enter.
-
Wait for the wizard to finish synchronizing the data.
-
If all servers are not upgraded, start upgrading the next server.
If all servers are upgraded, proceed to Post-Upgrade Tasks.
Post-Upgrade Tasks
After you have finished upgrading all of your servers:
-
If you were using keepalived and stopped it during the upgrade, reinstall and configure it on your new Linux 8 system.
-
Copy any custom Docker images on your Linux 7 servers to your Linux 8 servers using the docker save and docker load commands:
-
On the Linux 7 server, run docker save:
docker save -o /<docker_backup_directory>/<docker_image_name>.tgz <docker_image_name>:<tag>
In the command:
-
<docker_backup_directory> is the directory where you want to save the backup.
-
<docker_image_name> is the name for the image.
-
<tag> is the tag to use to refer to the image.
-
-
Copy <docker_image_name>.tgz to your Linux 8 server.
-
On the Linux 8 server, run docker load:
docker load -i /<docker_backup_directory>/<docker_image_name>.tgz
See the Docker documentation for full descriptions of Docker commands.
-
-
Perform any relevant Post-Update Tasks, including migrating your Historical database from Elasticsearch to OpenSearch and detaching and rejoining microservice clusters.
Skip the task for redeploying microservices. You already did this for each server during the upgrade process.
The forklift upgrade is complete.