04-07-2017 06:30 AM
Hi SAS Gurus!
I need some help with this.
In the normal SAS configuration scenario, when our SAS Users generally open a SAS EG session, a script (sasv9.conf) is run setting all sorts of settings MEMSIZE etc, and a setting is also done for our default Work Directory:
The drive is located on our SAS server.
We now need to set up a different area for data which requires that we have a different Metadata Group, which will access data on a different server. We are required to have some script setting the WORK directory:
If 2 of these groups log in they must assign work to another folder, but everyone else must use the default X:\WORK folder.
Is it possible to set this criteria up in as some form of "If The else if else" statement?
If &SYSGROUP = "LIBRAX" then -WORK "\\LIBRA\WORK"
else if &SYSGROUP = "LIBRAY" then -WORK "\\LIBRA\WORK"
ELSE -WORK "X:\WORK"
Is this possible based on the SAS Metadata User Group Membership?
04-07-2017 06:51 AM
If you need to control this through metadata, I'd clone the Workspace Server definition, change the WORK location in its configuration, and set the metadata permissions so that "normal" users see the "normal" WS, and the "special users" see only the cloned WS.
04-07-2017 07:11 AM
Thanks for your quick reply.
As this is new territory for me - never been done before, I would need some guidance on this.
How do I clone a Workspace Server?
I looked online to see if there is some example, but found none.
Do you have some documentation for me ?
We use SAS9.4 TS1M2 with 2 Compute Servers, so I would need to do this on each compute server.
04-07-2017 07:27 AM
In SAS MC, under Server Manager, create a new SAS Application Server, name it (eg) SASApp1. Within that Server, create a Workspace Server.
Copy all settings from SASApp to SASApp1. In the SASApp1 - Workspace Server properties/options, add -work your_new_work_location to the WorkspaceServer.sh (or WorkspaceServer.bat) commandline. In the connection SASApp1 - Workspace Server, use a new (yet unused) port number instead of the default 8591.
Add the new workspace server to the servers in the spawner definition. Restart the spawner. Now change the metadata permissions so that only the "special" users see SASApp1, and don't see the SASApp workspace server. This might need some tinkering.
Caveat: this is what I would try to do; I do have some experience with all steps involved, but I am no high-level SAS installation guru. In case of doubt, contact SAS TS before changing metadata permissions. Also work in small steps with frequent testing, and record every step, so you have a notion how to get back to the previous state if something breaks.
04-10-2017 06:16 AM
Thank you Kurt
Based on your recommendation and also advice from SAS TS we will follow this route.
I started by creating the new SASApp....
Thank you for this as it seems the most feasible solution to pursue.
04-10-2017 06:25 AM
this is a very good question.
While it could be virtually possible (and difficult) to set specific SASWORK locations for your users depending on a metadata business unit or team, it still would not work fine.
As @KurtBremser suggested you, the recommended way to move forward is to create a new SAS Application Server (SASApp) for each functional unit/team that would require different configuration settings (SASWORK, MEMSIZE, autoexec, etc, etc).
Then, with authorizations, you can set the metadata visibility and OS permissions for each SASApp and its related resources.
Once you do this, the users connecting to apps as SASStudio, SAS DI or SAS EG, will see only the SASApp you selected for them.
Here is a thing to consider: your web applications are pre-configured to use an specific SASApp, and every user will connect to that/those SASApp. Be sure to keep allowing those connections