-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misadventures in non-vnc Matlab app construction #1781
Comments
When I launch my dev Matlab app, it gets stuck “Starting”, and the app/script output indicates that matlab-jupyter-app cannot be found… [jason@wind] $ cd ~/ondemand/data/sys/dashboard/batch_connect/dev/bc_vt_matlab_html/output/f36b9577-ac0f-4894-9adb-b3d318b6405a |
Though my app session is stuck starting up, I can stay in the ondemand-generated working-directory to leverage the resources it already prepared. When I interactively shell in, it’s now clearly on my $PATH: [jason@wind] $ singularity shell --nv --writable-tmpfs \
INFO: Could not find any nv files on this host! Singularity> which matlab-jupyter-app |
Now, obviously there are some variables in template/before.sh.erb (that define the ephemeral matlab.rc) that everyone should be localizing; but more to the point, I can modify template/entrypoint.sh to provide the full path to matlab-jupyter-app to move things along. $ diff -u entrypoint.sh-orig entrypoint.sh |
The output.log file doesn’t show anything enlightening, and there doesn’t appear to be anything remotely special in my /var/log/ondemand-nginx logs.
INFO:MATLABProxyApp:Waiting for MATLAB to exit... INFO:MATLABProxyApp:Cleaning up matlab_ready_file.../tmp/MWI/31511/connector.securePort
INFO:MATLABProxyApp:Waiting for MATLAB to exit... |
A bunch of work later, I fixed some ruby typos, tweaked resources allotment, and probably some other things. But I still would appreciate some help understanding a few things: at the end of the entrypoint script, I don’t understand why I have to provide the full path to matlab-jupyter-app (as mentioned above, I can shell-into the container and it IS in root’s path) INFO:MATLABProxyApp:Installing handler for signal: 15 Warning: Name is nonexistent or not a directory: /opt/matlab/parallel_remote To get started, type doc. Starting CPP Connector on Worker |
Hi Jason, we ended up not using the container, but locally installed Anaconda with the Matlab plugin, and locally installed Matlab. Our config is at OOD-apps-v3/matlab_html_app at master · CHPC-UofU/OOD-apps-v3 · GitHub 1 Though, almost all our users keep using the VNC Matlab app, probably because they are used to it. HTH, |
Heads up on this: matlab-jupyter-app doens't offer any form of authentication. Guess the port number and you are in. I considered this absolutely disasterous and expressed this to mathworks already, but no words on adding authentication yet. |
Network namespaces seem to be catching on. We added network namespaces for our general public. In any case, here's how I setup tensorboard which also doesn't have auth, but I when setup in it's own network namespace behind a proxy - it does or is secure because thing else can reach it unless through that proxy. |
@johrstrom very interesting, i was keeping half an eye open on #712 as a possible solution. Buuuut i do see shadow-maint/shadow#321 was merged, perhaps there is hope? |
I wrote a tool to get LDAP data into /etc/subuid and /etc/subgid and try and do it so that if new users are added/removed the UID/GID range assigned to someone doesn't abruptly change (though never found a way to validate this was needed): https://github.com/treydock/subid-ldap. OSC uses this with OpenLDAP to dump our users into those files for both Singularity and Podman. The tool is in Go so should be pretty portable to whatever OS you run. |
Firstly, my apologies if I should be directly contacting VT-ARC or the Mathworks people about this – I thought surely someone else would eventually ask about this topic (given the intense interest during the tips-n-tricks call) but I’ve not seen anything here, nor in ARC’s github-issues. If there’s a better venue (e.g. discord/slack/etc), please let me know, thanks!
Trying to follow the Dev Guide from VT 4, I’ve made the following observations/additions/etc/etc…
The guide mentions modifying manifest.yml, but I wonder if that is supposed to suggest modifying form.yml? (To specify your cluster and customize fields.)
Similarly, although the guide does mention updating template/script.sh.erb 1 for the path to the .sif image, I also needed to update several of the bind parameters. Beyond the obvious filesystem differences, though, it was definitely not clear to me at first that $MATLAB_DIR and $TMPFS seem to be VT-site-specific environment variables. I also had to bind our newer version of readline’s ‘libhistory’.
[jason@wind] $ cd ~/ondemand/dev/bc_vt_matlab_html/template
[jason@wind] $ diff -u script.sh.erb-origBindings script.sh.erb
--- script.sh.erb-origBindings 2021-11-24 12:07:04.000000000 -0700
+++ script.sh.erb 2021-12-10 11:13:59.033674779 -0700
@@ -20,12 +20,13 @@
+echo "SUSPECTED VT-SPECIFIC VARS: MATLAB_DIR=$MATLAB_DIR ... TMPFS=$TMPFS"
export SINGULARITYENV_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export SINGULARITYENV_PATH=$PATH
singularity run --nv --writable-tmpfs \
pwd
/matlab.rc:/mathworks.rc,/cm,/etc/slurm/slurm.conf \pwd
/matlab.rc:/mathworks.rc,/etc/slurm/slurm.conf \--bind=/usr/lib64/libmunge.so.2:/lib/x86_64-linux-gnu/libmunge.so.2,/var/run/munge
--bind=
pwd
/entrypoint.sh:/entrypoint.sh/home/jason/ondemand/dev/bc_vt_matlab_html/matlab.sif bash /entrypoint.sh
┆Issue is synchronized with this Asana task by Unito
The text was updated successfully, but these errors were encountered: