No "interactive apps" menu item appears

So, trying to get VNC desktops to work on our new OOD 4.0.7 instance.

Looking at the documentation, I see these instructions here at:

I’ve created a directory /etc/ood/config/apps/bc_desktop, and made a file in it called ‘oscar.yml’, containing just two entries, a title: and a cluster: <name of our Slurm cluster, as under the job: stanza in the .yml file under clusters.d>

So far, I think I’m doing it right, but when I restart httpd, I dont see any ‘Interactive Apps’ drop down, nor do I see a ‘Dashboard App’ menu, as shown:

Am I missing something that I ought to have installed? Thanks!

-Jeff

It sounds like you have /etc/ood/config/apps/bc_desktop/oscar.yml with the content:

title: "some title"
cluster: "some_cluster"

I’m unsure if you have anything in the title line though, but guessing something is there.

Is there a corresponding cluster file in /etc/ood/config/clusters.d/some_cluster? That’s the first thing I’d check since this won’t work without that correspondence being there between the file name for the cluster and the cluster you set..

Also, it’s easier to debug on our end if you just post the configs and sanitize them rather than describe what the config is, as an FYI.

Hi Travis-

The two files in question, with their full paths on top; first the one under the bc_desktop dir:

#/etc/ood/config/apps/bc_desktop/oscar.yml

title: “Oscar Desktop”
cluster: “slurmctld”

…and the file under clusters.d

#/etc/ood/config/clusters.d/ood_oscar.yml

v2:
metadata:
title: “OSCAR”
login:
host: “oscar2”
job:
adapter: “slurm”
cluster: “slurmctld”
bin: “/usr/bin”
conf: “/var/spool/slurmd/conf-cache/slurm.conf”
batch_connect:
basic:
script_wrapper: |
source /oscar/runtime/software/spack/utility/activate_lmod_user.sh
#export PATH=“/gpfs/runtime/opt/ood_system/bin_other:$PATH”
%s
set_host: “host=$(hostname -s)”
ssh_allow: false
vnc:
vnc_args: -3dwm
script_wrapper: |

#This source script sets PATHs for xfce desktop hand-installed in /oscar/runtime/ood_system/xfce-desktop/

source /oscar/runtime/ood_system/xfce-desktop/4.18/source_env.sh
export PATH=“/oscar/runtime/ood_system/desktop/bin:/oscar/runtime/ood_system/desktop/websockify/websockify-venv/bin:$PATH”
export WEBSOCKIFY_CMD=“/oscar/runtime/ood_system/desktop/websockify/websockify-venv/bin/websockify”
%s
set_host: “host=$(hostname -s)”
jupyter:
script_wrapper: |
source /oscar/runtime/software/spack/utility/activate_lmod_user.sh
#module unload java/8u111 matlab/R2017b python/2.7.12 intel/2017.0
#export PATH=“/gpfs/runtime/opt/ood_system/bin_other:$PATH”
%s

Thanks for having a look!

I think I found the problem-in the clusters.d/ood_oscar.yml file, the variable “cluster: ” is set to what slurm.conf has as the slurm cluster name. In the bc_desktop/oscar.yml file, “cluster: “ ought to be set to the name of the specific cluster description file, in my case “ood_oscar.yml”. If I do that & restart, I now have an ‘Interactive Apps’ menu with an ‘Oscar Desktop’ entry, as well as a pinned button for it. Though, I don’t quite understand how it’s making the ‘Oscar Desktop’ lable for the item, as that string isn’t something I’ve set…

Thanks again!

…and on a possibly related note, my ‘Apps’ menu & dashboard have an ‘Oscar Shell Access” item, that when selected, gives me a page with a pink warning banner saying “No clusters defined.” Above that, it has a line saying “Host: oscar2” (the unqualified hostname for our general login node) and on the opposite side of the page, a pulldown for “Themes”. Is this not reading the ‘login: ‘ stanza from my ood_oscar config file as listed above? How do I define a cluster appropriately for this app?

-Jeff

Hi,

I’m having the same issue as @jeff_avila regarding the display of the interactive apps dropdown menu. Unfortunately, his personal solution did not work for me. I am also new to Open OnDemand, and I am trying to help set it up for my institution. I was wondering if I could have some assistance about how I might troubleshoot this issue since I can’t find any previous forum posts about this.

My goal right now is to enable a virtual desktop to open on a compute node within one of our clusters via Open OnDemand. I have been following along with the official documentation.

I have gone through Setup Interactive Apps, and I’m currently going through Enable Interactive Desktop. Like @jeff_avila, I am stuck on 2. Add a Cluster. I have created the following file <clusterName>.yml in /etc/ood/config/apps/bc_desktop:

title: "Test Desktop"
cluster: "<clusterName>"

I then have the corresponding cluster configuration file <clusterName>.yml in /etc/ood/config/clusters.d:

v2:
  metadata:
    title: "Test Cluster"
    scheduler: "slurm"
  login:
    host: "<hostName>"
    default: true
  job:
    adapter: "slurm"
    cluster: "<clusterName>"
    bin: "/usr/bin"
    conf: "/etc/slurm/slurm.conf"
    copy_environment: false
    strict_host_checking: false
  batch_connect:
    basic:
      script_wrapper: |
        module purge
        %s
      vnc:
        script_wrapper: |
          module purge
          export PATH="/usr/local/turbovnc/bin:$PATH"
          export WEBSOCKIFY_CMD="/usr/local/websockify/run"
          %s

When I go to restart the OOD web server with these two file configurations present, the Interactive App dropdown menu is never displayed.

Based on @travert’s initial response, I was thinking there might be some form of naming issue. I tried renaming each file. I then tried renaming the <clusterName> attribute in both files (including the solution that @jeff_avila did). However, I am still not getting any dropdown menu to show up… :pensive_face:

I are unsure about what we are doing wrong with our Open OnDemand configuration. If anyone has suggestions about how we should approach this, it would be greatly appreciated.

Thanks,

An HPC administrator.

Welcome!

Looking at this, the first thing that jumps out is you have

v2:
  metadata:
    ...
    scheduler: "slurm"

The scheduler field there, where did that come from? Let’s remove that line to start, because you later correctly tell OOD you are using the adapter: "slurm" under the job block. I am unsure if the yaml would cause some kind of issue since that field doesn’t really exist to OOD so let’s start there.

Something else I’m seeing, you have:

  job:
    adapter: "slurm"
    cluster: "<clusterName>"
    bin: "/usr/bin"

In a cluster file, don’t set that cluster key. The filename is really what defines this, that key, plus by setting that there you can create issues with the Slurm DB propogating changes to OOD. We have a warning about this in the docs page for that setting: Slurm — Open OnDemand 4.0.0 documentation

So, likely not the issue, but we do discourage the use of that in this particular file just fyi.

Thank you so much @travert!! The menu finally appeared! :sob:

I’m going to be honest… I’m not sure what I did to get it to work.

I did your suggestion about removing the cluster: "<clusterName>" attribute from the /etc/ood/config/clusters.d/<clusterName>.yml configuration file, and I made sure the /etc/ood/config/apps/bc_desktop/<clusterName>.yml user form file contained the correct cluster: "<clusterName>" attribute. When I restarted the OOD web server, the menu appeared out of thin air… :sweat_smile:

I guess we weren’t careful about how we were filling out the attributes in our configuration files. Anyways, I hope this is helpful to anyone in the future who is having the same issue as my team. :slightly_smiling_face:

Also thanks again @travert, and I appreciate the other suggestions you gave about writing our cluster configuration files. We’ll be more careful next time!

Cheers,

An HPC Administrator

1 Like