[Dashboard] Session broken after update

Hi there,

We have just updated OOD to 3.1.5 and I am experiencing issue when I connect on my dashboard :

$ yum info ondemand
Last metadata expiration check: 2:55:42 ago on Fri 14 Jun 2024 11:49:32 AM CEST.
Installed Packages
Name         : ondemand
Version      : 3.1.5
Release      : 1.el8
Architecture : x86_64
Size         : 147 M
Source       : ondemand-3.1.5-1.el8.src.rpm
Repository   : @System
From repo    : Local-ondemand-web-osc-el-8
Summary      : Web server that provides users access to HPC resources
URL          : https://osc.github.io/Open-OnDemand
License      : MIT
Description  : Open OnDemand is an open source release of OSC's OnDemand platform to provide
             : HPC access via a web browser, supporting web based file management, shell
             : access, job submission and interactive work on compute nodes.
App 219173 output: /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:235:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'sdoc' in locally installed gems. (Bundler::GemNotFound)
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:228:in `map!'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:228:in `verify_gemfile_dependencies_are_found!'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:31:in `start'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:279:in `resolve'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:490:in `materialize'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:187:in `specs'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:244:in `specs_for'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:18:in `setup'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler.rb:161:in `setup'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `block in <top (required)>'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:136:in `with_level'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:88:in `silence'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `<top (required)>'
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `require'
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in `require'
App 219173 output: <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- bundler/setup (LoadError)
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
[ E 2024-06-14 14:13:38.0555 217976/T1h age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/ood/apps/sys/dashboard: The application process exited prematurely.
  Error ID: f538fc11
  Error details saved to: /tmp/passenger-error-goFBET.html

[ E 2024-06-14 14:13:38.0710 217976/Td age/Cor/Con/CheckoutSession.cpp:283 ]: [Client 3-1] Cannot checkout session because a spawning error occurred. The identifier of the error is f538fc11. Please see earlier logs for details about the error.

So with my user I tried to install sdoc (gem install sdoc), and I have another permission issue:

App 232051 output: /usr/share/gems/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:105:in `rescue in filesystem_access': There was an error while trying to write to `/var/www/ood/apps/sys/dashboard/Gemfile.lock`. It is likely that you need to grant write permissions for that path. (Bundler::PermissionError)
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:102:in `filesystem_access'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:316:in `lock'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:98:in `lock'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:35:in `setup'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler.rb:161:in `setup'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `block in <top (required)>'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:136:in `with_level'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:88:in `silence'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `<top (required)>'
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `require'
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in `require'
App 232051 output: /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:317:in `initialize': Permission denied @ rb_sysopen - /var/www/ood/apps/sys/dashboard/Gemfile.lock (Errno::EACCES)
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:317:in `open'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:317:in `block in lock'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:103:in `filesystem_access'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:316:in `lock'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:98:in `lock'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:35:in `setup'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler.rb:161:in `setup'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `block in <top (required)>'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:136:in `with_level'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:88:in `silence'
App 232051 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `<top (required)>'
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `require'
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in `require'
App 232051 output: <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- bundler/setup (LoadError)
App 232051 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
[ E 2024-06-14 14:42:52.0861 229607/T1r age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/ood/apps/sys/dashboard: The application process exited prematurely.

Here the screen shot of my dashboard:

I do not understand why I get this error and how to Fix it. I am the only one getting this issue.
Thankyou for any help provided :pray:t3:

If you are the only one getting the error you may have a personal bundle configuration ~/.bundle/config that conflicts with OOD. I thought we’d fixed that, but maybe not. I’ll try to replicate shortly.

I see,

I do not use .bundle Can I remove it or should I clean something ?

Yea I just tried with this and couldn’t replicate. If you do have a ~/.bundle/config you could try to delete it and see if it does anything, though I don’t know if it will solve the issue.

[~()]  cat ~/.bundle/config 
---
BUNDLE_PATH: "vendor/bundle"

Hmmmmmmm. Do you have a ~/.gem folder?

I delete the ~/.bundle and I have no ~.gem with no changes.

but I also remember that I removed ~/ondemand/ maybe it could impact ?

But I have .local/share/gem

tree gem/
gem/
├── ruby
│   ├── build_info
│   ├── cache
│   │   └── bigdecimal-3.1.8.gem
│   ├── doc
│   │   ├── abbrev-0.1.2
│   │   ├── base64-0.2.0
│   │   ├── benchmark-0.3.0
│   │   └── sdoc-2.6.1
│   ├── extensions
│   │   └── x86_64-linux
│   │       └── 3.1.0
│   │           └── bigdecimal-3.1.8
│   ├── gems
│   │   └── bigdecimal-3.1.8
│   │       ├── bigdecimal.gemspec
│   │       ├── ext
│   │       │   └── bigdecimal
│   │       │       ├── bigdecimal.c
│   │       │       ├── bigdecimal.h
│   │       │       ├── bits.h
│   │       │       ├── extconf.rb
│   │       │       ├── feature.h
│   │       │       ├── missing
│   │       │       │   └── dtoa.c
│   │       │       ├── missing.c
│   │       │       ├── missing.h
│   │       │       └── static_assert.h
│   │       ├── lib
│   │       │   ├── bigdecimal
│   │       │   │   ├── jacobian.rb
│   │       │   │   ├── ludcmp.rb
│   │       │   │   ├── math.rb
│   │       │   │   ├── newton.rb
│   │       │   │   └── util.rb
│   │       │   └── bigdecimal.rb
│   │       ├── LICENSE
│   │       └── sample
│   │           ├── linear.rb
│   │           ├── nlsolve.rb
│   │           └── pi.rb
│   ├── plugins
│   └── specifications
└── specs
    └── index.rubygems.org%443
        └── quick
            └── Marshal.4.8
                ├── abbrev-0.1.2.gemspec
                ├── base64-0.2.0.gemspec
                ├── benchmark-0.3.0.gemspec
                ├── bigdecimal-3.1.8.gemspec
                └── sdoc-2.6.1.gemspec

Can you try to delete your ~/.local/share/gem and see if that does anything?

Just as a note I always use bundle config path --local vendor/bundle when I’m developing so all the gems get installed local to the app in the vendor/bundle directory.

I did some clean in my home, I delete all my .local content, clean nginx session, close all windows and start again I have the same message with sdoc and permission.

I also notice the gem used come from system and not from ondemand-gem rpm. Is it normal?

Yea it sort of depends on the system (EL8 vs Ubuntu:24 or similar).

There should be a tmp HTML file like /tmp/passenger-error-adsfasf.html that’s owned by you. Can you open the file up and navigate to the environment section and show what that looks like? I’m looking specifically for Ruby related things like GEM_PATH or GEM_HOME environment variables.

It looks good :

LD_LIBRARY_PATH=/opt/ood/ondemand/root/usr/lib64
LANG=C
OOD_ALLOWED_HOSTS=openondemand.baobab.hpc.unige.ch
GEM_HOME=/opt/ood/ondemand/root/usr/share/gems/3.1
USER=alberta
GEM_PATH=/opt/ood/ondemand/root/usr/share/gems/3.1:/opt/ood/ondemand/root/usr/share/gems/3.1/ondemand/3.1.5-1:
X_SCLS=ondemand 
RUBYLIB=/opt/ood/ondemand/root/usr/share/ruby/vendor_ruby:/opt/ood/ondemand/root/usr/lib64/ruby/vendor_ruby
MANPATH=/opt/ood/ondemand/root/usr/share/man:
LOGNAME=alberta
PATH=/opt/ood/ondemand/root/usr/bin:/opt/ood/ondemand/root/usr/sbin:/sbin:/bin:/usr/sbin:/usr/bin
PKG_CONFIG_PATH=/opt/ood/ondemand/root/usr/lib64/pkgconfig
ONDEMAND_VERSION=3.1.5
ONDEMAND_PORTAL=ondemand
ONDEMAND_TITLE=Open OnDemand
SECRET_KEY_BASE=a1dc4e8b7892a017e375729f5dc3539f85ee6113850cb8237e9bd3d7d3f357b65785575a2f5918a6c94964f01c177b787751ccb9655691dc90305f6470481fce
NGINX_FILE_UPLOAD_MAX=10737420000
OOD_DASHBOARD_TITLE=Baobab OpenOnDemand
OOD_DEV_APPS_ROOT=/home/users/a/alberta/ondemand/dev
OOD_FILES_URL=/pun/sys/dashboard/files
OOD_EDITOR_URL=/pun/sys/dashboard/files
RAILS_LOG_TO_STDOUT=true
ALLOWED_HOSTS=
OOD_BRAND_BG_COLOR=#cf0063
OOD_BRAND_LINK_ACTIVE_BG_COLOR=#900045
PASSENGER_USE_FEEDBACK_FD=true
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0
HOME=/home/users/a/alberta
SERVER_SOFTWARE=nginx/1.24.0 Phusion_Passenger/6.0.20

Update: I am not the only one getting this error

I tried to install sdoc as root:

gem install sdoc

and now everyone have the same error (permission denied):

App 219173 output: /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:235:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'sdoc' in locally installed gems. (Bundler::GemNotFound)
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:228:in `map!'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:228:in `verify_gemfile_dependencies_are_found!'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/resolver.rb:31:in `start'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:279:in `resolve'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:490:in `materialize'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:187:in `specs'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:244:in `specs_for'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:18:in `setup'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler.rb:161:in `setup'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `block in <top (required)>'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:136:in `with_level'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:88:in `silence'
App 219173 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `<top (required)>'
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `require'
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in `require'
App 219173 output: <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- bundler/setup (LoadError)
App 219173 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
[ E 2024-06-14 14:13:38.0555 217976/T1h age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/ood/apps/sys/dashboard: The application process exited prematurely.
  Error ID: f538fc11
  Error details saved to: /tmp/passenger-error-goFBET.html

[ E 2024-06-14 14:13:38.0710 217976/Td age/Cor/Con/CheckoutSession.cpp:283 ]: [Client 3-1] Cannot checkout session because a spawning error occurred. The identifier of the error is f538fc11. Please see earlier logs for details about the error.

In the end, I deleted and reinstalled all the ondemand rpm, and it works again. I don’t know what went wrong.

However after installation, as we use saltstack to deploy our configuration, I checked and noticed that the ondemand-gems metapackage is not provided with the ondemand rpm (by dependency).

So I’m wondering if it wouldn’t be wiser not to install it.

Incidentally, I’m having the same kind of problem as sdoc with a passenger application to retrieve quotas with beegfs :

Could not find sinatra-3.0.6, sinatra-contrib-3.0.6, rack-2.2.6.4, rack-protection-3.0.6, tilt-2.1.0 in locally installed gems (Bundler::GemNotFound)

App 741573 output: [2024-06-17 11:21:08 +0200 ]  INFO "method=GET path=/pun/sys/dashboard/apps/show/ug_Beegfs_quota format=html controller=AppsController action=show status=302 allocations=13598 duration=21.00 view=0.00 location=https://openondemand.baobab.hpc.unige.ch/pun/sys/ug_Beegfs_quota"
App 741873 output: /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:507:in `materialize': Could not find sinatra-3.0.6, sinatra-contrib-3.0.6, rack-2.2.6.4, rack-protection-3.0.6, tilt-2.1.0 in locally installed gems (Bundler::GemNotFound)
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:187:in `specs'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/definition.rb:244:in `specs_for'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/runtime.rb:18:in `setup'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler.rb:161:in `setup'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `block in <top (required)>'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:136:in `with_level'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:88:in `silence'
App 741873 output: 	from /usr/share/gems/gems/bundler-2.3.26/lib/bundler/setup.rb:20:in `<top (required)>'
App 741873 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `require'
App 741873 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
App 741873 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in `require'
App 741873 output: <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- bundler/setup (LoadError)
App 741873 output: 	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
[ E 2024-06-17 11:21:09.0851 727967/T1y age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/ood/apps/sys/ug_Beegfs_quota: The application process exited prematurely.

The gemfile /var/www/ood/apps/sys/dashboard/Gemfile.lock contains all the “missing” gems:

$ cat /var/www/ood/apps/sys/dashboard/Gemfile.lock 
GEM
  remote: https://rubygems.org/
  specs:
    actioncable (6.1.7.6)
      actionpack (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
    actionmailbox (6.1.7.6)
      actionpack (= 6.1.7.6)
      activejob (= 6.1.7.6)
      activerecord (= 6.1.7.6)
      activestorage (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      mail (>= 2.7.1)
    actionmailer (6.1.7.6)
      actionpack (= 6.1.7.6)
      actionview (= 6.1.7.6)
      activejob (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      mail (~> 2.5, >= 2.5.4)
      rails-dom-testing (~> 2.0)
    actionpack (6.1.7.6)
      actionview (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      rack (~> 2.0, >= 2.0.9)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.0, >= 1.2.0)
    actiontext (6.1.7.6)
      actionpack (= 6.1.7.6)
      activerecord (= 6.1.7.6)
      activestorage (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      nokogiri (>= 1.8.5)
    actionview (6.1.7.6)
      activesupport (= 6.1.7.6)
      builder (~> 3.1)
      erubi (~> 1.4)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.1, >= 1.2.0)
    activejob (6.1.7.6)
      activesupport (= 6.1.7.6)
      globalid (>= 0.3.6)
    activemodel (6.1.7.6)
      activesupport (= 6.1.7.6)
    activerecord (6.1.7.6)
      activemodel (= 6.1.7.6)
      activesupport (= 6.1.7.6)
    activestorage (6.1.7.6)
      actionpack (= 6.1.7.6)
      activejob (= 6.1.7.6)
      activerecord (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      marcel (~> 1.0)
      mini_mime (>= 1.1.0)
    activesupport (6.1.7.6)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      tzinfo (~> 2.0)
      zeitwerk (~> 2.3)
    addressable (2.8.6)
      public_suffix (>= 2.0.2, < 6.0)
    autoprefixer-rails (10.2.5.1)
      execjs (> 0)
    base64 (0.2.0)
    bootstrap_form (4.5.0)
      actionpack (>= 5.2)
      activemodel (>= 5.2)
    browser (2.7.1)
    builder (3.2.4)
    byebug (11.1.3)
    capybara (3.39.2)
      addressable
      matrix
      mini_mime (>= 0.1.3)
      nokogiri (~> 1.8)
      rack (>= 1.6.0)
      rack-test (>= 0.6.3)
      regexp_parser (>= 1.5, < 3.0)
      xpath (~> 3.2)
    childprocess (4.1.0)
    climate_control (0.2.0)
    coffee-rails (5.0.0)
      coffee-script (>= 2.2.0)
      railties (>= 5.2.0)
    coffee-script (2.4.1)
      coffee-script-source
      execjs
    coffee-script-source (1.12.2)
    concurrent-ruby (1.2.3)
    crass (1.0.6)
    cssbundling-rails (1.4.0)
      railties (>= 6.0.0)
    dalli (3.2.7)
      base64
    date (3.3.4)
    domain_name (0.6.20240107)
    dotenv (2.8.1)
    dotenv-rails (2.8.1)
      dotenv (= 2.8.1)
      railties (>= 3.2)
    dotiw (5.3.3)
      activesupport
      i18n
    erubi (1.12.0)
    execjs (2.9.1)
    ffi (1.16.3)
    globalid (1.2.1)
      activesupport (>= 6.1)
    http-accept (1.7.0)
    http-cookie (1.0.5)
      domain_name (~> 0.5)
    i18n (1.14.1)
      concurrent-ruby (~> 1.0)
    jbuilder (2.11.5)
      actionview (>= 5.0.0)
      activesupport (>= 5.0.0)
    jsbundling-rails (1.3.0)
      railties (>= 6.0.0)
    local_time (1.0.3)
      coffee-rails
    lograge (0.14.0)
      actionpack (>= 4)
      activesupport (>= 4)
      railties (>= 4)
      request_store (~> 1.0)
    loofah (2.22.0)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    mail (2.8.1)
      mini_mime (>= 0.1.1)
      net-imap
      net-pop
      net-smtp
    marcel (1.0.2)
    matrix (0.4.2)
    method_source (1.0.0)
    mime-types (3.5.2)
      mime-types-data (~> 3.2015)
    mime-types-data (3.2023.1205)
    mini_mime (1.1.5)
    mini_portile2 (2.8.5)
    minitest (5.21.2)
    mocha (2.1.0)
      ruby2_keywords (>= 0.0.5)
    multi_json (1.15.0)
    mustermann (3.0.0)
      ruby2_keywords (~> 0.0.1)
    net-imap (0.3.7)
      date
      net-protocol
    net-pop (0.1.2)
      net-protocol
    net-protocol (0.2.2)
      timeout
    net-smtp (0.4.0.1)
      net-protocol
    netrc (0.11.0)
    nio4r (2.7.0)
    nokogiri (1.15.5)
      mini_portile2 (~> 2.8.2)
      racc (~> 1.4)
    ood_appkit (2.1.1)
      addressable (~> 2.4)
      lograge (~> 0.3)
      ood_core (~> 0.1)
      rails (>= 6.0.0, < 7)
      redcarpet (~> 3.2)
    ood_core (0.25.0)
      ffi (~> 1.9, >= 1.9.6)
      ood_support (~> 0.0.2)
      rexml (~> 3.2)
    ood_support (0.0.5)
    pbs (2.2.1)
      ffi (~> 1.9, >= 1.9.6)
    psych (5.1.2)
      stringio
    public_suffix (5.0.4)
    racc (1.7.3)
    rack (2.2.8)
    rack-protection (3.2.0)
      base64 (>= 0.1.0)
      rack (~> 2.2, >= 2.2.4)
    rack-test (2.1.0)
      rack (>= 1.3)
    rails (6.1.7.6)
      actioncable (= 6.1.7.6)
      actionmailbox (= 6.1.7.6)
      actionmailer (= 6.1.7.6)
      actionpack (= 6.1.7.6)
      actiontext (= 6.1.7.6)
      actionview (= 6.1.7.6)
      activejob (= 6.1.7.6)
      activemodel (= 6.1.7.6)
      activerecord (= 6.1.7.6)
      activestorage (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      bundler (>= 1.15.0)
      railties (= 6.1.7.6)
      sprockets-rails (>= 2.0.0)
    rails-dom-testing (2.2.0)
      activesupport (>= 5.0.0)
      minitest
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.6.0)
      loofah (~> 2.21)
      nokogiri (~> 1.14)
    railties (6.1.7.6)
      actionpack (= 6.1.7.6)
      activesupport (= 6.1.7.6)
      method_source
      rake (>= 12.2)
      thor (~> 1.0)
    rake (13.1.0)
    rdoc (6.6.3.1)
      psych (>= 4.0.0)
    redcarpet (3.6.0)
    regexp_parser (2.9.0)
    request_store (1.5.1)
      rack (>= 1.4)
    rest-client (2.1.0)
      http-accept (>= 1.7.0, < 2.0)
      http-cookie (>= 1.0.2, < 2.0)
      mime-types (>= 1.16, < 4.0)
      netrc (~> 0.8)
    rexml (3.2.6)
    rss (0.3.0)
      rexml
    ruby2_keywords (0.0.5)
    rubyzip (2.3.2)
    sdoc (2.6.1)
      rdoc (>= 5.0)
    selenium-webdriver (4.5.0)
      childprocess (>= 0.5, < 5.0)
      rexml (~> 3.2, >= 3.2.5)
      rubyzip (>= 1.2.2, < 3.0)
      websocket (~> 1.0)
    sinatra (3.2.0)
      mustermann (~> 3.0)
      rack (~> 2.2, >= 2.2.4)
      rack-protection (= 3.2.0)
      tilt (~> 2.0)
    sinatra-contrib (3.2.0)
      multi_json (>= 0.0.2)
      mustermann (~> 3.0)
      rack-protection (= 3.2.0)
      sinatra (= 3.2.0)
      tilt (~> 2.0)
    sprockets (4.2.1)
      concurrent-ruby (~> 1.0)
      rack (>= 2.2.4, < 4)
    sprockets-rails (3.4.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      sprockets (>= 3.0.0)
    stringio (3.1.0)
    thor (1.3.0)
    tilt (2.3.0)
    timecop (0.9.8)
    timeout (0.4.1)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    webrick (1.8.1)
    websocket (1.2.10)
    websocket-driver (0.7.6)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    xpath (3.2.0)
      nokogiri (~> 1.8)
    zeitwerk (2.6.12)
    zip_kit (6.2.2)

PLATFORMS
  ruby

DEPENDENCIES
  addressable (~> 2.4)
  autoprefixer-rails (~> 10.2.5)
  bootstrap_form (~> 4.0)
  browser (~> 2.2)
  byebug
  capybara
  climate_control (~> 0.2)
  cssbundling-rails (~> 1.1)
  dalli
  dotenv-rails (~> 2.1)
  dotiw
  erubi
  jbuilder (~> 2.0)
  jsbundling-rails (~> 1.0)
  local_time (~> 1.0.3)
  mocha (~> 2.1)
  ood_appkit (~> 2.1.0)
  ood_core (~> 0.25)
  ood_support (~> 0.0.2)
  pbs (~> 2.2.1)
  rails (= 6.1.7.6)
  redcarpet (~> 3.3)
  rest-client (~> 2.0)
  rss (~> 0.2)
  sdoc
  selenium-webdriver (= 4.5.0)
  sinatra
  sinatra-contrib
  timecop (~> 0.9)
  webrick
  zip_kit (~> 6.2)

BUNDLED WITH
   2.3.6

How (by whom) should these gems be installed? (automatically? as user? as root? or other?)

I have tried to be as clear as possible in my research and questions, I hope I haven’t been too verbose.

Thank you :slight_smile:

Hi, @jeff.ohrstrom @garadar has there been a resolution to the

Permission denied @ rb_sysopen

error?

I’m trying to setup user quota warnings and ood fails to read the json file because of above error despite the appropriate permissions.

Apologies for letting this topic go.

@manas-suleman

Sounds like that’s a bug if you get errors trying to open quota files. As an off the top guess, if you’re getting that error you can’t in fact read that file, so your resolution should just be to make that file readable by regular users.

@garadar

If you need to install gems on the system you need to source /opt/ood/ondemand/enable before installing so that they land in the right place.

They should have been added by the RPM. The RPM contains (or should contain) all the gems we need. These we downloaded when the RPM was built. When you install the RPM it moves these to /opt/ood/ondemand/root/usr/share/gems/3.1.

@jeff.ohrstrom thanks for the reply. the file is already read by other users. I ‘fixed’ the problem by moving the json file to /tmp and that, for some reason, fixed it.

Hi all,

I am sorry I did not answer after finding the solution.

Mistake: I puppetised/salted the gemfile.lock preventing, once ondemand updated, to initialize the app with the new Gem.

Resolution: So I removed from salt/puppet, delete Gemfile.lock. And it works better.