v1.6 Release Notes¶
Highlights in 1.6:
- OnDemand passed a security audit
- Added job array support for LSF and PBSPro adapters
- Improved Slurm and Grid Engine adapters
- Added localization options to the Dashboard and Job Composer
- Added rendering of HTML or Markdown in Job Composer template manifests
- Added support for fetching quota from a URL
- Added VNC quality and compression controls
- Open Shell to compute node that a VNC job is running on
- Changed ‘Open in Terminal’ button to offer multiple options when OOD_SSH_HOSTS is set
- Enable BatchConnect applications to raise errors after form submission
- Added version strings to Dashboard
- Changed ngnix_stage to always remove stale PID files
- Add ability to disable RewriteEngine in Apache config
- Many bug fixes
Upgrading from v1.5¶
Warning
As always please update the development or test instances of OnDemand installed at your center first before you modify the production instance.
Update OnDemand release RPM
sudo yum install -y https://yum.osc.edu/ondemand/1.6/ondemand-release-web-1.6-4.noarch.rpm
Update OnDemand
sudo yum clean all sudo yum update ondemand
Infrastructure Changes¶
Application Version Changes¶
App | Version |
---|---|
Dashboard App | 1.31.0 → 1.35.0 (diff) |
Shell App | 1.4.2 → 1.4.6 (diff) |
Files App | 1.5.1 → 1.5.3 (diff) |
File Editor App | 1.4.1 → 1.4.3 (diff) |
Active Jobs App | 1.7.0 → 1.9.2 (diff) |
Job Composer App | 2.11.0 → 2.15.0 (diff) |
Desktops App | 0.2.0 → 0.2.1 (diff) |
Table 14 lists the app version changes between OnDemand v1.5.3 and OnDemand 1.6.7
Details¶
OnDemand passed a security audit¶
At the end of 2018 TrustedCI completed a security audit of OnDemand and quoting the major findings of the audit: “No major issues were found in a comprehensive evaluation of the architecture and critical resources in Open OnDemand, and analysis of potential code weaknesses in critical components.”
Thanks to Elisa Heymann, Joel Atkins and Barton P. Miller for performing the audit! The full report is available as a PDF at openondemand.org.
Added job array support for LSF and PBSPro adapters¶
Job Composer and Active Jobs now support job arrays for all adapters that OnDemand supports including LSF and PBSPro.
Improved Slurm and Grid Engine adapters¶
To improve the reliability of parsing squeue
output the record delimiter has been changed from newline to the ASCII/Unicode record separator.
To match the behavior of the other adapters the Grid Engine adapter will now attempt to detect whether the user has set the working directory of a job. If the user has not passed the -wd
or -cwd
flags in the first 1024 characters of their job script then the adapter will append -cwd
to the arguments passed to qsub
. Fixed error where the Grid Engine adapter would throw an error when getting information on a job that had exited the queue.
Added localization options to the Dashboard and Job Composer¶
Many more strings have been internationalized in the Dashboard and the Job Composer. This work does not cover all the strings in the app, but enables localization of the most important ones.
See Customize Text in OnDemand for details.
Added rendering of HTML or Markdown in Job Composer template manifests¶
If the environment variable RENDER_TEMPLATE_NOTES_AS_MARKDOWN
is set to a truthy value then job template manifests displayed in the Job Composer that are written in Markdown will be run through the RedCarpet renderer. HTML values will always be rendered as HTML. This will allow sites to embed images or links to documentation in their templates. (ood-mjobs#291)
Added support for fetching quota from a URL¶
File usage quota warnings displayed on the Dashboard may now use a URL as their data source. Thanks to Dan Dietz at Purdue for the initial work on this feature.
Added VNC quality and compression controls¶
Controls to change the VNC compression and quality have been added to interactive session card:
This can help with users who want to sacrifice quality for a better connection speed and others who have great connection speed and want to maximize the quality.
Open Shell to compute node that a VNC job is running on¶
For running interactive sessions, the host name becomes a clickable link to open in the shell app:
Changed ‘Open in Terminal’ button to offer multiple options when OOD_SSH_HOSTS is set¶
In the Files app, if the environment variable OOD_SSH_HOSTS
is set to a comma delimited value of host:title
, then the Open in Terminal button will display a dropdown of hosts to ssh to, instead of ssh-ing to the default host. For example, in the image below I set OOD_SSH_HOSTS="owens.osc.edu:Owens,pitzer.osc.edu:Pitzer,ruby.osc.edu:Ruby"
:
Note
In a future version of OnDemand we will change this app to load the hosts from the cluster configs.
Enable BatchConnect applications to raise errors after form submission¶
In the submit.yml.erb
of an interactive app, if you raise an exception, the submission process will be aborted and the user will be shown the error. This enables interactive apps to support basic form submission validation.
Added version strings to Dashboard¶
The Dashboard will now display the version of OnDemand and the Dashboard in the footer. Interactive applications will display their versions next to their title on their launch page.
Changed ngnix_stage to always remove stale PID files¶
nginx_stage clean
will now remove PID and socket files for processes that are not longer running. Whenever a stale PID files is deleted its removal is reported on stderr
. (ondemand#11)
Add ability to disable RewriteEngine in Apache config¶
You can now omit enabling the RewriteEngine by adding use_rewrites: false
to the /etc/ood/config/ood_portal.yml
config file and re-running the sudo /opt/ood/ood-portal-generator/sbin/update_ood_portal
to update the ood-portal.conf Apache config.
Many bug fixes¶
- Setting the environmental variable
OOD_SHELL
to an empty string will now hide the Open in Terminal button as documented. (ood-fileexplorer#191) - Job Composer logs will no longer contain complaints about gems not being eager loaded. (ood-myjobs#285)
nginx_stage
will no longer crash when one of thepun_custom_env
values in/etc/ood/config/nginx_stage.yml
is a number and not a string. (ondemand#26)- In Active Jobs, display nothing in “Account” column if no account set for the job, instead of displaying
(null)
. - Fixed Time Used format for Active Jobs: In 1.5 the
Time Used
field in Active Jobs was the number of seconds elapsed as an integer. In 1.6 this has been changed back toHH:MM:SS
. - Fixed Job Composer layout when job name is long: Job names that were exceptionally long and did not contain ‘break-able’ punctuation could break the layout of the Job Composer’s data table. The table has been updated so that job names wrap and will break mid-word if necessary.
- Fixed Shell App paste issues in MS Edge and Firefox (#62, #59, and #64)