2. Modify Cluster Configuration¶
If you haven’t already done so, you will need to first have a corresponding
cluster configuration file for the cluster you intend to launch desktops on. It
is recommended you follow the directions on Add Cluster Configuration Files. In order
to submit interactive Desktop jobs your cluster must be properly configured to
submit jobs, which means the config will have a job:
section.
Modify the cluster configuration file with the necessary information so that a batch script generated from an interactive app can find the installed copies of TurboVNC and websockify:
# /etc/ood/config/clusters.d/cluster1.yml
---
v2:
# ...
# ... other configuration options ...
# ...
batch_connect:
basic:
script_wrapper: |
module restore
%s
vnc:
script_wrapper: |
module restore
module load turbovnc/2.1.0
export WEBSOCKIFY_CMD="/usr/local/websockify/run"
%s
where we introduced the configuration option batch_connect
that allows us
to add global settings for both a basic
interactive web server as well as a
vnc
interactive web server.
In the above case we modify the global setting script_wrapper
for both
basic
and vnc
sessions. This allows us to supply Bash code that wraps
around the body of the template script (specified by %s
). First, we restore
the module environment to remove any conflicting modules that may have been
loaded by the user’s .bashrc
or .bash_profile
files. Then we specify
the required environment needed by the vnc
script to launch websockify and
TurboVNC.
Note
You will most likely need to replace the block of code below in your cluster configuration file:
script_wrapper: |
module restore
module load turbovnc/2.1.0
export WEBSOCKIFY_CMD="/usr/local/websockify/run"
%s
with a block that adds the full path to the TurboVNC binaries into the
PATH
environment variable as well as the corresponding websockify
launcher into the WEBSOCKIFY_CMD
environment variable.
Warning
Do not forget to include the %s
in the script_wrapper
configuration
option. Otherwise the actual Bash code that launches the corresponding web
servers will never be interpolated into the main batch script and run.