This topic describes the recommended procedure for upgrading an existing Control Plane-based Omnissa Access deployment. It covers upgrading operating system packages, the Control Plane asset bundle, Access services, and the bootstrap machine.
Important: These upgrade instructions are not applicable for upgrading versions 24.12 or earlier. This method is planned for deprecation. It is suggested to use these instructions Upgrading Omnissa Access Using the Access Wizard for upgrading Omnissa Access.
Prerequisites
- Run all commands from the bootstrap machine, unless otherwise specified.
- The existing deployment must be healthy. Run
wso healthcheckandwso access check-service-readinessto confirm system health before you begin. - The offline asset bundle for the target release is downloaded and available in the bootstrap machine.
- The OS security RPM is downloaded and available in the bootstrap machine, if this upgrade includes OS package upgrades.
Upgrade Workflow
An upgrade consists of the following phases:
- Upgrade Phase 1 - Download and configure the local repository for operating system upgrades (only when operating system package upgrades are required).
- Upgrade Phase 2 - Download and configure the new Control Plane asset bundle.
- Upgrade Phase 3 - Upgrade the Control Plane, optionally including OS package upgrades.
- Upgrade Phase 4 - Upgrade Access services and validate services status.
- Upgrade Phase 5 - If Upgrade Phase 1 was applicable, upgrade the bootstrap machine operating system.
Regardless of which phase you start from, complete the Prep section below first.
Preparation - Export Shell Variables
Set the following variables in your shell before you begin. Later phases depend on them, including phases you might start from directly if you skip Upgrade Phase 1.
export BOOTSTRAP_IP=<bootstrap_ip>
export WORKDIR=<cluster_dir>
export PATCH_DIR=<patch_dir>
Upgrade Phase 1 - Configure the Local Repository for OS Upgrades
Note: If this upgrade does not include operating system package upgrades, skip to Upgrade Phase 2 - Configure the New Asset Bundle.
Procedure:
-
Download or copy security RPMs to bootstrap node, using one of the following options:
-
Option 1 -
curlfrom Artifactorycurl -L -o /root/security-rpms-with-portable-script.tar.gz \ "<artifactory-path-to-security-pkg-bundle>" -
Option 2 -
scpfrom local machine to bootstrap nodeFrom local machine:
scp security-rpms-with-portable-script.tar.gz configuser@${BOOTSTRAP_IP}:/home/configuserOn the bootstrap node:
mv /home/configuser/security-rpms-with-portable-script.tar.gz /root/Note: The above URL is an example. Use the Artifactory path for your target OS security release.
-
-
Update bootstrap localrepo
-
Extract the security update bundle on the bootstrap node.
tar -xvf /root/security-rpms-with-portable-script.tar.gz -C /root/Note: The both must provide both:
security-rpms.tar.gzcp-alma-portable-fixes-v1.sh
-
Apply the AlmaLinux
portablefixes on the bootstrap node before refreshing the local repository. These fixes prepare the bootstrap environment for the portable OS security update workflow.sh /root/cp-alma-portable-fixes-v1.sh -
Refresh the bootstrap local repository with the extracted security RPM archive.
sh /usr/local/sbin/update-dnf-repo.sh /root/security-rpms.tar.gz
-
-
Set environment variables
export WORKDIR="/root/cp-cluster" export BOOTSTRAP_IP="<bootstrap-ip>" # reachable from cluster nodes export TARGETS="general_compute_linux:general_compute_access_linux" export ASSET_DIR="${WORKDIR}/assets-2607" # adjust version folder name -
Enable localrepo on bootstrap node and stage CA for ansible copy
cd "${WORKDIR}" sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/localrepo.repo mkdir -p "${WORKDIR}/access/localrepo_ca_path" cp -f /etc/nginx/localrepo-certs/root-ca.crt "${WORKDIR}/access/localrepo_ca_path/root-ca.crt" if [ -f /root/cp-alma-portable-fixes-v1.sh ]; then cp -f /root/cp-alma-portable-fixes-v1.sh "${WORKDIR}/access/cp-alma-portable-fixes-v1.sh" fi if [ -f /root/remove-old-ova-rpms.sh ]; then cp -f /root/remove-old-ova-rpms.sh "${WORKDIR}/access/remove-old-ova-rpms.sh" fi if [ -s /root/removed-packages.txt ]; then cp -f /root/removed-packages.txt "${WORKDIR}/access/removed-packages.txt" fi -
Push HTTPS localrepo config to cluster nodes
Run from
${WORKDIR}on bootstrap node (requireswso control-plane ansible/ inventory groupsgeneral_compute_linuxandgeneral_compute_access_linux):-
Create the local repository certificate directory on each target node.
wso control-plane ansible -- -b -m file \ -a "path=/etc/nginx/localrepo-certs state=directory owner=root group=root mode=0755" \ "${TARGETS}" -
Copy the bootstrap local repository root CA to each target node. This allows the target nodes to trust the bootstrap-hosted HTTPS local repository.
wso control-plane ansible -- -b -m copy \ -a "src=/workdir/access/localrepo_ca_path/root-ca.crt dest=/etc/nginx/localrepo-certs/root-ca.crt owner=root group=root mode=0644 force=yes" \ "${TARGETS}" -
Configure each target node to use the bootstrap HTTPS local repository. The repository is enabled with certificate validation using the copied root CA.
wso control-plane ansible -- -b -m ini_file \ -a "path=/etc/yum.repos.d/localrepo.repo section=localrepo option=baseurl value=https://${BOOTSTRAP_IP}/" \ "${TARGETS}" wso control-plane ansible -- -b -m ini_file \ -a "path=/etc/yum.repos.d/localrepo.repo section=localrepo option=sslverify value=1" \ "${TARGETS}" wso control-plane ansible -- -b -m ini_file \ -a "path=/etc/yum.repos.d/localrepo.repo section=localrepo option=sslcacert value=/etc/nginx/localrepo-certs/root-ca.crt" \ "${TARGETS}" wso control-plane ansible -- -b -m ini_file \ -a "path=/etc/yum.repos.d/localrepo.repo section=localrepo option=enabled value=1" \ "${TARGETS}" -
Rebuild the DNF cache from the local repository only. Repeat this step whenever new RPMs are added to
/opt/localrepoon the bootstrap node.wso control-plane ansible -- -b -m shell \ -a "dnf clean all && rm -rf /var/cache/dnf/* && dnf --refresh makecache --disablerepo='*' --enablerepo=localrepo && dnf --refresh --disablerepo='*' --enablerepo=localrepo list available" \ "${TARGETS}" -
Copy scripts to
/tmp(portablerequired;remove-old-ovaoptional).if [ -f "${WORKDIR}/access/cp-alma-portable-fixes-v1.sh" ]; then wso control-plane ansible -- -b -m copy \ -a "src=/workdir/access/cp-alma-portable-fixes-v1.sh dest=/tmp/cp-alma-portable-fixes-v1.sh owner=root group=root mode=0755" \ "${TARGETS}" if [ -f "${WORKDIR}/access/remove-old-ova-rpms.sh" ]; then wso control-plane ansible -- -b -m copy \ -a "src=/workdir/access/remove-old-ova-rpms.sh dest=/tmp/remove-old-ova-rpms.sh owner=root group=root mode=0755" \ "${TARGETS}" fi if [ -f "${WORKDIR}/access/removed-packages.txt" ]; then wso control-plane ansible -- -b -m copy \ -a "src=/workdir/access/removed-packages.txt dest=/tmp/removed-packages.txt owner=root group=root mode=0755" \ "${TARGETS}" fi fi -
Run
portablefixes only (it looks forremove-old-ova-rpms.shon its own).wso control-plane ansible -- -b -m shell \ -a "bash /tmp/cp-alma-portable-fixes-v1.sh" \ "${TARGETS}"
Note: Verify cluster nodes can see expected security packages before proceeding.
-
Upgrade Phase 2 - Configure the New Asset Bundle
Procedure:
-
Create a directory for the new asset bundle and download it:
mkdir -p ${ASSET_DIR} cd ${ASSET_DIR} # Copy the target release asset bundle to this location ${ASSET_DIR}Important: Download the asset bundle that corresponds to your target release. Do not reuse a bundle from an older release.
-
Extract the bundle and add the CLI to your path:
# Ensure that you are in ${ASSET_DIR} before you unzip the asset bundle unzip asset-bundle.zip cp cli-distribution/linux/wso /usr/bin/ cp: overwrite '/usr/bin/wso'? y # It will prompt for overwrite wso eula Do you agree to these terms ? [y/n]: y -
Configure the CLI to use the new bundle:
cd ${WORKDIR} wso configure ${ASSET_DIR}
Upgrade Phase 3 - Upgrade the Control Plane
Procedure:
-
Deploy the Control Plane with the new asset bundle. Include
-uif this upgrade also upgrades OS packages on the cluster nodes:# To upgrade without OS packages upgrade nohup wso cp deploy & # To upgrade with OS packages upgrade nohup wso cp deploy -u &This step will take some time to complete.
-
Verify the deployment:
./verify-os-update.sh wso version wso healthcheck -
If you deployed with
-u, unseal the cluster:Note: You can skip this step if you have deployed without
-uwso cp unsealThis step will take some time to complete.
Upgrade Phase 4 - Upgrade Access Services
Procedure:
-
Reconcile the Access configuration for the upgrade:
cd ${WORKDIR} wso access update-config set -
If a
servicesdirectory exists in the working directory from a prior patch or upgrade, use the command below so the deployment uses the images from the new bundle instead:mv ${WORKDIR}/services ${WORKDIR}/services.bk -
If using a proxy, settings can be tested, prior to being applied:
wso access proxy test unauthenticated wso access proxy test authenticated -
If using a proxy, settings can be persisted, after testing:
wso access proxy configure unauthenticated wso access proxy configure authenticated wso access config set --config_key IPS_TO_IGNORE_IN_XFFHEADER --config_value <list of addresses>- Required parameters:
--proxy_hostand--proxy_port - Optional parameters:
--non_proxy_host - When using authentication:
proxy_userand--proxy_password
- Required parameters:
-
If using a proxy, current settings can be displayed:
wso access proxy get -
Deploy all Access services:
nohup wso services deploy --type full & -
Check the health of the services:
wso access check-service-readiness -
After all services report healthy, exit upgrade mode:
wso access update-config reset -
Clean up assets from the previous release:
wso cp reset-assets
Upgrade Phase 5 - Upgrade the Bootstrap Machine Operating System
Perform this phase only after the cluster upgrade has completed successfully. You can perform your cluster operations once you complete Upgrade Phase 4.
For this phase, choose either to perform in-place upgrade or to replace the machine.
In-Place Upgrade
-
Upgrade packages and reboot the bootstrap machine:
dnf update -y reboot -
After the bootstrap machine comes back online, validate the cluster:
cd /root/cp-cluster wso healthcheck wso access check-service-readiness
Replace the Machine
Use this option when you want to deploy a new bootstrap machine from the latest Omnissa OVA instead of patching the existing bootstrap machine in place. This approach is recommended for major OS upgrades.
Step 1 - Create a Migration Package from the Existing Bootstrap Machine
cd /opt/wss/<cluster_name>
tar czpvf /opt/wss/<cluster_name>-migration-$(date +%Y%m%d).tar.gz \
profile.yml \
logging \
telegraf_plugin \
ansible_extra_vars.yml \
access \
cp-cluster \
additional_env_vars.env \
deploy_services.log \
deployment-config.yml
Step 2 - Copy the Migration Package to the New Bootstrap Machine
scp /opt/wss/<cluster_name>-migration-*.tar.gz configuser@<new-bootstrap-machine>:/home/configuser/
Step 3 - Restore the Configuration on the New Bootstrap Machine
mkdir -p /opt/wss/<cluster_name>
cd /opt/wss/<cluster_name>
tar xzpvf /home/configuser/cp-cluster-migration-*.tar.gz
The new bootstrap machine now contains the same deployment configuration as the previous bootstrap machine.
Step 4 - Configure the Asset Bundle
Copy the asset bundle used with the existing bootstrap machine to the new bootstrap machine and then execute the steps that follow.
mkdir -p assets
cd assets
# COPY asset bundle at this path.
unzip asset-bundle.zip
cp cli-distribution/linux/wso /usr/bin/
wso eula
wso configure /opt/wss/<cluster_name>/assets/
cd ..
Step 5 - Validate the New Bootstrap Machine
wso version
wso healthcheck
wso access check-service-readiness
Verify that the CLI version, Control Plane image version, CPS image version, cluster health, and Access service readiness are all correct. All Access services should report a status of READY.
Disaster Recovery
When the upgrade is completed, Omnissa strongly recommends backing-up critical files on the bootstrap node. Recovery is not possible, without completing the steps in: Back Up Bootstrap Node Data.
이 페이지가 도움이 되었나요?