You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should allow edits of the Pelican configuration through the web UI.
Beyond the obvious browser UI changes to allow admins to edit and hit "save", the other parts of this infrastructure should be:
Add a generated configuration file - clearly stating it is automatically overwritten and named accordingly - that is loaded LAST after all the existing configuration.
Add a SetConfig API to set multiple variables (the backend equivalent of a "save"). When invoked, it should atomically write out a new set of generated config overrides.
After the SetConfig API is invoked, we should have Pelican restart itself. A CancelWithCause should be invoked with a well-known cause. The very top level handler should inspect the cause of the cancel and, if it's a config restart, re-exec the process. To have the UI know when the settings are in effect, we should have an API that indicates the time of last start and poll for it to change.
Restarting the server is a bit ugly. However, our param subsystem isn't currently thread-safe (fixable) and we would need to review it use to see if some of the values are cached long-term (hard). The really tough aspect is XRootD, however: we'd need to track which variables are xrootd-related and be able to bounce those services.
That might be doable in the future: for now, let's simply restart.
The text was updated successfully, but these errors were encountered:
We should allow edits of the Pelican configuration through the web UI.
Beyond the obvious browser UI changes to allow admins to edit and hit "save", the other parts of this infrastructure should be:
Restarting the server is a bit ugly. However, our param subsystem isn't currently thread-safe (fixable) and we would need to review it use to see if some of the values are cached long-term (hard). The really tough aspect is XRootD, however: we'd need to track which variables are xrootd-related and be able to bounce those services.
That might be doable in the future: for now, let's simply restart.
The text was updated successfully, but these errors were encountered: