How to apply hot fixes to SAS® Viya® 3.4 and SAS® Viya® 3.5 in a Linux environment


The process of applying hot fixes to SAS Viya 3.4 and SAS Viya 3.5 is also known as updating the deployment.  The full process is outlined in the documentation here:

Here is a brief summary of the process:

  1. Synchronize the mirror repository, if you are using a mirror repository.
  2. Run the update-only.yml Ansible playbook to apply the updates (or run the site.yml playbook for SAS Viya 3.4 orders that do not contain an update-only.yml playbook)

This SAS KB article discusses how to confirm whether you will receive updates. It also provides some troubleshooting steps.

How do I determine whether my deployment uses a mirror repository?

All SAS Viya deployments on SUSE Linux use a mirror repository, so this question applies only to deployments on other supported Linux operating systems.  There are multiple ways to determine whether your deployment uses a local mirror repository or whether it receives updates directly from SAS hosted repositories, including via yum commands. 

This SAS KB article focuses on the simple methods for determining this via examining the files on the SAS Viya system. Note that the machine where Ansible is executed could be a separate machine from the SAS Viya deployment. The commands below are meant to be used on the machines in the SAS Viya deployment, that is, the machines that are defined in sas_viya_playbook/inventory.ini. You could use Ansible to run these commands on multiple machines at once, if desired.

When you would use a mirror repository

Examples:

The following output indicates that the system is configured for local repositories that are located at /mnt/viya/35:

$ grep baseurl /etc/yum.repos.d/sas.repo
baseurl=file:/mnt/viya/35/repos/shipped/impala/125/impala-125-x64_redhat_linux_6-yum
baseurl=file:/mnt/viya/35/repos/shipped/jdbc/125/jdbc-125-x64_redhat_linux_6-yum
baseurl=file:/mnt/viya/35/repos/shipped/qc1/125/qc1-125-x64_redhat_linux_6-yum

The following output indicates that the system is configured for local repositories that are served by a web server at http://myserver.example.com

$ grep baseurl /etc/yum.repos.d/sas.repo
baseurl=http://myserver.example.com/repos/shipped/impala/125/impala-125-x64_redhat_linux_6-yum
baseurl=http://myserver.example.com/repos/shipped/jdbc/125/jdbc-125-x64_redhat_linux_6-yum
baseurl=http://myserver.example.com/repos/shipped/qc1/125/qc1-125-x64_redhat_linux_6-yum

When you would not use a mirror repository

For example, the following output shows multiple /etc/yum.repos.d/sas-*yum.repo files, each with a baseurl pointing to https://ses.sas.download:

$ ls -1 /etc/yum.repos.d/sas-*yum.repo
/etc/yum.repos.d/sas-bigquery-125-x64_redhat_linux_6-yum.repo
/etc/yum.repos.d/sas-connect-125-x64_redhat_linux_6-yum.repo
/etc/yum.repos.d/sas-dagent-135-x64_redhat_linux_6-yum.repo
$ grep baseurl /etc/yum.repos.d/sas-bigquery-125-x64_redhat_linux_6-yum.repo
baseurl=https://ses.sas.download/ses/repos/shipped/bigquery/125/bigquery-125-x64_redhat_linux_6-yum/

How do I update my local mirror repository?

The process of updating a local mirror repository is performed with the correct SAS® Mirror Manager tool for your Viya release:  

Directions for using SAS Mirror Manager are in the deployment documentation here:

How do I verify whether I will receive updates when running the update playbook?

After you update your mirror, as described above, or you do not use a mirror and get updates directly from SAS, run the following commands on the SAS Viya machines.

Red Hat Enterprise Linux (RHEL):

sudo yum clean expire-cache --disablerepo=* --enablerepo=sas-*
sudo yum check-update --disablerepo=* --enablerepo=sas-*

SUSE Linux:

sudo zypper list-updates | grep "sas-"

If there are available updates detected by yum or zypper, the command output lists them, as shown here:

sas-base1.x86_64                          03.21.10-20210311.143706371885                    sas-mlrning-125-x64_redhat_linux_6-yum
sas-cdfbase.x86_64                        03.21.02-20210312.105430498479                    sas-va-125-x64_redhat_linux_6-yum
sas-dtdrdbcdmgr1.x86_64                   1.2.5-20201209.1607526605491                      sas-greenplum-125-x64_redhat_linux_6-yum
sas-dtdrdbcgplm1.x86_64                   1.2.2-20201209.1607529098563                      sas-greenplum-125-x64_redhat_linux_6-yum
sas-dtdrodbcdmgr.x86_64                   1.2.5-20201209.1607526605491                      sas-dagent-135-x64_redhat_linux_6-yum
sas-environmentmanager.x86_64             3.5.7-20210331.1617199479830                      sas-va-125-x64_redhat_linux_6-yum
sas-ets1.x86_64                           03.21.03-20210324.114247178885                    sas-econometr-125-x64_redhat_linux_6-yum
sas-monitoring.x86_64                     2.3.10-20210303.1614805002498                     sas-dmdatap-125-x64_redhat_linux_6-yum
sas-qkbmanagement.x86_64                  2.4.122-20210203.1612378805954                    sas-dmdq-125-x64_redhat_linux_6-yum
sas-tk.x86_64                             03.21.08-20210311.110100303558                    sas-dagent-135-x64_redhat_linux_6-yum
sas-tk1.x86_64                            03.21.05-20210324.131443065068                    sas-forecast-125-x64_redhat_linux_6-yum
sas-tkcas.x86_64                          01.21.20-20210311.140221190790                    sas-vcmnfnd-125-x64_redhat_linux_6-yum
sas-tkcloud.x86_64                        01.20.03-20210330.152942633394                    sas-vcmnfnd-125-x64_redhat_linux_6-yum
sas-tkcloud1.x86_64                       01.20.02-20210330.150345716270                    sas-vcmnfnd-125-x64_redhat_linux_6-yum
sas-tkcs3rdclnt1.x86_64                   01.21.02-20210310.135851076505                    sas-modelmgr-125-x64_redhat_linux_6-yum
sas-tkdplrning.x86_64                     03.21.04-20210326.163759516056                    sas-mlrning-125-x64_redhat_linux_6-yum

If no package list is produced, you might have all available updates, or something has gone wrong. Take one of these steps:

How do I apply all available updates?

Two Ansible playbooks, site.yml and update-only.yml, that can apply updates are provided with your SAS Viya order. Older SAS Viya 3.4 orders might not contain update-only.yml. In that case, simply use site.yml to update the deployment. The main difference for these playbooks is that update-only.yml performs only the tasks necessary to apply updates. The update-only.yml playbook completes more quickly than site.yml in most cases.  

Why are there no updates available?

If local repositories are used, check that you updated these repositories with SAS Mirror Manager, as described above.

Check that your SAS repositories are enabled using yum:

$ sudo yum repolist all
repo id                                        repo name                                                             status
sas-bigquery-125-x64_redhat_linux_6-yum        SAS packages for repository sas-bigquery-125-x64_redhat_linux_6-yum     enabled:     36
sas-connect-125-x64_redhat_linux_6-yum         SAS packages for repository sas-connect-125-x64_redhat_linux_6-yum      enabled:      3
sas-dagent-135-x64_redhat_linux_6-yum          SAS packages for repository sas-dagent-135-x64_redhat_linux_6-yum       enabled:    193

If the status of "enabled" is not shown for the sas-* repositories, the repositories can be enabled by using yum-config-manager or by manually editing /etc/yum.repos.d/ files with enabled=1

Check that your repository locations are accessible from all SAS Viya machines. For local repositories, list the directory paths or use curl to access the HTTP URLs specified in the baseurl values in /etc/yum.repos.d/sas.repos. For SAS hosted repositories, access can be checked via the steps in the deployment guide. See Internet Connectivity Problems. Every machine in the deployment needs access to the repositories.

Check /etc/yum.conf for any exclude statements that target SAS packages or repositories.

Where can I find a fix list?

Refer to SAS Viya Hot Fix Availability.

How do I match a package update with a particular fix?

Refer to SAS KB0036526, "Verify the installation of SAS® Viya® hot fixes in your Linux environment."