v1.8 Release Notes

Highlights in 1.8:

Special thanks

Special thanks to https://github.com/374365283 and https://github.com/flybirdkh of Shanghai Jiao Tong University (https://hpc.sjtu.edu.cn/) for Chinese localization!

Thanks to Ben Plessinger and the whole University of Buffalo Center for Computational Research team for help in XDMoD integration.

Upgrading from v1.7

Before upgrading to v1.8, please consider the following:

Warning

Shell hosts are now protected behind allowlists. After upgrading, you may need to set a default SSH host and add the compute nodes to the allowlists, as well as any other hosts you want to enable access to through the Shell app that are not already specified in the cluster config. See the entry in the release notes for more information.

  • If upgrading from OnDemand 1.5.x or older you must upgrade to 1.6.x before upgrading to 1.7. See directions for upgrading from 1.4 to 1.5 (v1.5 Release Notes) and from 1.5 to 1.6 (v1.6 Release Notes).

  • As always please update the development or test instances of OnDemand installed at your center first to test and verify before you modify the production instance.

  1. Update OnDemand release RPM

    sudo yum install -y https://yum.osc.edu/ondemand/1.8/ondemand-release-web-1.8-1.noarch.rpm
    
  2. Update OnDemand

    sudo yum clean all
    sudo yum update ondemand
    
  3. (Optional) If previously using Apache’s Basic Auth, for example with LDAP, it is recommended to switch to Dex Authentication by installing the ondemand-dex package.

    sudo yum install ondemand-dex
    

    Warning

    The configuration for Dex will need to be made to /etc/ood/config/ood_portal.yml with your needed LDAP configuration and updates to both Dex and Apache configurations. See Configuring OnDemand Dex for LDAP for details on configuration of LDAP.

  4. Update Apache configuration and restart Apache.

    sudo /opt/ood/ood-portal-generator/sbin/update_ood_portal
    sudo systemctl try-restart httpd24-httpd.service httpd24-htcacheclean.service
    
  5. (Optional) If ondemand-dex was installed, you must enable and start the ondemand-dex service.

    sudo systemctl enable ondemand-dex.service
    sudo systemctl start ondemand-dex.service
    

Upgrading from v1.6

Due to changes with ood-portal-generator it is necessary to run update_ood_portal with --force flag if upgrading from v1.6 of OnDemand to v1.8.

Details

Beta XDMoD integration in the dashboard

If your site also uses XDMoD with the Job Performance module (formerlly called SUPReMM) for job performance analysis, you can configure OnDemandOpen OnDemand to display the Job Efficiency reports from XDMoD on the OnDemand dashboard.

See the documentation on enabling XDMoD integration for more details.

Default authentication is now handled by Dex

The default authentication mechanism for OnDemand is now using the OIDC provider Dex. The Dex authentication will replace Apache’s Basic Auth. Sites wishing to continue using LDAP authentication or other forms of Basic Auth are recommended to configure Dex. See Dex Authentication for details on OnDemand Dex.

You no longer need to do DISABLE_SAFARI_BASIC_AUTH_WARNING=1 and you can safely remove this from the configuration as this ENV var will be ignored.

Support mod_auth_openidc configuration via ood-portal-generator

The Open OnDemand Portal ood_portal.yml file now supports defining mod_auth_openidc configurations directly.

Beta CCQ Scheduler support

We now have beta Cloudy Cluster support for their ccq scheduler. You can find documentation on how to configure the cluster here.

Retain completed jobs panel for debugging

When an interactive job completes, its panel will now remain in the view. This is to allow users and administrators to debug failed jobs by keeping the session id links in view.

Batch Connect apps now support multiple clusters

Batch connect applications now support multiple clusters in their configuration instead of just one.

Where previous configuration look like this, with only a single cluster.

cluster: "my_cluster"

Configurations will now accept an array like the example below. This will create a dropdown select menu item at the top of the form where users can choose between the two options.

cluster:
  - "my_cluster"
  - "my_other_cluster"

See the documentation on all the ways to configure which cluster to submit to.

Batch Connect apps now support disabling caching on fields

When a user submits the web form for an interactive app (batch connect) the form values the user set are stored in a cache file that is used to pre-populate the web form in the future. In some cases, setting the default value of the form field to a previously used value is undesirable. You can now disable this caching feature for every app, on a per app basis, or on a per field basis.

See the documentation on attribute cache enabling for more details.

Extended view support for GridEngine clusters

In the Active Jobs app, similar to Torque and Slurm jobs, SGE jobs will now have a details view available where the user can see various details about their job such as walltime, Total CPUs, etc. The view is made visible by clicking on the arrow on the far left of the table row corresponding to the job.

The data seen in extended view is extracted from the command qstat -j -r -xml.

Torque and Slurm schedulers now support QoS fields

Torque and Slurm schedulers now support the quality of service (QoS) fields.

qos is now an acceptable script attribute like so:

script:
  qos: 'best'

In Torque this translates to -l qos=best and in Slurm it is --qos best.

Shell hosts are now protected behind allowlists

Shell hosts are now protected behind allowlists. This means administrators now need to explicitly add hosts to an allowlist for users to be able to access them through the shell app.

Any login host of a cluster config will be allowed, assuming that cluster is not configured as “hidden” in the metadata section of the cluster config. However, administrators will need to add a configuration for compute nodes and any additional hosts they wish to allow access to.

Administrators should also configure the default ssh host if they’ve not already done so because ‘localhost’ is no longer the out of the box default.

See the documentation for setting the default ssh host and the documentation for setting the allowlist for more details.

Chinese localization

The Chinese localization zh-CN is now available in the dashboard and job composer applications for sites who wish to use it.

To enable it, simply set the OOD_LOCALE environment variable globally in /etc/ood/config/nginx_stage.yml

pun_custom_env:
   OOD_LOCALE: "zh-CN"

Ability to add additional info to batch connect app

You can now add an info.html.erb file to an interactive app (batch connect) directory and it will render and display in the job panel. This is useful for providing documentation links for an app.q See the documentation on info.html.erb for more details.

Support for SVG dashboard logos

Logos can now be SVG images and controlled through the OOD_DASHBOARD_LOGO_HEIGHT configuration to resize them. See documentation on branding for form information.

Support for new Native VNC views

Sites can now define instructions for connecting to VNC interactive jobs using a native VNC client instead of using NoVNC through the browser.

More details on this feature can be found here.

Better max file upload support

While FILE_UPLOAD_MAX configuration has existed for some time, 1.8 adds the corresponding nginx configuration so that sites can set the upload max to settings larger than 10 GiB.

See the section in the customization page for more details.

Drop IE 11 support

Warning

No IE 11 support. If you are a site that requires IE 11 support and are willing to contribute developer time to the project to support this, please reach out to us.

IE 11 support was officially dropped. See Browser Requirements.

Added Sinatra Ruby Gems into ondemand-gems for other apps to use

Related Ruby gems for the micro-webframework “Sinatra” were added to the Dashboard Gemfile to ensure they are included in the ondemand-gems RPM. Simple applications like the Passenger status app featured in the Passenger app development tutorial can now be run without needing to install gem dependencies into the application directory. The following gems were added for this purpose:

gem "sinatra", require: false
gem "sinatra-contrib", require: false
gem "erubi", require: false

Streamlined copy and paste in noVNC for Chrome

Copy and pasting now works out of the box in Chrome. An issue with copy and pasting large clipboard buffers into noVNC applications on Chrome was fixed in version 1.8.