Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

infinit-arm: [infinit.filesystem ] [fuse loop] unable to find root block, allow creation with --allow-root-creation #15

Open
deminngi opened this issue Mar 17, 2017 · 6 comments

Comments

@deminngi
Copy link

deminngi commented Mar 17, 2017

Above error is thrown using:
infinit-arm 0.7.3-dev
docker: 17.03.0-ce, build 60ccb22

server:
infinit volume create --as user --network user/net0 --name user/vol0 --allow-root-creation --fuse-option allow_root --cache --async --daemon --push

client:
infinit volume mount --as user --name user/vol0 --allow-root-creation --fuse-option allow_root --cache --async --daemon --mountpoint /home/user/vol0 --publish

daemon on client:
sudo infinit daemon run --as user --docker-user user

docker volume ls on client:
DRIVER VOLUME NAME
infinit user/vol0

docker app on client:
docker run -it --rm --volume-driver infinit -v user/vol0:/mnt hypriot/rpi-alpine ls /mnt

@mnottale
Copy link

Hi. You might need to hit the volume at least once on the client, just ls /home/user/vol0/ should do the trick.

@ronaldpetty
Copy link

ronaldpetty commented Jun 14, 2017

I am following the current tutorial and seem to hit a similar error. Right after executing:

infinit volume mount --as alice --name my-volume --mountpoint ~/mnt-alice-volume --cache --publish &

I try to ls the directory, and I hit tab to auto complete and it goes into a loop as follows. I am unable to exit the container.

root@9cec571ce855:/# ls ~/m[infinit.filesystem ] [fuse loop] unable to find root block, allow creation with --allow-root-creation
[infinit.filesystem ] [fuse loop] unable to find root block, allow creation with --allow-root-creation
[infinit.filesystem ] [fuse loop] unable to find root block, allow creation with --allow-root-creation
...

Neither docker stop or kill stop it.

@Dimrok
Copy link

Dimrok commented Jun 14, 2017

Hi @ronaldpetty.

To clarify about --allow-root-creation, this needs to be run once and only once by one of the instance. Once the root is created, other instances will fetch the address of the root (a.k.a. the root block).

In your case, I see two cases.

You didn't run infinit volume run [...] --allow-root-creation yet.

The command you ran (infinit volume mount --as alice --name my-volume --mountpoint ~/mnt-alice-volume --cache --publish &) needs --allow-root-creation if the root hasn't been created yet.

Try infinit volume run [...] --allow-root-creation. This should fix the issue. However, if you already have, you risk to create a partition (having two dissociated root blocks).

You did already.

If the root has been created, that means the --publish, which is supposed to get the list of peers is empty or doesn't contain anyone knowing about the root block.

In this case, you need to make sure the instance of infinit which created the root block is accessible (has an IP the other instance can connect to). See the --peer option.

@ronaldpetty
Copy link

Thank you @Dimrok , I am very new to this. I do not see infinit volume run in the tutorial here https://infinit.sh/get-started. Also, on the website it mentiones 0.8.0 but the version that the command installs is 0.7.3.

Is there potentially a more detailed tutorial on how to set this up with Docker? I am really just trying to get 'hello-world' style storage going with Infinit. With the goal to then deep dive and try to figure out how it does it.

@at88mph
Copy link

at88mph commented Jun 29, 2017

+1 -- Running Docker 17.05 on CentOS 7 with the latest infinit/infinit image.

I'm seeing the same thing as @ronaldpetty , but after the mount succeeds, it says:

Running volume ...

What is different from the tutorial, though, is that there is no message saying:

Running network ...

Does the network need to be running first, maybe?

@Dimrok
Copy link

Dimrok commented Aug 18, 2017

Hi guys.

Sorry I lost track of this issue, it's probably too late but no, infinit volume does run the underlying network by itself so you shouldn't worry about running the network.

https://infinit.sh/get-started shows how to setup infinit in a container (in an ephemeral fashion).

But we also have a docker volume plugin (old format of plugins, we need to update this) but it should work. You can find a guide here: https://infinit.sh/documentation/docker/volume-plugin. However, this plugin has limitation: it can't work with swarm yet, due to the way volume plugins and mountpoints works in swarm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants