Opened at 2017-06-22T05:37:37Z
Closed at 2018-05-07T15:52:26Z
#2879 closed defect (fixed)
'magic-folder create' should also create the target local directory
| Reported by: | cypher | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | undecided |
| Component: | unknown | Version: | 1.12.1 |
| Keywords: | magic-folder usability easy | Cc: | |
| Launchpad Bug: |
Description
Running tahoe magic-folder create magic: user ~/Magic-Folder succeeds as expected, however running tahoe restart afterward will produce an exception with the following traceback as a result of the local directory not existing:
STOPPING '/home/user/.tahoe'
process 2105 is dead
STARTING '/home/user/.tahoe'
starting node in '/home/user/.tahoe'
Traceback (most recent call last):
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 319, in addCallback
callbackKeywords=kw)
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 308, in addCallbacks
self._runCallbacks()
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 651, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/home/user/code/tahoe-lafs/src/allmydata/scripts/runner.py", line 145, in dispatch
d = defer.maybeDeferred(f, so)
--- <exception caught here> ---
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
result = f(*args, **kw)
File "/home/user/code/tahoe-lafs/src/allmydata/scripts/startstop_node.py", line 244, in restart
return start(config)
File "/home/user/code/tahoe-lafs/src/allmydata/scripts/startstop_node.py", line 170, in start
twistd.runApp(twistd_config)
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 25, in runApp
_SomeApplicationRunner(config).run()
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/application/app.py", line 379, in run
self.application = self.createOrGetApplication()
File "/home/user/venvs/tahoe/local/lib/python2.7/site-packages/twisted/application/app.py", line 439, in createOrGetApplication
ser = plg.makeService(self.config.subOptions)
File "/home/user/code/tahoe-lafs/src/allmydata/scripts/startstop_node.py", line 78, in makeService
return Client(self.basedir)
File "/home/user/code/tahoe-lafs/src/allmydata/client.py", line 209, in __init__
self.init_magic_folder()
File "/home/user/code/tahoe-lafs/src/allmydata/client.py", line 586, in init_magic_folder
downloader_delay=poll_interval,
File "/home/user/code/tahoe-lafs/src/allmydata/frontends/magic_folder.py", line 83, in __init__
self.uploader = Uploader(client, local_path_u, db, upload_dirnode, uploader_delay, clock)
File "/home/user/code/tahoe-lafs/src/allmydata/frontends/magic_folder.py", line 341, in __init__
QueueMixin.__init__(self, client, local_path_u, db, 'uploader', clock)
File "/home/user/code/tahoe-lafs/src/allmydata/frontends/magic_folder.py", line 155, in __init__
% quote_local_unicode_path(self._local_path_u))
exceptions.AssertionError: The '[magic_folder] local.directory' parameter was '/home/user/Magic-Folder' but there is no directory at that location.
Since this behavior is likely to be surprising to many users -- and since there appears to be no meaningful advantage in having the user create the local directory manually -- consider modifying the behavior of magic-folder create to create the local directory automatically in the event that it doesn't already exist.
Change History (4)
comment:1 Changed at 2017-06-22T14:22:56Z by cypher
- Keywords usability added
comment:2 Changed at 2017-09-19T19:36:23Z by cypher
- Priority changed from normal to minor
comment:3 Changed at 2017-09-19T19:44:00Z by cypher
- Keywords easy added
comment:4 Changed at 2018-05-07T15:52:26Z by meejah
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.

https://github.com/tahoe-lafs/tahoe-lafs/pull/492