OSC / ondemand

Supercomputing. Seamlessly. Open, Interactive HPC Via the Web
https://openondemand.org/
MIT License
287 stars 106 forks source link

Add back support for deploying passenger app updates without restarting PUNs #483

Open ericfranz opened 4 years ago

ericfranz commented 4 years ago

Now, if Passenger apps deployed result in more gems being added via the new gem set rpms, when Passenger reloads the app these new gems will not be loaded because the path used to find where gems are installed has been set when the PUN starts, when scl enable ondemand is called.

We could Update default ruby wrapper script to load SCL again to fix this problem https://github.com/OSC/ondemand/blob/4992a049700e289cbd3f655c523f9bd477782e99/nginx_stage/bin/ruby

However, this introduces a complexity. We would want to source https://github.com/OSC/ondemand/blob/master/nginx_stage/etc/profile but would need to do something like https://github.com/OSC/ondemand/blob/master/nginx_stage/sbin/nginx_stage#L18-L23 and those files are understood to be source by the root user, and at this stage they would be sourced by the unprivileged user.

┆Issue is synchronized with this Asana task by Unito

ericfranz commented 4 years ago

Actually for apps that use this feature we could just add a custom ruby wrapper that fixes the issue... directly

matt257 commented 2 months ago

reviewed,