When upgrading SAS© Viya™ (for example, when moving from version 3.2 to 3.3) or when redeploying after a failed attempt, the Ansible playbook may stop abruptly.
A common error involves the sas©-javaesntl component and manifests as a message indicating that a destination path is not found, thus blocking the entire installation process.
When running the deployment via Ansible, the task fails with the following JSON message:
Even if the sas©_install_java variable is correctly set to true in your vars.yml file, the error persists.
The Root of the Problem: An Inconsistent State
This error usually occurs when the system is in an inconsistent state between the RPM database and the actual filesystem.
This often happens after several unsuccessful deployment attempts or an incomplete cleanup. Ansible detects (via the RPM database) that the sas©-javaesntl package is already installed, so it does not attempt to reinstall it. However, the physical files (in /opt/sas©/viya™/...) have been deleted or moved manually, or the mount has changed.
As a result, Ansible tries to configure a file that no longer physically exists, although the system believes it is installed.
Diagnosis
To confirm that you are dealing with this "ghost package" issue, you can check the package's integrity on your targets via an Ansible ad-hoc command:
If the output shows many lines starting with missing, as shown below, the cause is confirmed:
missing /opt/sas©/viya™/config/etc/sysconfig/sas©-javaesntl
missing c /opt/sas©/viya™/config/etc/sysconfig/sas©-javaesntl/sas©-java
The Solution
To fix this situation, you must force the uninstallation of the corrupted package before re-running the cleanup and installation process.
Step 1: Manually Remove the Package
Use Ansible to cleanly remove the problematic RPM package on all affected nodes:
Step 2: Clean the Environment
Once the package is removed, run the standard cleanup playbook provided by SAS© to ensure the environment is clean:
Step 3: Relaunch the Deployment
You can now rerun your deployment or update command (e.g., site.yml). The system will correctly reinstall the sas©-javaesntl package and the configuration files will be created as expected.