tahoe restart barfs on non-node directories #315

Closed
opened 2008-02-14 01:04:57 +00:00 by zandr · 5 comments
zandr commented 2008-02-14 01:04:57 +00:00
Owner

Allmydata.com has a convention of having all operational nodes in a directory called ~/prodnet. This makes restarting all nodes easy, doing something like "for i in *; do tahoe restart $i; done" (or even tahoe restart -m *).

Unfortunately, there are two things that belong in ~/prodnet that aren't actually nodes. (stats-gatherer and log-gatherer) These cause problems because while tahoe start and tahoe stop will ignore them, if tahoe restart encounters an error during the stop, it won't do the start.

tahoe restart should ignore "not a node directory" errors, at least until the stats and log gatherers can be wrapped up in something that can be controlled by tahoe start.

Allmydata.com has a convention of having all operational nodes in a directory called ~/prodnet. This makes restarting all nodes easy, doing something like "for i in *; do tahoe restart $i; done" (or even tahoe restart -m *). Unfortunately, there are two things that belong in ~/prodnet that aren't actually nodes. (stats-gatherer and log-gatherer) These cause problems because while tahoe start and tahoe stop will ignore them, if tahoe restart encounters an error during the stop, it won't do the start. tahoe restart should ignore "not a node directory" errors, at least until the stats and log gatherers can be wrapped up in something that can be controlled by tahoe start.
tahoe-lafs added the
code-nodeadmin
minor
defect
0.7.0
labels 2008-02-14 01:04:57 +00:00
tahoe-lafs added this to the 1.0.0 milestone 2008-02-14 01:04:57 +00:00

I don't understand the problem -- you mean

for i in ~/prodnet/*; do
    tahoe restart $i
done

? This will go ahead and restart all the things in prodnet that are nodes, right? And the presence of non-nodes won't prevent the restart of the nodes?

Also, as per #165 -- "restart should start if the node isn't running" -- you can add -f or --force to cause restart to start the node even if it can't stop the node first.

I don't understand the problem -- you mean ``` for i in ~/prodnet/*; do tahoe restart $i done ``` ? This will go ahead and restart all the things in `prodnet` that *are* nodes, right? And the presence of non-nodes won't prevent the restart of the nodes? Also, as per #165 -- "restart should start if the node isn't running" -- you can add `-f` or `--force` to cause `restart` to start the node even if it can't stop the node first.
zandr commented 2008-03-05 00:41:47 +00:00
Author
Owner

Replying to zooko:

? This will go ahead and restart all the things in prodnet that are nodes, right? And the presence of non-nodes won't prevent the restart of the nodes?

That will work, but tahoe restart -m ~/prodnet/* is tripped up by the presence of non-nodes. It will stop everything and start nothing if it finds a non-node.

The real fix for this is to get the stats-gatherer and flogtool running in containers that can be controlled by tahoe restart. I thought a ticket existed on that, but I couldn't locate it so I created a new one, #330 , which I pointed at warner.

Replying to [zooko](/tahoe-lafs/trac-2024-07-25/issues/315#issuecomment-64806): > ? This will go ahead and restart all the things in `prodnet` that *are* nodes, right? And the presence of non-nodes won't prevent the restart of the nodes? That will work, but ` tahoe restart -m ~/prodnet/* ` is tripped up by the presence of non-nodes. It will stop everything and start nothing if it finds a non-node. The real fix for this is to get the stats-gatherer and flogtool running in containers that can be controlled by tahoe restart. I thought a ticket existed on that, but I couldn't locate it so I created a new one, #330 , which I pointed at warner.
tahoe-lafs added
0.8.0
and removed
0.7.0
labels 2008-03-05 00:41:47 +00:00

FYI, the new foolscap-0.2.5 (released last night) provides a 'flogtool create-gatherer' command, which creates a working directory with a .tac file, just like 'tahoe create-client'. This working directory can be launched with 'tahoe start' and shut down with 'tahoe stop'.

I plan to make the tahoe stats-gatherer behave the same way. I also intend to fix tahoe restart to tolerate shutdown failures.

FYI, the new foolscap-0.2.5 (released last night) provides a 'flogtool create-gatherer' command, which creates a working directory with a .tac file, just like 'tahoe create-client'. This working directory can be launched with 'tahoe start' and shut down with 'tahoe stop'. I plan to make the tahoe stats-gatherer behave the same way. I also intend to fix tahoe restart to tolerate shutdown failures.

Milestone 1.0.1 deleted

Milestone 1.0.1 deleted
zooko added this to the 1.1.0 milestone 2008-05-05 21:08:36 +00:00
warner modified the milestone from 1.1.0 to 1.2.0 2008-05-29 22:26:48 +00:00
zooko was unassigned by warner 2008-05-29 22:27:07 +00:00
warner self-assigned this 2008-05-29 22:27:07 +00:00

changeset:fdb0200ecad291e2 changes 'tahoe restart' to use --force by default (#165), which will be in 1.3.1 . The stats-gatherer was turned into a regular 'tahoe start'-able node in 1.3.0, and the foolscap log-gatherer was converted in foolscap-0.3.0 . So I think we're done with this ticket.

changeset:fdb0200ecad291e2 changes 'tahoe restart' to use --force by default (#165), which will be in 1.3.1 . The stats-gatherer was turned into a regular 'tahoe start'-able node in 1.3.0, and the foolscap log-gatherer was converted in foolscap-0.3.0 . So I think we're done with this ticket.
warner added the
fixed
label 2009-02-25 03:47:39 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
3 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#315
No description provided.