Interactive Desktop batch job submission failure

Hey guys,
Interactive desktop is stumping me. I get the feeling the sbatch command isn’t being executed, but I’m just not sure.

Here’s user-defined-context.json:

{
“cluster”: “tempest”,
“account”: “priority-rci”,
“custom_queue”: “priority”,
“bc_email_on_started”: “0”
}
So I know the partition is being set, but I don’t get any kind of output.log.

clusters.d/tempest.yml:

/etc/ood/config/clusters.d/tempest.yml


v2:
metadata:
title: “Tempest”
login:
host: “tempest-login.msu.montana.edu”
default: true
job:
adapter: “slurm”
cluster: “tempest”
bin: “/opt/slurm/20.02.3/bin”
conf: “/opt/slurm/20.02.3/etc/slurm.conf”
bin_overrides:
sbatch: “/opt/slurm/20.02.3/bin/sbatch”
custom:
queues:
- “priority”
- “gpupriority”
- “unsafe”
- “gpuunsafe”
- “test”
- “gputest”
batch_connect:
basic:
script_wrapper: |
module purge
%s
set_host: “host=$(hostname -A | awk ‘{print $1}’)”
vnc:
script_wrapper: |
module purge
module load Python/3.7.2-GCCcore-8.2.0 TurboVNC/2.2.3-GCCcore-8.2.0
export PATH=“/mnt/shared/moduleapps/eb/TurboVNC/2.2.3-GCCcore-8.2.0/bin:$PATH”
export WEBSOCKIFY_CMD=“/usr/local/bin/websockify”
%s
set_host: “host=$(hostname -A | awk ‘{print $1}’)”

form.yml.erb:

# ~/ondemand/dev/jupyter/form.yml.erb

<%-
queues = OodAppkit.clusters[:tempest].custom_config[:queues]

Get list of groups user belongs to

g_cmd = “/home/${USER}/ondemand/dev/bc_desktop/user-groups.sh $USER”
begin
output, status = Open3.capture2e(g_cmd)
if status.success?
accounts = output.split(“\n”).map(&:strip).reject(&:blank?).sort
else
raise output
end
rescue => e
queues =
error = e.message.strip
end
-%>


title: “Tempest Xfce Desktop”
cluster: “tempest”
submit: “submit/submit.yml.erb”
attributes:
desktop: “xfce”
bc_num_slots: 1
bc_num_hours:
value: 8
bc_vnc_idle: 0
bc_vnc_resolution:
required: true
node_type: null

account:
label: “Accounts”
help: “Select account to submit job under”
widget: select
options:
<%- accounts.each do |a| -%>
- [ “<%= a %>”, “<%= a %>” ]
<%- end -%>

custom_queue:
label: “Partition”
help: “Select the partition to allocate Desktop job to.”
widget: select
options:
<%- queues.each do |q| -%>
- [ “<%= q %>”, “<%= q %>” ]
<%- end -%>

form:

  • bc_vnc_idle
  • desktop
  • node_type
  • account
  • custom_queue
  • bc_vnc_resolution
  • bc_email_on_started

Kenny Hanson
MSU RCI SysAdmin

Seems like you need to specify the queue in submit.yml.erb.


script:
  queue_name: "<%= custom_queue %>"

Hi Jeff,
I’ve tried it both ways. I settled on setting it static to see if that helped. The user_defined_context.json file contains the same json value pairs when doing it both ways. For the sake of troubleshooting I’ll reset my form and submit.

One question I do have regarding the configuration and location of where to put these files. In the documentation you talk about how bc_desktop needs to go in /etc/ood/config/apps/bc_desktop. When I do that nothing shows up in the Dashboard as described. It’s only when I move bc_desktop to my /home/myhome/ondemand/dev/bc_desktop will anything show up in my Sandbox. From the documentation:

Kenny

My apologies, it should have been queue_name. I’ll update the original comment.

As to why or why the desktops aren’t showing - you need to specify the cluster attribute to a correct cluster (tempest in your case) otherwise it won’t show up. There are less strict rules in sandbox apps, so that’s why it appears there.

Oh for goodness sakes, I used a form I copied over from an interactive app. The desktop stuff has different attribute names beginning with the prefix bc_.
Everything showing up good now and remote desktop is functioning :smiley:

Thanks Jeff :slight_smile: