WithSAS Viya the concept of hot fixes established in previous versions of SAS will continue. SAS provides hot fixes to previously shipped software. A hot fix is created to resolve a number problems in released versions of our software. So, with the adoption of SAS Viya increasing, and the upcoming release of Viya 3.4, it seems like a good time to talk about upgrades and updates in the Viya world.
In the first of two posts on this topic I will look at the simpler scenario, updates. One of the most common reasons for doing an update is the availability of a hot fix. The method of staying informed about available hot fixes has not changed from SAS 9.4. For more details see Chris Hemedinger's article on how to stay informed about SAS hot fixes.
I recently updated the deployment we use for the administration section of the GEL Viya Implementers workshop to apply some SAS Environment Manager hot fixes. If you were used to applying hotfixes in SAS 9.4 be prepared for some changes. Unlike SAS 9.4 to apply a hot fix you do not need to specifically download a package of the hotfix. Since SAS Viya software is delivered via RPM's then the same process that was used to install the software can be used to apply updates.
The update process brings your deployed software up-to-date with the latest compatible software. You perform the update with the same command that was used to install SAS Viya, and you use the same software order and the same playbook. Running the playbook updates all software to the latest version (no partial updates). To perform the update process, you must have administrator privileges and sudo access for the machines.
Something to be aware of in relation to Viya is that the nature of the process, where updates are performed with yum via ansible, makes it much easier to do an accidental update. A yum update will get you the latest software, for this reason setting up a mirror repository is a good practice.
The Viya 3,3 deployment that I updated has the Viya services split across 4 separate machines and has a single SMP CAS server. In this scenario, where we need to run commands on each machine in the deployment, ansible is your friend. The process involves comparing the RPM versions on each machine on the deployment before and after the update is installed. To automate this part of the process we created two ensile playbooks.
The first step in the process is to record the version of the RPM files currently installed so that we can use them to compare the current deployment to the updated deployment at the end of the process. To do this execute yum list installed on each machine. The command produces a list of all packages installed on each machine that include the string "sas-" in the name of the repository.
Any Configuration files that include the string _deployment may be overwritten by the update process. These files should not have been updated, however if they have updates, they should be identified and saved for re-implementation. Use the following command to identity all the "*_deployment" files and check them for any changes made by users.
If you are using a mirrored repository you need to re synchronize the mirror prior to performing the update. The re synchronize makes the new software available to the mirrored repository so that it can be installed in the environment.
To update the software and apply the hot-fixes use the same ansible command that was used to deploy the software. In many cases this step will stop and restart Viya services, as result it is recommended that an outage is scheduled during the update.
The output of the diff command comparing the before and after state of the RPM's shows that (among other changes) the SAS Environment Manager RPM versions were updated from version 1.3.31 to 1.3.34 with the date changing from November 20017 to March 2018, the date the hot fix was released.
The diff command shows what files have been changed by the application of the update. It would be nice to see from the hot fix documentation if that matches the expected changes based on the update that is being applied. This would make the validation more robust. Maybe in a later release.
The documentation for the update process can be found in the SAS Viya 3.3 Administration guide. Overall the update process was relatively painless for me. I did have a lot of help though. Thank you Erwan Granger and Gilles Chrzaszcz.
Is it to replace the "REPOSITORY_WAREHOUSE: " value that is in the "vars.yml" used for deployment, or something else? This would make sense if a new repo was downloaded to a new location rather than overwriting the old one.
The blog was written about 3.3 updates. The repo_override was used in 3.3 to point to a different mirror. It was actually replaced in 3.4 by he "REPOSITORY_WAREHOUSE: " value that is in the "vars.yml". The repo_overrode file is documented here in the 3.3 documentation.
You could do this, but it is not supported, it might work in your case. However, it is recommended to always use the playbook since some components require configuration that installing a package with yum/rpm isn't going to cover.
Base SAS and SAS Viya are powerful frameworks for analytics that evolve constantly. Major new releases come out about every 5-10 years, while maintenance releases are about every year or two. Hot Fixes are the most granular and timely, and are issued in between these major upgrades and/or maintenance releases, to keep things patched and up-to-date.
In a SAS environment, you control what hotfixes you apply and when they get applied. In fact, many SAS environments get installed and never get a single hotfix applied afterward. The ZenGuard service that Zencos provides is an excellent way of having a professional and knowledgeable consultant review your SAS environment, recommend, and apply hotfixes for you.
SAS Hot Fixes come in two flavors: those that have no configuration or pre/post installation steps, and those that do. The former are really simple to implement and require no extra manual work after the SAS Deployment Manager utility applies the hot fixes to the machine, other than restarting the SAS services. The latter typically require some post-installation steps such as using the SAS Deployment Manager utility again (multiple times) to re-build and deploy web apps, before restarting the SAS services. Regardless, it is very important to review each and every hot fix installation document from the SASHFADD HTML Report, as there may be some surprises which you may want to contact SAS Tech Support about.
Running an update to Viya is very similar to the initial installation process. Fortunately, since the software was already installed and configured in the environment, the future path is now paved for seamless updates. The above steps are a helpful reference to the overall process involved in updating a Viya environment to allow for any new security updates or features and enhancements that SAS releases for Viya.
When you try to set a connection attribute of an ODBC connection where connection pooling is enabled by using ODBC Driver API with Microsoft SQL Server ODBC Driver, you receive the following error message:
Note The ODBC Driver documentation mentions that the message is an information message. However, you receive the message as an error message.
This problem may occur when all the following conditions are true:
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was corrected in Microsoft Data Access Component 2.7 Service Pack 1 Refresh and Microsoft Data Access Components 2.8.
3a8082e126