Opened at 2018-10-15T14:53:39Z
#2952 new enhancement
Runtime reconfiguration
Reported by: | cypher | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | code | Version: | 1.12.1 |
Keywords: | usability magic-folder | Cc: | |
Launchpad Bug: |
Description
Currently, any configuration-related changes made to a local Tahoe-LAFS node (e.g., editing tahoe.cfg, adding new storage servers via private/servers.yaml, or creating/joining magic-folders) will require that that node be restarted in order for the changes to take effect. Restarting a node during use, however, will naturally interrupt current upload/download operations and introduce additional user-facing delays (since, e.g., the restart command will typically take a couple of seconds to complete, additional time is needed for clients/nodes to reconnect, and so on).
Accordingly, it would be useful if "live" reconfiguration could be performed at runtime with any changes going into effect immediately and/or without requiring a full node restart. As one solution, perhaps the web API could be extended to support getting/setting various configuration params via GET/PUT/DELETE/POST methods (e.g., with POST /config/node?nickname=TestGrid being equivalent to setting [node]nickname=TestGrid in tahoe.cfg and restarting). As a weaker (but still useful) solution, perhaps a tahoe reload CLI command could be introduced that would reload and apply any/all configuration changes without interrupting in-progress operations.
Of course, at this stage, these are just simple ideas but I would welcome additional input and discussion from anyone who may be interested on how to best implement something along these lines. :)