Bundler::PermissionError from passenger app

Hi all,

I am running open ondemand 1.8. I am following the steps in this documentation to generate a passenger app.

https://osc.github.io/ood-documentation/latest/app-development/tutorials-passenger-apps/ps-to-quota.html

I got the Bundler::PermissionError when I run this app through open ondemand.

The Phusion Passenger application server tried to start the web application. But the application itself (and not Passenger) encountered an internal error.

Error details:

Bundler::PermissionError (Bundler::PermissionError)
/opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:120:in rescue in filesystem_access' /opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:115:in filesystem_access’
/opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler/definition.rb:353:in lock' /opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler/runtime.rb:121:in lock’
/opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler/runtime.rb:48:in setup' /opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler.rb:107:in setup’
/opt/ood/ondemand/root/usr/share/gems/2.5/gems/bundler-1.17.3/lib/bundler/setup.rb:20:in <top (required)>' /opt/rh/rh-ruby25/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:59:in require’
/opt/rh/rh-ruby25/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:59:in require' /opt/rh/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:363:in activate_gem’
/opt/rh/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:221:in block in run_load_path_setup_code' /opt/rh/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:527:in running_bundler’
/opt/rh/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:220:in run_load_path_setup_code' /opt/rh/ondemand/root/usr/share/passenger/helper-scripts/rack-loader.rb:86:in load_app’
/opt/rh/ondemand/root/usr/share/passenger/helper-scripts/rack-loader.rb:116:in block in <module:App>' /opt/rh/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:380:in run_block_and_record_step_progress’
/opt/rh/ondemand/root/usr/share/passenger/helper-scripts/rack-loader.rb:115:in <module:App>' /opt/rh/ondemand/root/usr/share/passenger/helper-scripts/rack-loader.rb:28:in module:PhusionPassenger
/opt/rh/ondemand/root/usr/share/passenger/helper-scripts/rack-loader.rb:27:in `’

Thanks,

Look like you’re trying to bundle install into a directory you don’t have access to like /var/www/.

Can you try setting this app up in your own HOME directory like ~/ondemand/dev/ood-example-ps first? That’s a much better practice anyhow, no need to privilege escalate because it’s your own directory.

I have resolved this problem.

I run “bundle install --path=vendor/bundle” as root under the app directory.