sassoftware / sas-container-recipes

A collection of recipes and other resources for building containers that include SAS Viya software.
https://www.sas.com
Apache License 2.0
89 stars 42 forks source link

On login attempt: "The launch of the server process failed because of an invalid or inaccessible SASUSER library" #50

Open vlandau opened 3 years ago

vlandau commented 3 years ago

Describe the bug When trying to volume mount my current working directory to the sasdemo folder in the container (so I can access it via SAS Studio), I am unable to log in, and I'm prompted with "The launch of the server process failed because of an invalid or inaccessible SASUSER library". I would like to mount to the sasdemo folder in the container so that files from the local machine can be opened, run, and edited in SAS Studio in the SAS container. I have been successful in volume mounting files to other locations within the container, and I can list them using SAS code within SAS Studio, but I'm unable to open them or view them in the file tree in the left panel in SAS Studio.

As an aside, it is also unclear if it is possible to simply run a .sas file via docker exec ... -- this is ultimately what I'm trying to do. Is there a way to do that? When trying docker exec --interactive --tty sas-viya-single-programming-only sas, I get the following error:

OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"sas\": executable file not found in $PATH": unknown

I guess there just isn't a symlink for sas. What is the path to the sas executable, or is there one?

To Reproduce Steps to reproduce the behavior:

  1. Edit the run arguments in launchsas.sh as follows:
    run_args="
    --name=$SAS_CONTAINER_NAME
    --rm
    --hostname $SAS_CONTAINER_NAME
    --env RUN_MODE=developer
    --env CASENV_ADMIN_USER=sasdemo
    --env CASENV_CAS_VIRTUAL_HOST=$(hostname -f)
    --env CASENV_CAS_VIRTUAL_PORT=${SAS_HTTPS_PORT}
    --env CASENV_CASDATADIR=/cas/data
    --env CASENV_CASPERMSTORE=/cas/permstore
    --publish-all
    --publish 5570:5570
    --publish ${SAS_HTTP_PORT}:80
    --publish ${SAS_HTTPS_PORT}:443
    --volume ${PWD}/sasinside:/sasinside
    --volume ${PWD}:/home/sasdemo/data-code    
    --volume ${PWD}/cas/data:/cas/data
    --volume ${PWD}/cas/cache:/cas/cache 
    --volume ${PWD}/cas/permstore:/cas/permstore
    "
  2. navigate to port 8080 via the browser, and attempt to log in

Expected behavior Successful log in.

Screenshots image

Environment (please complete the applicable information):

vlandau commented 3 years ago

I believe this works for running a .sas script

./launchsas.sh
docker exec --interactive --tty sas-viya-single-programming-only /opt/sas/spre/home/bin/sas sas-script.sas

I'll close this issue once I verify