Skip to main content

SAS Mirror Manager: Downloading Specific Releases

SAS Mirror Manager: Downloading Specific Releases

SAS Mirror Manager: Downloading Specific Releases

The Problem

While using SAS Mirror Manager to download software assets, I noticed that despite specifying a deployment assets file (using `--deployment-assets`), the tool was consistently downloading the latest release instead of the release specified in the provided file. Initially, it was unclear if this was a bug, a misunderstanding of the documentation, or if I was verifying the downloaded release incorrectly.

Investigation

After careful examination of the documentation and troubleshooting steps, the core issue was identified: * **Default Behavior:** By default, if no specific release is specified, SAS Mirror Manager defaults to pulling the most recent release available. This default behavior explained why the deployment assets file's release information was seemingly ignored. The tool needs an explicit instruction to prioritize the assets file's release.

The Solution

The solution lies in using the `--release` option within the `mirrormgr` command. This option allows for explicit specification of the desired release, overriding the default behavior. Here's an example of how to effectively use the `--release` option:

cadencerelease=$(grep -E 'Cadence.Release' sas-bases/checksums.txt | awk '{print $NF}')
...
mirrormgr mirror registry \
--destination "$mirror" \
--deployment-data "SASViyaV4_${order}_certs.zip" \
--username "$mirroruser" \
--password "$mirrorpass" \
--cadence "${cadence}-${version}" \
--release "${cadencerelease}" \
--workers 10
In this example: * **`cadencerelease`**: This variable is dynamically populated with the cadence and release information extracted from your `checksums.txt` file. * **`--release "${cadencerelease}"`**: This crucial part instructs Mirror Manager to use the release defined in the `cadencerelease` variable.

Additional Tips

* **Verification:** To confirm the downloaded release, navigate to your repository path under `sas-bases/lod/<cadence>/<version>/` The directories within this path should correspond to the releases you've downloaded. * **Multiple Releases & Cadences:** Mirror Manager allows you to download different releases of the same cadence or even different cadences to the same download location. This provides flexibility in managing your SAS software assets.

Conclusion

Using the `--release` option with SAS Mirror Manager is essential for precise control over the downloaded release. Understanding the tool's default behavior and utilizing this option ensures that you are working with the intended software version, avoiding potential compatibility issues or unexpected updates.

Comments

Popular posts from this blog

Insufficient authorization to access PIPE error in SAS EG

Issue: When I tried to run SAS code in SAS Enterprise Guide it throws following errors: ERROR: Insufficient authorization to access PIPE. ERROR: Error in the FILENAME statement. Screenshot of error: Solution: This error occurs when you try to run OS commands in SAS code. To run the OS commands in SAS code you need to enable XCMD option. You check it in SAS Management Console by following below steps.   Open SMC -> Expand Servers -> Expand   In SASApp , expand Logical Workspace Server -> right click on Workspace Server. Click properties -> option tab -> advanced options -> launch properties. Check whether Allow XCMD is checked. The issue arises if the Allow XCMD is not checked. In above image, Allow XCMD option is not checked. It should be checked to run OS commands from SAS code. In Unix /Linux machines, this XCMD option can be enabled by using system option XCMD in sasv9 config file or workspaceserver.sh script f...

The authentication server is not SETUID ROOT error in SAS

Question: When validating the SAS Server from SAS Management Console, I received the following error: The authentication server is not SETUID ROOT.  So, I ran the setuid.sh utility and restarted the services many times. I just checked the elssrv sasauth sasperm setuid bit. There were no error in sasauth-debug.log, sasauth-access.log, sasauth-error.log.  Any suggestions? Answer: Please do the following:    1) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh stop  2) Edit /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh and add the code shown below right after SCRIPT=`basename $0`:  if [ -n ""$TKPATH"" ]; then  unset TKPATH  fi   if [ -n ""$TK_PATHLIST"" ]; then  unset TK_PATHLIST  fi    3) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh start  The above code change in ObjectSpawner.sh should fix the issue.

SAS - CLI error trying to establish connection

Issue: User asked me to make a database connectivity to SQL Server. They provided following details SQL server hostname and ip address Database/DSN name Username Password I made entry in ODBC.ini file. You know, SQL Server entries were made in ODBC.ini and Oracle entries were made in TNS.ora file. Everything went fine, took back up of odbc.ini, made entry and saved the file. So to test this connection I ran the libname statement in SAS Enterprise Guide 6.1. It throwed following error. Error Message: My DB team showed that they are able to login   14 GOPTIONS ACCESSIBLE; 15 LIBNAME test ODBC DATASRC=SGE_DS SCHEMA=VST USER=sales PASSWORD=XXXXXXXXX; ERROR: CLI error trying to establish connection: [SAS/ACCESS to SQL Server][ODBC SQL Server Legacy Driver][SQL Server]Login failed for user 'sales'. Solution: First I suspected that Login failed for user 'sales' meant the password provided by DB team was wrong. They responded that they were able to login wi...