After you update SAS Viya 3.5 packages for sas-drive, sas-sasvisualanalytics, and sas-decisionmanager, accessing /SASDrive , /SASVisualAnalytics , or /SASDecisionManager in a web browser might display blank pages. Also, browser developer tools might show 404 errors for requests to /htmlcommons/10.1 and/or /htmlcommons/10.2. The problem might occur in more web applications than those listed here.
Quick Fix
On the machines assigned to the httpproxy host group in the sas_viya_playbook/inventory.ini file, run the following:
sudo yum install -y sas-htmlcommons101 sas-htmlcommons102
If the environment uses a mirror repository and these packages are not found in it, refer to the info below on updating your mirror and playbook with the latest available updates from SAS.
After installing sas-htmlcommons101 and sas-htmlcommons102 packages on the httpproxy host(s), the 404 errors and blank page problems should be resolved.
It is highly recommended to review and understand the info below to prevent this and similar problems in the future.
What Happened?
This problem generally occurs when VERIFY_DEPLOYMENT has been set to false in the sas_viya_playbook/vars.yml file, which disables checks that ensure that the Ansible playbook and package repository content are in sync. Specifically, the SAS Viya deployment is probably missing the sas-htmlcommons10x packages on the httpproxy hosts that provide the HTML content that is required by multiple Viya web applications.
Verifying the Problem
On the machines assigned to the httpproxy host group in the sas_viya_playbook/inventory.ini file, run the following:
rpm -q sas-htmlcommons101
rpm -q sas-htmlcommons102
If version output similar to the following is produced, the packages are installed and the problem described here should not occur:
sas-htmlcommons101-10.1.86-20210519.1621397109793.x86_64
sas-htmlcommons102-10.2.75-20210804.1628096943647.x86_64
If "package sas-htmlcommons10x is not installed" is returned, it means that the necessary packages are not installed, which causes this problem.
Resolving the Problem
Resolving the problem requires updating your playbook or your mirror repository (if one is used) with the necessary sas-htmlcommons content and files. Then, you need to run the updated playbook to apply the missing package. Complete these steps:
./repos/shipped/va/125/va-125-x64_redhat_linux_6-yum/Packages/s/sas-htmlcommons101-10.1.86-20210519.1621397109793.x86_64.rpm
./repos/shipped/va/125/va-125-x64_redhat_linux_6-yum/Packages/s/sas-htmlcommons102-10.2.75-20210804.1628096943647.x86_64.rpm
2. Build a new playbook with the latest version of the SAS Viya 3.5 sas-orchestration tool.
3. Merge the edits from vars.yml and inventory.ini in the old playbook into these files in the new playbook. See Generate a New Ansible Playbook for more information.
4. Run the update-only.yml playbook to apply the updated package. When it is complete, access the previously failing web applications in a web browser to verify that the problem has been resolved.
Preventing Similar Problems in the Future
Unless directed by SAS Technical Support or R&D, ensure that VERIFY_DEPLOYMENT is set to true in the vars.yml file. If this setting is in place, a warning about this problem is produced before applying updates similar to the following:
"stderr_lines": [
"The generated orchestration is not current.",
"You must regenerate the orchestration for this order and restart the deployment.",
"",
"The following software units are in the repository warehouse but not in the intended orchestration",
" x64_redhat_linux_6-yum:default",
" httpproxy",
" sas-htmlcommons101:rpm"
],
The above error means that you should use the sas-orchestration tool to build a new playbook to obtain new playbook content.
A variation of this message is shown here:
"The following software units are in the intended orchestration but not in the repository warehouse"
This message indicates that the mirror repository is missing one or more packages referred to in the playbook files. In this case, the mirror needs to be updated with mirrormgr so that it contains the missing packages.