move controlport/logport to a separate Tub (and separate port) #2794

Closed
opened 2016-06-30 02:56:58 +00:00 by warner · 2 comments

(splitting this out of #2491)

Currently, the "controlport" and logport both use the same Tub as everything else (which, since we landed the #2759 one-Tub-per-server change, means "the same Tub as the storage server"). We want to not open a listening port unless we're running a storage server, and we're requiring the operator to tell us what the externally-visible location of that server is (rather than attempting to determine an IP address automatically), so the controlport/logport should be moved to a separate Tub.

This new control/log Tub should allocate a port (unless one is explicitly configured in tahoe.cfg) and should advertise a location of 127.0.0.1 (unless overridden in tahoe.cfg). That will enable both the automated tests like check_memory.py, and the common flogtool tail NODEDIR/private/logport.furl idiom.

If folks want to debug their nodes from a distant machine, they'll need to set tahoe.cfg to provide a location for their logport, so logport.furl will get a real hostname/ipaddr, instead of 127.0.0.1

(splitting this out of #2491) Currently, the "controlport" and logport both use the same Tub as everything else (which, since we landed the #2759 one-Tub-per-server change, means "the same Tub as the storage server"). We want to not open a listening port unless we're running a storage server, and we're requiring the operator to tell us what the externally-visible location of that server is (rather than attempting to determine an IP address automatically), so the controlport/logport should be moved to a separate Tub. This new control/log Tub should allocate a port (unless one is explicitly configured in tahoe.cfg) and should advertise a location of 127.0.0.1 (unless overridden in tahoe.cfg). That will enable both the automated tests like check_memory.py, and the common `flogtool tail NODEDIR/private/logport.furl` idiom. If folks want to debug their nodes from a distant machine, they'll need to set tahoe.cfg to provide a `location` for their logport, so `logport.furl` will get a real hostname/ipaddr, instead of 127.0.0.1
warner added the
code-nodeadmin
normal
task
1.11.0
labels 2016-06-30 02:56:58 +00:00
warner added this to the 1.13.0 milestone 2016-06-30 02:56:58 +00:00
warner self-assigned this 2016-06-30 02:56:58 +00:00
dawuud commented 2016-06-30 11:39:09 +00:00
Owner

ok here's my attempt to solve this one:
https://github.com/david415/tahoe-lafs/tree/2794.separate_tub_control_log_port.0

i think it might work but the coverage test fails because i didn't write a test for the new code?

ok here's my attempt to solve this one: <https://github.com/david415/tahoe-lafs/tree/2794.separate_tub_control_log_port.0> i think it might work but the coverage test fails because i didn't write a test for the new code?
Brian Warner <warner@lothar.com> commented 2016-07-07 04:12:40 +00:00
Owner

In 7d692d0/trunk:

Split control and log to two separate tubs, remove control knobs.

This also removes the tahoe.cfg keys that would have configured the
control-port. And it deletes the logport.furl file before asking the Tub
to re-create it, because we're now using an ephemeral Tub (so we're not
persisting the private key, so the tubid will change each time).

closes ticket:2794
In [7d692d0/trunk](/tahoe-lafs/trac-2024-07-25/commit/7d692d0afdb63fd597145e04f335d7ac5fd7dda7): ``` Split control and log to two separate tubs, remove control knobs. This also removes the tahoe.cfg keys that would have configured the control-port. And it deletes the logport.furl file before asking the Tub to re-create it, because we're now using an ephemeral Tub (so we're not persisting the private key, so the tubid will change each time). closes ticket:2794 ```
tahoe-lafs added the
fixed
label 2016-07-07 04:12:40 +00:00
Brian Warner <warner@lothar.com> closed this issue 2016-07-07 04:12:40 +00:00
warner modified the milestone from 1.13.0 to 1.12.0 2016-07-07 04:13:53 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Reference: tahoe-lafs/trac-2024-07-25#2794
No description provided.