v2.1 Release Notes¶
Warning
There are some breaking changes in 2.1. See the upgrade directions below for details.
Highlights in 2.1:
Upgrading from v2.0¶
Breaking Changes¶
context.json file locations have changed¶
This is an interal item to Open OnDemand and not likely to really affect you at all.
In versions 2.0 and below, batch connect apps wrote a context.json file to
a directory like ~/data/sys/dashboard/batch_connect/sys/<APPNAME>/context.json
.
OnDemand uses these files to cache the choices a user makes for the next time they
use that app.
Version 2.1 now writes files like ~/ondemand/data/sys/dashboard/batch_connect/cache/<APPNAME>.json
Deprecations¶
Autoloading during initialization is deprecated.¶
This comes from the Ruby on Rails framework that Open OnDemand utilizes. It affects initializers you may have written, for example to Add Shortcuts to Files Menu.
To resolve this, wrap your code in a Rails.application.config.after_initialize
block.
For example, if you have:
# /etc/ood/config/apps/dashboard/initializers/ood.rb
OodFilesApp.candidate_favorite_paths.tap do |paths|
# add User project space directory
paths << FavoritePath.new("/fs/project/#{User.new.name}")
end
You will need to modify that file like so:
# /etc/ood/config/apps/dashboard/initializers/ood.rb
Rails.application.config.after_initialize do
OodFilesApp.candidate_favorite_paths.tap do |paths|
# add User project space directory
paths << FavoritePath.new("/fs/project/#{User.new.name}")
end
end
Upgrade directions¶
Warning
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.
Warning
The OnDemand upgrade has only been tested going from 2.0.x to 2.1.x.
Update OnDemand release RPM
sudo yum install -y https://yum.osc.edu/ondemand/2.1/ondemand-release-web-2.1-1.noarch.rpm
Enable dependency repos
RHEL/Rocky 8 only
sudo dnf module reset nodejs sudo dnf module enable nodejs:14 sudo dnf module reset ruby sudo dnf module enable ruby:3.0
Update OnDemand
sudo yum clean all sudo yum update ondemand
(Optional) If using Dex based authentiction, update the
ondemand-dex
package.sudo yum update ondemand-dex
Update Apache configuration and restart Apache.
sudo /opt/ood/ood-portal-generator/sbin/update_ood_portal
RHEL/Rocky 8 only
sudo systemctl try-restart httpd
RHEL/CentOS 7 only
sudo systemctl try-restart httpd24-httpd.service
(Optional) If
ondemand-dex
was installed, restart theondemand-dex
service.sudo systemctl try-restart ondemand-dex.service
(Optional) If
ondemand-selinux
was installed, see SELinux after UpdatesForce all PUNs to restart
sudo /opt/ood/nginx_stage/sbin/nginx_stage nginx_clean -f
(Optional) Remove old dependencies from prior versions of OOD if they are not used by other applications.
Warning
See Dependency updates warning before uninstalling old Ruby versions.
RHEL/CentOS 7 only
sudo yum remove rh-nodejs12\* rh-ruby27\*
Details¶
EL9, Ubuntu 22.04 and Ubuntu 20.04 packages¶
See Install Software for instructions on how to install OnDemand using the new EL9, Ubuntu 22.04 and Ubuntu 20.04 packages.
Dex behind Apache reverse proxy by default¶
Warning
Dex behind the Apache reverse proxy is a behavior change from OnDemand 2.0 where the reverse proxy configuration was optional. This is to improve security as well as allow Apache to provide access logs. If you have opened ports for Dex they can be closed as all traffic to Dex will flow through Apache.
By default Dex now sits behind the Apache reverse proxy.
If you wish to go back to Dex being directly accessed set the following in /etc/ood/config/ood_portal.yml
:
dex_uri: false
Automatic Form Options¶
2.1 ships with some form.yml
options that populate forms automatically. This includes
auto_primary_group
, auto_groups
, auto_accounts
and auto_modules
.
See the section on Automatic Predefined Attributes for all available options.
Support for remote files¶
2.1 ships with the ability to browse, edit and download remote files from rclone
.
Refer to Accessing Remote File Systems for how to turn this feature on.
Quick Launch Apps¶
Quick Launch Apps launch with one click and hard coded settings. This allows for sites with common resource requests to hard code those requests into the app such that the user is never presented with the form.
These launch with 1 click from the user and do not allow for choices. I.e., the user is never presented with a form to fill out, the app simply launches when clicked.
See the documentation for Quick Launch Apps for more information.
Deleting old interactive app directories¶
2.1 provides a mechanism to automatically delete all the directories that interactive
applications create in ~/ondemand/data/sys/dashboard/batch_connect/...
after some
time period. The system provides two options for this: One to enable the feature
altogether and the other is to specify how old a directory must be to be removed.
See the configuration options for removing old directories for more details.
Disabling interactive app versions¶
Sites can now disable showing interactive application versions through the
hide_app_version
ondemand.d property.
Recently Used Apps widget¶
In 2.0 we provided a way to change the dashboard layout. Now, in 2.1 there
are more widgets to choose from, namely the recently_used_apps
widget.
This widget will show the last 4 recently used applications. What’s more is, they’re Quick Launch Apps so users only need to click on them to submit the job with the same parameters they used before.
Running Sessions widget¶
Along with recently_used_apps
widget above, we’re also providing the
sessions
widget which will show the same cards that are shown in the
My Interactive Sessions
page.
This means users who have running interactive applications can now connect to them through the landing page without having to navigate anywhere else.
Displaying Form options¶
Sites can now display form choices in the resulting connection card.
See Displaying form items in the session card for more information.
Submitting Help tickets¶
Sites can enable submitting help tickets from interactive cards.
see Support Tickets for more information on how this behaves and how to enable it.
Dependency updates¶
This release updates the following dependencies:
Ruby 3.0
Warning
The change in Ruby version means any Ruby based apps that are not provided by the OnDemand RPM must be rebuilt or supply their own
bin/ruby
to use the older version of ruby.Note
Ruby 2.7 is still supported and used by Ubuntu 20.04.
NodeJS 14
Warning
The change in Node version means any Node based apps that are not provided by the OnDemand RPM must be rebuilt.
Passenger 6.0.14
NGINX 1.20.2
ondemand-dex 2.32.0
OnDemand package now depends on Python 3 instead of Python 2
SELinux changes¶
The ondemand_use_shell_app
SELinux boolean was removed and replaced with ondemand_use_ssh
that is enabled by default.
The ondemand_use_kubernetes
SELinux boolean was added and is disabled by default.
See the OnDemand SELinux documentation for details