v1.5 Release Notes¶
Highlights in 1.5:
- Add ondemand SCL and use SCL nginx and passenger
- Performance improvements to Active Jobs
- Basic job array support for Slurm, Torque, and SGE
- Easier customization of home page text
- RStudio with varying versions of R
- Peer to peer app sharing
- Documentation update for Keycloak and Duo
Upgrading from v1.4¶
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
CentOS/RHEL 6
sudo yum install -y https://yum.osc.edu/ondemand/1.5/ondemand-release-web-1.5-1.el6.noarch.rpm
CentOS/RHEL 7
sudo yum install -y https://yum.osc.edu/ondemand/1.5/ondemand-release-web-1.5-1.el7.noarch.rpm
Update OnDemand
sudo yum clean all sudo yum update ondemand
Warning
This step triggers the execution of
update_ood_portal
script fromood-portal-generator
which results in/opt/rh/httpd24/root/etc/httpd/conf.d/ood-portal.conf
being modified. Your previousood-portal.conf
file will be copied to a backup in the same directory, which you may need to restore if you have made custom modifications to this file.Ensure that the resulting
ood-portal.conf
Apache config hasSetEnv OOD_PUN_SOCKET_ROOT "/var/run/nginx"
changed toSetEnv OOD_PUN_SOCKET_ROOT "/var/run/ondemand-nginx"
.Warning
The nginx RPM used by ondemand in 1.4 is no longer maintained. If you use nginx outside of OnDemand it’s recommended to re-install using nginx from repositories such as EPEL after upgrading OnDemand to 1.5.
sudo yum downgrade nginx nginx-filesystem --disablerepo=ondemand-web
Optionally remove dependencies from prior versions of OOD if they are not used by other applications.
sudo yum remove nginx nginx-filesystem passenger
Clean up NGINX directories from prior versions of OOD
The ondemand RPM should have copied all the nginx configurations, tmp files and logs from their previous locations to their new locations if the defaults were not changed. Once the functionality of the OnDemand 1.5 upgrade is verified it is safe to remove these old paths.
Warning
If the host running OnDemand has other applications using NGINX then special care needs to be taken not to delete files belonging to the other applications.
sudo rm -rf /var/lib/nginx/config.rpmsave sudo rm -rf /var/tmp/nginx/* sudo rm -rf /var/log/nginx/*
Upgrading from v1.3¶
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
CentOS/RHEL 6
sudo yum install -y https://yum.osc.edu/ondemand/1.5/ondemand-release-web-1.5-1.el6.noarch.rpm
CentOS/RHEL 7
sudo yum install -y https://yum.osc.edu/ondemand/1.5/ondemand-release-web-1.5-1.el7.noarch.rpm
Update OnDemand
sudo yum clean all sudo yum update ondemand
Warning
This step triggers the execution of
update_ood_portal
script fromood-portal-generator
which results in/opt/rh/httpd24/root/etc/httpd/conf.d/ood-portal.conf
being modified. Your previousood-portal.conf
file will be copied to a backup in the same directory, which you may need to restore if you have made custom modifications to this file.Ensure that the resulting
ood-portal.conf
Apache config hasSetEnv OOD_PUN_SOCKET_ROOT "/var/run/nginx"
changed toSetEnv OOD_PUN_SOCKET_ROOT "/var/run/ondemand-nginx"
.Optionally remove dependencies from prior versions of OOD
sudo yum remove nodejs010\* rh-passenger40\* rh-ruby22\* nginx16\* git19\* v8314\*
Clean up NGINX directories from prior versions of OOD
The ondemand RPM should have copied all the nginx configurations, tmp files and logs from their previous locations to their new locations if the defaults were not changed. Once the functionality of the OnDemand 1.5 upgrade is verified it is safe to remove these old paths.
Warning
If the host running OnDemand has other applications using NGINX then special care needs to be taken not to delete files belonging to the other applications.
sudo rm -rf /var/lib/nginx/config.rpmsave sudo rm -rf /var/lib/nginx/tmp/* sudo rm -rf /var/log/nginx/*
Rebuild any custom Node.js or Ruby apps
Since we upgraded to Ruby 2.4 from 2.2 and NodeJS 0.10 to NodeJS 6 any custom Passenger apps in Ruby or NodeJS that have their dependencies installed in vendor/bundle or node_modules will need to be reinstalled. Some code may have to be updated or dependency versions changed to work with the latest Ruby version.
For NodeJS apps:
For Ruby apps:
If you need a way to continue to still use Ruby 2.2 or a different version of NodeJS please post a question on our Discourse instance.
Verify Navbar contains all the apps you want.
The behavior changed from 1.3 to 1.5 so by default all categories of any sys app found appear as dropdown menus without the need for configuration changes.
As a result menus may appear that you do not expect, if previously you were relying on the “whitelist” functionality of the
NavConfig.categories
.See Control Which Apps Appear in the Dashboard Navbar for details.
Verify Developer mode is configured how you want it
See Enabling App Development for an explanation of how developer mode has changed between 1.3 and 1.5 and how to configure things properly. For sites that have active developers, this will either be adding configuration to revert to 1.3’s functionality, or creating some directories and symlinks to enable specific app developers.
Infrastructure Version Changes¶
OnDemand’s infrastructure components have been merged into a monolithic repository. Component changelogs have been frozen and the parent repository will now track all infrastructure changes: OnDemand 1.5.2. Diff with 1.4.10
Application Version Changes¶
App | Version |
---|---|
Dashboard App | 1.30.2 → 1.31.0 (diff) |
Shell App | Unchanged |
Files App | Unchanged |
File Editor App | Unchanged |
Active Jobs App | 1.6.9 → 1.7.0 (diff) |
Job Composer App | 2.10.2 → 2.11.0 (diff) |
Desktops App | Unchanged |
Table 10 lists the versions as well as the previous version it was updated from for each of the system web applications in this release.
Details¶
Add ondemand SCL and use SCL nginx and passenger¶
This upgrade adds a new ondemand
software collection that is the only software collection needed to interact with OnDemand. This new softare collection will load all the collections needed by OnDemand. The Passenger and NGINX dependencies have been repackaged under this new ondemand
SCL so those packages will no longer interfere with Passenger of NGINX packages from other repositories.
Warning
- Several NGINX directories used by OnDemand have changed.
/var/lib/nginx
to/var/lib/ondemand-nginx
/var/log/nginx
to/var/log/ondemand-nginx
/var/tmp/nginx
to/var/tmp/ondemand-nginx
(1.4 to 1.5)/var/lib/nginx/tmp
to/var/tmp/ondemand-nginx
(1.3 to 1.5)
Warning
nginx_stage now loads the ondemand
SCL via /opt/ood/nginx_stage/etc/profile
before loading /etc/ood/profile
.
source scl_source enable ondemand
Performance improvements to Active Jobs¶
When displaying jobs from all clusters in Active Jobs, the app will now stream and display the job data for each cluster as it is retrieved, instead of waiting until all the clusters are queried. This takes advantage of the ability to read portions of an XHR response before the response has completed, which means you will only see the benefits in Chrome and Firefox.
Basic job array support for Slurm, Torque, and SGE¶
For Slurm, Torque, and SGE, a new text field has been added to the Job Options for the Job Composer app allowing you to specify arguments for requesting a job array when submitting a job. The apps have also been updated to gracefully handle querying jobs that are job arrays.
Note
Job array support will be added for PBSPro and LSF in the OnDemand 1.6 release.
Easier customization of home page text¶
Using Rails support for internationalization, we localized the html that shows the logo and tagline on the OnDemand home page, as well as the motd section title.
This enables admins to configure most of the home page html and MOTD section title
by setting these strings in a locales fine under /etc/ood/config
.
See Customize Tagline and Other Text on Dashboard for details.
RStudio with varying versions of R¶
We added a new tutorial for setting up a Singularity based RStudio interactive app that replaces the need for proot and enables the version of RStudio and the version of R to vary.
See Add an RStudio App for details.
Peer to peer app sharing¶
Added documentation on peer to peer app sharing, a feature that when enabled allows privleged users to deploy OnDemand apps, both Passenger and Interactive, to their home directory (or another directory specified by the admin) so that other users (peers) can launch these apps. This is also known as “executable sharing” because it is similar to how a user can add another user’s script to the PATH and then execute it.
See App Sharing for details.
Documentation update for Keycloak and Duo¶
Updated OpenID Connect via KeyCloak on RHEL7 for Keycloak 4.8.3. Added documenation on setting up two factor authentication using Duo with Keycloak via SSSD (see Two Factor Auth using Duo with Keycloak).