hypercore-protocol / hyperdrive-daemon

Hyperdrive, batteries included.
MIT License
156 stars 24 forks source link

unable to create a drive #79

Open juliangruber opened 4 years ago

juliangruber commented 4 years ago

Describe the bug The create command is not implemented by the server, but mentioned in the README and the client's help output.

To Reproduce

$ hyperdrive status
The Hyperdrive daemon is running:

  API Version:             0
  Daemon Version:          1.14.1
  Client Version:          1.16.0
  Schema Version:          1.11.0
  Hyperdrive Version:      10.13.0
  Fuse Native Version:     2.2.6
  Hyperdrive Fuse Version: 1.2.15

  Holepunchable:           false
  Remote Address:          188.195.53.236:1024

  Fuse Available:          true
  Fuse Configured:         true

  Uptime:                  0 Days 0 Hours 1 Minutes 56 Seconds
$ hyperdrive create ~/Hyperdrive/perf-test
✖ Could not create the drive:
The server does not implement this method

Expected Behavior A drive should have been created.

OS macOS 10.15.4

Node version v12.16.3

Was the daemon installed from NPM or bundled with Beaker? NPM

juliangruber commented 4 years ago

Same with mount:

$ hyperdrive mount
 ›   Error: Missing 1 required arg:
 ›   path  The path where the drive will be mounted (must be within ~/Hyperdrive)
 ›   See more help with --help
$ hyperdrive mount ~/Hyperdrive/perf-test xxx
✖ Could not mount the drive:
The server does not implement this method
$
andrewosh commented 4 years ago

Hey @juliangruber, thanks for this. In the last patch update I'd broken the FUSE API (did a bunch of refactoring and missed a spot).

These commands should be fixed in 1.14.2. Sorry about that, and thanks again for opening the issue.

andrewosh commented 4 years ago

Definitely highlights the need for some E2E tests for the FUSE API -- currently that testing is done manually (and can clearly be forgotten...).

juliangruber commented 4 years ago

Thanks, this has been fixed :)

Do you have a plan for E2E tests?

dpaez commented 4 years ago

As a temporal solution, or more like a "canary in the gold mine" test, we've added a dockerfile used to create a linux machine with fuse, so one can test the p2pcommons/sdk using hyperdrive-daemon with fuse configured.