Upgrade from RHEL 7.x to RHEL 8.x
The instruction is intended for users who have the Work.AI platform installed in RHEL 7.x and intend to move to RHEL 8.x.
To upgrade from RHEL 7.x to RHEL 8.x, follow the steps below:
Create two Linux boxes with RHEL 8.5.
Migrate or remount the following storage volumes to the newly created Linux boxes with RHEL 8.5:
Volumes attached to respective Linux hosts:
/opt/workfusion(Master)/opt/workfusion/zookeeper/datalog(Master)/opt/workfusion(Agent)
The
/opt/workfusion/vds-datavolumes attached to both the Agent and Master.
noteThe application storage must be other than the Linux root volume. Otherwise, upgrading from 7.x to 8.x is not applicable. The storage file system can be dependent upon which type of service you are using—on-prem or Cloud setup.
Switch the internal IP of a Linux host from RHEL 7.x to RHEL 8.x.
To switch the internal IP of a Linux host on an EC2 instance or Virtual Machine to another EC2 instance or Virtual Machine, follow these steps:
For an EC2 instance, in the network interface, make sure that Enable Termination Protection is disabled. For Virtual Machines, disable any VM termination from VMware if enabled.
Unattach the Network interface IP from the Virtual Machine whose internal IP you want to switch.
In the AWS service, since you can’t update the primary IP address on the current instance, create a Snapshot and then terminate the EC2 instance whose internal IP you want to switch.
Attach the Elastic/Network Interface (ENI) to the new EC2 instance or Virtual Machine where you want to switch the internal IP:
Click Actions, select Networking, then click Attach network interface.
Choose the network interface you just created from the list of available interfaces.
Select the device index to which you want to attach the network interface and click Attach.
Start the new EC2 instance or Virtual Machine to which the ENI is attached.
To complete the upgrade, do the following:
Perform the Kerberos step (on Masters only).
cd /opt/workfusion/wf_installer
mkdir -pv kerberos
chmod 0777 kerberos
cd /opt/workfusion/wf_installer/kerberos
rpm2cpio /opt/workfusion/wf_installer/sources/krb5-libs-*.el8.x86_64.rpm | cpio -idmv >/dev/null 2>&1
rpm2cpio /opt/workfusion/wf_installer/sources/krb5-workstation-*.el8.x86_64.rpm | cpio -idmv >/dev/null 2>&1
rpm2cpio /opt/workfusion/wf_installer/sources/libkadm5-*.el8.x86_64.rpm | cpio -idmv >/dev/null 2>&1Perform the OpenSSL step (on Masters only).
cd /opt/workfusion/wf_installer
mkdir -pv openssl
chmod 0777 openssl
cd /opt/workfusion/wf_installer/openssl
rpm2cpio /opt/workfusion/wf_installer/sources/compat-openssl10-*.el8.x86_64.rpm | cpio -idmv >/dev/null 2>&1
rpm2cpio /opt/workfusion/wf_installer/sources/make-*.el8.x86_64.rpm | cpio -idmv >/dev/null 2>&1
rpm2cpio /opt/workfusion/wf_installer/sources/openssl-1*.el8*.rpm | cpio -idmv >/dev/null 2>&1
export PATH=""/opt/workfusion/wf_installer/openssl/usr/bin:${PATH}""
export LD_LIBRARY_PATH=""/opt/workfusion/wf_installer/openssl/usr/lib:/opt/workfusion/wf_installer/openssl/usr/lib64:${LD_LIBRARY_PATH}""Perform the SQL step (on Masters only).
cd /opt/workfusion/wf_installer
mkdir -pv sqlcmd
chmod 0777 sqlcmd
cd /opt/workfusion/wf_installer/sqlcmd
rpm2cpio /opt/workfusion/wf_installer/sources/mssql-tools-*.rpm | cpio -idmv >/dev/null 2>&1
rpm2cpio /opt/workfusion/wf_installer/sources/msodbcsql17-*.rpm | cpio -idmv >/dev/null 2>&1
rpm2cpio /opt/workfusion/wf_installer/sources/unixODBC-*.rpm | cpio -idmv >/dev/null 2>&1
export PATH=""/opt/workfusion/wf_installer/sqlcmd/opt/mssql-tools/bin:${PATH}""
export LD_LIBRARY_PATH=""/opt/workfusion/wf_installer/sqlcmd/usr/lib64:${LD_LIBRARY_PATH}""Copy the HA proxy binary (on Masters only).
cp -r /opt/workfusion/wf_installer/sources/haproxy-2.6.0-rhel8-wf-bundled.bin /opt/workfusion/haproxy/bin/haproxy
/usr/sbin/setcap CAP_NET_BIND_SERVICE=+eip /opt/workfusion/haproxy/bin/haproxy
#Allow haproxy binary to run under unprivileged user on privileged ports (below 1025):Copy Cyrus packages into respective directories on both Masters and Agents.
cp -r /opt/workfusion/wf_installer/sources/cyrus_sasl_md5_rhel8 /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/cyrus_sasl_scram_rhel8 /opt/workfusion/tmp_sources/
cd /opt/workfusion/tmp_sources/
rpm -Uvh --nodeps cyrus-sasl-md5-2.1.27-6.el8_5.x86_64.rpm
rpm -Uvh --nodeps cyrus-sasl-scram-2.1.27-6.el8_5.x86_64.rpmCreate and enable a swap file (on Masters only).
dd if=/dev/zero of=/wf_ram.swap bs=1M count=16000
mkswap /wf_ram.swap
echo "/wf_ram.swap none swap sw 0 0" >> /etc/fstab
swapon -a
swapon -s (verify that swap is enabled)Set
sysctlparameters on all Linux servers as described in the Run additional root steps | Privileged users can't run third-party script section.Configure
sysctlparameters for Elasticsearch (on Masters only).cat << EOF > /etc/sysctl.d/elasticsearch.conf
vm.max_map_count=262144
EOF
sysctl -p /etc/sysctl.d/elasticsearch.confCopy RPM packages into respective directories (on Masters only).
cp -r /opt/workfusion/wf_installer/sources/zip-3.0-23.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/unzip-6.0-43.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/unzip-6.0-43.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/sshpass-1.06-9.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/libicu-60.3-2.el8_1.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/logrotate-3.14.0-4.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/openssl-libs-1.1.1k-6.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/make-4.2.1-10.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/compat-openssl10-1.0.2o-3.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cp -r /opt/workfusion/wf_installer/sources/socat-1.7.4.1-1.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cd /opt/workfusion/rpms
rpm2cpio '/opt/workfusion/tmp_sources/zip-3.0-23.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/unzip-6.0-43.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/unzip-6.0-43.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/sshpass-1.06-9.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/libicu-60.3-2.el8_1.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/logrotate-3.14.0-4.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/openssl-libs-1.1.1k-6.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/make-4.2.1-10.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/compat-openssl10-1.0.2o-3.el8.x86_64.rpm' | cpio -idmv
rpm2cpio '/opt/workfusion/tmp_sources/socat-1.7.4.1-1.el8.x86_64.rpm' | cpio -idmvCopy RPM packages for Marathon (on Masters only).
cp -r /opt/workfusion/wf_installer/sources/systemd-marathon-1.7.50.661979ed2-SNAPSHOT.noarch.rpm /opt/workfusion/tmp_sources
cd /opt/workfusion/marathon
rpm2cpio '/opt/workfusion/tmp_sources/systemd-marathon-1.7.50.661979ed2-SNAPSHOT.noarch.rpm' | cpio -idmvCopy RPM packages for RabbitMQ (on Masters only).
cp -r /opt/workfusion/wf_installer/sources/erlang-24.3.4.4-1.el8.x86_64.rpm /opt/workfusion/tmp_sources/
cd /opt/workfusion/erlang
rpm2cpio '/opt/workfusion/wf_installer/sources/erlang-24.3.4.4-1.el8.x86_64.rpm' | cpio -idmv
cp -r /opt/workfusion/wf_installer/sources/ncurses-compat-libs-6.1-7.20180224.el8.x86_64.rpm /opt/workfusion/tmp_sources/