Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document OnDemand 4.0 dependency changes and upgrade instructions #1028

Merged
merged 1 commit into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 7 additions & 11 deletions source/installation/install-software.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ Install Software

Open OnDemand uses these packages, among many others.

- `Apache HTTP Server 2.4`_
- Ruby 3.0 with :command:`rake`, :command:`bundler`, and development
- Apache HTTP Server 2.4
- Ruby 3.3 with :command:`rake`, :command:`bundler`, and development
libraries
- Node.js 18

Some operating systems use `Software Collections`_ to satisfy these.
- Node.js 20

.. note::

Expand Down Expand Up @@ -39,23 +37,23 @@ Some operating systems use `Software Collections`_ to satisfy these.

sudo dnf config-manager --set-enabled powertools
sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo dnf module enable ruby:3.3 nodejs:20

.. tab:: RockyLinux/Alma Linux 9

.. code-block:: sh

sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo dnf module enable ruby:3.3 nodejs:20


.. tab:: RHEL 8

.. code-block:: sh

sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo dnf module enable ruby:3.3 nodejs:20
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms


Expand All @@ -64,7 +62,7 @@ Some operating systems use `Software Collections`_ to satisfy these.
.. code-block:: sh

sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo dnf module enable ruby:3.3 nodejs:20
sudo subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms

2. Add repository and install
Expand Down Expand Up @@ -198,6 +196,4 @@ If you'd like a package built for a system that we don't currently support, feel

- https://github.com/OSC/ondemand/issues/new

.. _software collections: https://www.softwarecollections.org/en/
.. _apache http server 2.4: https://www.softwarecollections.org/en/scls/rhscl/httpd24/
.. _ohio supercomputer center: https://www.osc.edu/
16 changes: 2 additions & 14 deletions source/installation/resource-manager/test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,7 @@ configuration files.
``cluster1``, so you will need to replace it with the name of the cluster
you configured):

.. rubric:: If your operating system is CentOS 7 or RHEL 7, run this command:

.. code-block:: sh

sudo su $USER -c 'scl enable ondemand -- bin/rake test:jobs:cluster1 RAILS_ENV=production'

.. rubric:: Otherwise, run this command:
.. rubric:: Run this command:

.. code-block:: sh

Expand Down Expand Up @@ -101,13 +95,7 @@ configuration files.
provide these command line arguments as a string with the environment
variable ``SUBMIT_ARGS`` as:

.. rubric:: If your operating system is CentOS 7 or RHEL 7, run this command:

.. code-block:: sh

sudo su $USER -c 'scl enable ondemand-- bin/rake test:jobs:cluster1 RAILS_ENV=production SUBMIT_ARGS="-A myaccount"'

.. rubric:: Otherwise, run this command:
.. rubric:: Run this command:

.. code-block:: sh

Expand Down
14 changes: 7 additions & 7 deletions source/reference/files/nginx-stage-yml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ Configuration Options
the path to the NGINX binary

Default
Use NGINX installed by OnDemand Software Collections
Use NGINX installed by OnDemand

.. code-block:: yaml

Expand Down Expand Up @@ -220,7 +220,7 @@ Configuration Options
the path to the system-installed NGINX ``mime.types`` file

Default
Use the NGINX installed by OnDemand Software Collections file
Use the NGINX installed by OnDemand

.. code-block:: yaml

Expand All @@ -238,7 +238,7 @@ Configuration Options
the ``locations.ini`` file that describes Passenger installation

Default
Use the file supplied by Passenger from OnDemand Software Collections
Use the file supplied by Passenger from OnDemand

.. code-block:: yaml

Expand All @@ -263,11 +263,11 @@ Configuration Options
passenger_ruby: "/opt/ood/nginx_stage/bin/ruby"

Example
Use the binary supplied by Ruby 2.4 installed by Software Collections
Use the system installed Ruby

.. code-block:: yaml

passenger_ruby: "/opt/rh/rh-ruby25/root/usr/bin/ruby"
passenger_ruby: "/usr/bin/ruby"

.. describe:: passenger_nodejs (String, null)

Expand All @@ -281,11 +281,11 @@ Configuration Options
passenger_nodejs: "/opt/ood/nginx_stage/bin/node"

Example
Use the binary supplied by Node.js installed by Software Collections
Use the system installed Node.js

.. code-block:: yaml

passenger_nodejs: "/opt/rh/rh-nodejs6/root/usr/bin/node"
passenger_nodejs: "/usr/bin/node"

.. describe:: passenger_python (String, null)

Expand Down
178 changes: 178 additions & 0 deletions source/release-notes/v4.0-release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ Administrative changes
----------------------

- `Breaking Changes`_
- `Dependency updates`_
- `Upgrade directions`_

New Features
------------
Expand All @@ -16,6 +18,7 @@ New Features
- `Batch connect sessions poll delay`_
- `System Status application`_
- `User mapping now accepts UIDs`
- `Remove runtime dependency on SCL`

Thanks!
-------
Expand Down Expand Up @@ -95,7 +98,21 @@ for more details.
Dependency updates
..................

This release updates the following dependencies:

- Ruby 3.3 **(RHEL 8 & 9 only)**

.. 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.

- NodeJS 20 **(All OSes)**

.. warning:: The change in Node version means any Node based apps that are not provided by the OnDemand RPM must be rebuilt.

.. warning:: Ubuntu 24.04 and Debian 12 are no longer support on ppc64le due to NodeJS 20 not being available on that architecture.

- Passenger 6.0.23
- NGINX 1.26.1
- ondemand-dex 2.41.1

SELinux changes
...............
Expand All @@ -104,7 +121,160 @@ SELinux changes
Upgrade directions
..................

.. warning::

**Update** the **development** or **test** instances of OnDemand installed at your center **first** before you modify the *production* instance.

.. warning::

The OnDemand upgrade has only been tested going from 3.1.x to 4.0.x.

#. Update OnDemand repository

.. tabs::

.. tab:: RedHat/Rocky Linux/AlmaLinux 8

.. code-block:: sh

sudo yum install -y https://yum.osc.edu/ondemand/4.0/ondemand-release-web-4.0-1.el8.noarch.rpm

.. tab:: RedHat/Rocky Linux/AlmaLinux 9

.. code-block:: sh

sudo yum install -y https://yum.osc.edu/ondemand/4.0/ondemand-release-web-4.0-1.el9.noarch.rpm

.. tab:: Ubuntu 20.04

.. code-block:: sh

wget -O /tmp/ondemand-release-web_4.0.0-focal_all.deb https://apt.osc.edu/ondemand/4.0/ondemand-release-web_4.0.0-focal_all.deb
sudo apt install /tmp/ondemand-release-web_4.0.0-focal_all.deb
sudo apt update

.. tab:: Ubuntu 22.04

.. code-block:: sh

wget -O /tmp/ondemand-release-web_4.0.0-jammy_all.deb https://apt.osc.edu/ondemand/4.0/ondemand-release-web_4.0.0-jammy_all.deb
sudo apt install /tmp/ondemand-release-web_4.0.0-jammy_all.deb
sudo apt update

.. tab:: Ubuntu 24.04

.. code-block:: sh

wget -O /tmp/ondemand-release-web_4.0.0-noble_all.deb https://apt.osc.edu/ondemand/4.0/ondemand-release-web_4.0.0-noble_all.deb
sudo apt install /tmp/ondemand-release-web_4.0.0-noble_all.deb
sudo apt update

.. tab:: Debian 12

.. code-block:: sh

wget -O /tmp/ondemand-release-web_4.0.0-bookworm_all.deb https://apt.osc.edu/ondemand/4.0/ondemand-release-web_4.0.0-bookworm_all.deb
sudo apt install /tmp/ondemand-release-web_4.0.0-bookworm_all.deb
sudo apt update

.. tab:: Amazon Linux 2023

.. code-block:: sh

sudo dnf install -y https://yum.osc.edu/ondemand/4.0/ondemand-release-web-4.0-1.amzn2023.noarch.rpm

#. Enable dependency repos

**RHEL/Rocky/AlmaLinux 8 & 9 only**

.. code-block:: sh

sudo dnf module reset nodejs
sudo dnf module enable nodejs:20
sudo dnf module reset ruby
sudo dnf module enable ruby:3.3

#. Update OnDemand

.. tabs::

.. tab:: yum/dnf

.. code-block:: sh

sudo yum clean all
sudo yum update ondemand

.. tab:: apt

.. code-block:: sh

sudo apt-get --only-upgrade install ondemand

#. (Optional) If using Dex based authentiction, update the ``ondemand-dex`` package.

.. tabs::

.. tab:: yum/dnf

.. code-block:: sh

sudo yum update ondemand-dex


.. tab:: apt

.. code-block:: sh

sudo apt-get --only-upgrade install ondemand-dex

#. Update Apache configuration and restart Apache.

.. code-block:: sh

sudo /opt/ood/ood-portal-generator/sbin/update_ood_portal

.. tabs::

.. tab:: RedHat/Rocky Linux/AlmaLinux 8 & 9

.. code-block:: sh

sudo systemctl try-restart httpd

.. tab:: Ubuntu 20.04 & 22.04 & Debian 12

.. code-block:: sh

sudo systemctl try-restart apache2

.. tab:: Amazon 2023

.. code-block:: sh

sudo systemctl try-restart httpd

#. (Optional) If ``ondemand-dex`` was installed, restart the ``ondemand-dex`` service.

.. code-block:: sh

sudo systemctl try-restart ondemand-dex.service

#. (Optional) If ``ondemand-selinux`` was installed, see :ref:`ood_selinux_updates`

#. Force all PUNs to restart

.. code-block:: sh

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.

**RHEL/Rocky/AlmaLinux 8 & 9 only**

.. code-block:: sh

sudo dnf remove environment-modules scl-utils

Details of new features
-----------------------
Expand Down Expand Up @@ -167,3 +337,11 @@ User mapping now accepts UIDs
User mapping scripts can now return a UID instead of a username.
This can be helpful for centers that have multiple domains and possible
username collisions.

Remove runtime dependency on SCL
................................

OnDemand no longer requires SCL on RHEL based systems.
OnDemand also no longer has an indirect dependency on the TCL environment module packages.
This removal of the SCL dependency should make it possible to install OnDemand on hosts such
as a head node where the Lmod environment modules are setup.
6 changes: 2 additions & 4 deletions source/requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,20 @@ At this time OnDemand only supports the following operating systems and architec
"RedHat/Rocky Linux/AlmaLinux 9",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`✅`
"Ubuntu 20.04",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`❌`
"Ubuntu 22.04",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`❌`
"Ubuntu 24.04",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`✅`
"Debian 12",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`✅`
"Ubuntu 24.04",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`❌`
"Debian 12",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`❌`
"Amazon Linux 2023",:raw-html:`✅`,:raw-html:`✅`,:raw-html:`❌`

Software Requirements
---------------------

On the Web node serving OnDemand itself:

- `Software Collections repositories`_
- `lsof`_
- `sudo`_
- `OnDemand repository`_:
- ondemand-{{ondemand_version}}-1.el7.x86_64.rpm

.. _Software Collections repositories: https://www.softwarecollections.org/en/
.. _lsof: https://en.wikipedia.org/wiki/Lsof
.. _OnDemand repository: https://openondemand.org/
.. _sudo: https://www.sudo.ws/
Expand Down