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

no peer available for insertion #17

Open
kapolos opened this issue Mar 21, 2017 · 12 comments
Open

no peer available for insertion #17

kapolos opened this issue Mar 21, 2017 · 12 comments

Comments

@kapolos
Copy link

kapolos commented Mar 21, 2017

Built infinit into a docker image (because host is CentOS and binary does not run - incompatible link library version) - fuse is installed on host and user_allow_other is enabled.

I run the container: docker run -it --rm --privileged -v named_volume:/root/.local local/infinit and inside it:

# username already created beforehand
infinit user login --name username
infinit silo create --filesystem --name local --capacity 50GB
infinit network create --as username --silo local --name main --push
volume create --as username--network main --name main --push

I then exit the container and recreate it with:

docker run -it --rm --privileged \
-v named_volume:/root/.local -v /opt/infinit:/inf local/infinit \
infinit volume mount --as username --name main --mountpoint /inf \
--allow-root-creation --cache --publish

Output:

Running network "username/main".
[infinit.Network] [main] client version: 0.7.3
[infinit.model.Model] [main] infinit::model::Model(0x2b6c9f0): compatibility version 0.7.3
Running volume "username/main".

Then (on another terminal) I exec into the container to test if it works:

docker exec -it ID bash and inside cd /inf; ls

Output in the first terminal now shows:

[infinit.filesystem ] [fuse loop] unexpected exception storing 0xd2c04428706a513ea3324748717d181ffeb904d36cfc3f25b82b071d9ccee900: no peer available for insertion of 0xd2c0442800
[infinit.filesystem ] [fuse loop] unexpected exception storing 0xf0cf726b6c82d7f6a6b741af4816f5e560647b151565ca6e11b1f52c80a6c100: no peer available for insertion of 0xf0cf726b00
[infinit.filesystem ] [fuse loop] unexpected exception storing 0x240809fa8a80753fe81300209929f73aa6f47bc8d9b02332f2e1226e306a4100: no peer available for insertion of 0x240809fa00

Am I missing something or is is a bug?

@Dimrok
Copy link

Dimrok commented Apr 4, 2017

Hi @kapolos. Sorry we took weeks to answer :/

I just tried with the Docker image mefyl/infinit (based on ubuntu:latest), on my Ubuntu Xenial host using Docker almost bleeding edge (17.03.1-ce) and it works fine for me.

Here is the procedure I used, really similar to yours but without pushing to the hub.

$ docker run -it --rm --privileged -v named_volume:/root/.local mefyl/infinit

root@dd49fb27755e:/# infinit user create --name username
Generating RSA keypair.
Locally saved identity for user "username".
root@dd49fb27755e:/# infinit silo create --filesystem --name local --capacity 50GB
Locally saved silo "local".
root@dd49fb27755e:/# infinit network create --as username --storage local --name main 
Locally saved network descriptor "username/main".
Locally saved network descriptor "username/main".
root@dd49fb27755e:/# infinit volume create --as username --network main --name main
Locally saved volume descriptor "username/main".
root@dd49fb27755e:/# exit

After that:

$ docker run -it --rm --privileged -v named_volume:/root/.local -v /tmp/infinit:/inf mefyl/infinit infinit volume mount --as username --name main --mountpoint /inf --allow-root-creation

Running network "username/main".
[infinit.Network] [main] client version: 0.7.3
[infinit.model.Model] [main] infinit::model::Model(0x1f0cf30): compatibility version 0.7.3
[infinit.model.doughnut.Local] [main] dht::Local(0x2c966c3300): listen on tcp://[::]:45253
[infinit.model.doughnut.Local] [main] dht::Local(0x2c966c3300): listen on utp://[::]:45253
Running volume "username/main".

And on both the host and inside the container I have:

$ docker exec -it e9755f57ecb0 bash

root@e9755f57ecb0:/# cd /inf/
root@e9755f57ecb0:/inf# ll
total 4
drwx------  1 root root    0 Apr  4 12:39 ./
drwxr-xr-x 45 root root 4096 Apr  4 12:38 ../

and

$ ll /tmp/infinit/

total 16
drwxr-xr-x  2 root root  4096 avril  4 14:38 .
drwxrwxrwt 17 root root 12288 avril  4 14:38 ..

If it's not too late, can you publish your image, so I can reproduce on my machine pls? By the way, what's your Docker version?

@at88mph
Copy link

at88mph commented Jun 29, 2017

Sorry to hijack, but I have a similar issue. I'm running Docker 17.05.0-ce with Infinit 0.8.0 (the latest Docker image)

docker run --rm --privileged --network infinit --name infinit_test -ti -e INFINIT_RDV= infinit/infinit bash

My user is in a JSON document exported earlier, so I import it successfully:

infinite user import -i user.json

Then I fetch my network and volume from the hub:

infinite network fetch --as user
infinite volume fetch --as user

My volume is on a network called 'minio-net'

I create an S3 silo:

infinit credentials add --aws --name minio --as user
ACCESS_KEY: 
SECRET_KEY:

infinit silo create s3 --name minio-s3 --bucket testbucket --account minio --region us-east-1 --endpoint miniohost:9000

Then, if I run infinite volume mount or infinite volume run, it appears to succeed:

root@62864690e2f4:/~# infinit volume run --as user --name minio-vol --mountpoint ~/mnt-minio-vol --allow-root-creation --cache --publish &
[1] 24
root@62864690e2f4:/~# Running network "user/minio-net".
[infinit.Network] [main] client version: 0.8.0
[infinit.model.Model] [main] infinit::model::Model(0x2bfbf30): compatibility version 0.8.0
[infinit.model.doughnut.Doughnut] [main] Not using UTP although network configuration selects 'all' protocols. UTP has been temporarily deprecated. Force with INFINIT_UTP=1.
[      infinit.prometheus       ] [main] infinit::prometheus::Prometheus(0x7f29d504fa00): listen on 127.0.0.1:8080
Running volume "user/minio-vol".

But if I look at the folder, I see:

ls -alh ~/mnt-mini-vol

[      infinit.filesystem       ] [fuse loop] unexpected exception storing 0x648304d3debe01dc7a460847dea88fac8c426d949ffea3b605b1e895540ac200: no peer available for insertion of 0x648304d300
ls: cannot access 'mnt-minio-vol': Input/output error

Fuse seems a little unstable at the best of times. Is there a workaround for this?

Thanks,
Dustin

@at88mph
Copy link

at88mph commented Jun 29, 2017

Here is my infinit doctor all --as user output:

[elle.reactor.network.UTPSocket] [UTPSocket(<ip address>:5457) shutdown] UTPSocket(<ip address>:5457): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(<ip address>:5458) shutdown] UTPSocket(<ip address>:5458): UTP server was destroyed before us
CONFIGURATION INTEGRITY:
[OK] User
[OK] Silos
[OK] Networks
[OK] Volumes
[OK] Drives
[OK] Leftovers

SYSTEM SANITY:
[OK] Username
[OK] Space left
[OK] Environment
[OK] Permissions
[OK] FUSE

CONNECTIVITY:
[OK] Connection to https://beyond.infinit.sh
[OK] Local interfaces
[ERROR] NAT:
  Reason: network operation timed out
[ERROR] UPnP:
  Reason: UPNP device discovery failure: 0
[ERROR] Protocols:
  [ERROR] RDV UTP
    Reason: Couldn't connect after 3 seconds
  [ERROR] RDV UTP (XOR)
    Reason: Couldn't connect after 3 seconds
  [ERROR] UDP
    Reason: Couldn't connect after 3 seconds
  [ERROR] UTP
    Reason: Couldn't connect after 3 seconds
  [ERROR] UTP (XOR)
    Reason: Couldn't connect after 3 seconds

@007pig
Copy link

007pig commented Aug 7, 2017

I have the same problem

[elle.reactor.network.UTPSocket] [UTPSocket(<ip>:5457) shutdown] UTPSocket(192.241.139.66:5457): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(<ip>:5458) shutdown] UTPSocket(192.241.139.66:5458): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(<ip>:5457) shutdown] UTPSocket(192.241.139.66:5457): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(<ip>:5458) shutdown] UTPSocket(192.241.139.66:5458): UTP server was destroyed before us
CONFIGURATION INTEGRITY:
[OK] User
[OK] Silos
[OK] Networks
[OK] Volumes
[OK] Drives
[OK] Leftovers

SYSTEM SANITY:
[OK] Username
[OK] Space left
[OK] Environment
[OK] Permissions
[OK] FUSE

CONNECTIVITY:
[OK] Connection to https://beyond.infinit.sh
[OK] Local interfaces
[OK] NAT
[ERROR] UPnP:
  Reason: UPNP device discovery failure: 0
[ERROR] Protocols:
  [ERROR] RDV UTP (XOR)
    Reason: Couldn't connect after 3 seconds
  [ERROR] UTP (XOR)
    Reason: Couldn't connect after 3 seconds

@basz
Copy link

basz commented Sep 4, 2017

same here, but with a fatal error at the end

infinit doctor all --as bushbaby123
[elle.reactor.network.UTPSocket] [UTPSocket(192.241.139.66:5457) shutdown] UTPSocket(192.241.139.66:5457): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(192.241.139.66:5458) shutdown] UTPSocket(192.241.139.66:5458): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(192.241.139.66:5457) shutdown] UTPSocket(192.241.139.66:5457): UTP server was destroyed before us
[elle.reactor.network.UTPSocket] [UTPSocket(192.241.139.66:5458) shutdown] UTPSocket(192.241.139.66:5458): UTP server was destroyed before us
CONFIGURATION INTEGRITY:
[OK] User
[OK] Silos
[OK] Networks
[OK] Volumes
[OK] Drives
[OK] Leftovers

SYSTEM SANITY:
[OK] Username
[OK] Space left
[WARNING] Environment:
  INFINIT_USER: bushbaby123
  INFINIT_HOME: /root/
  Reason: your environment contains variables that will modify Infinit default behavior. For more details visit https://infinit.sh/documentation/environment-variables
[OK] Permissions
[OK] FUSE

CONNECTIVITY:
[OK] Connection to https://beyond.infinit.sh
[OK] Local interfaces
[OK] NAT
[ERROR] UPnP:
  Reason: UPNP device discovery failure: 0
[ERROR] Protocols:
  [ERROR] RDV UTP (XOR)
    Reason: Couldn't connect after 3 seconds
  [ERROR] UTP (XOR)
    Reason: Couldn't connect after 3 seconds

infinit: fatal error: Please refer to each individual error message. If you cannot figure out how to fix your issues, please visit https://infinit.sh/faq.

@Dimrok
Copy link

Dimrok commented Sep 5, 2017

Hi @basz.

Can you copy/paste me the command line you used to invoke infinit run/mount pls?

@basz
Copy link

basz commented Sep 5, 2017

From host;

root@node-1:~# cat ~/.bash_aliases 
alias infinit="docker run --rm --privileged -e INFINIT_UTP=1 -e INFINIT_HOME=/root/ -e INFINIT_USER=bushbaby123 --volume /srv/data/infinit:/root/ -it infinit/infinit infinit"

root@node-1:~# infinit volume mount --name bushbaby-volume --mountpoint /root/bushbaby-volume --allow-root-creation --cache --publish

or from container

root@node-1:~# docker run --rm --privileged -e INFINIT_UTP=1 -e INFINIT_HOME=/root/ -e INFINIT_USER=bushbaby123 --volume /srv/data/infinit:/root/ -it infinit/infinit bash

root@1cf5181d42f7:/# infinit volume mount --name bushbaby-volume --mountpoint /root/bushbaby-volume --allow-root-creation --cache --publish &

then infinite doctor all

ps. tried with and without -e INFINIT_UTP=1

@Dimrok
Copy link

Dimrok commented Sep 5, 2017

Did you add one or more silos to your network?

You can check that by running infinit network list-silos --name <name of your network>.

Another lead could be that the published IP addresses are not accessible from one container to another. You can check published IP addresses by checking https://beyond.infinit.sh/networks/bushbaby/.

@basz
Copy link

basz commented Sep 5, 2017

infinit network list-silos --name bushbaby-network
local-001

for beyond.infinit.sh i need a certificate see : https://www.dropbox.com/s/84y7vpudrpvldk7/Screen%20Shot%202017-09-05%20at%2015.10.50.png?dl=0

@Dimrok
Copy link

Dimrok commented Sep 5, 2017

You can continue without a certificate.

By the way, you need your volume to be launched with --publish, --push or --push-endpoints for the IPs to be visible.

@basz
Copy link

basz commented Sep 5, 2017

mounted with;

root@faac8957b231:/# INFINIT_UTP=1 infinit volume mount --name bushbaby-volume --mountpoint /root/bushbaby-volume --allow-root-creation --cache --publish &
[1] 7
root@faac8957b231:/# Running network "bushbaby123/bushbaby-network".
[infinit.Network] [main] client version: 0.8.0
[infinit.model.Model] [main] infinit::model::Model(0x288bb20): compatibility version 0.8.0
[infinit.model.doughnut.Local] [main] dht::Local(0x2893128, 0x440286f900): listen on tcp://[::]:45531
[infinit.model.doughnut.Local] [main] dht::Local(0x2893128, 0x440286f900): listen on utp://[::]:45531
[     infinit.prometheus     ] [main] infinit::prometheus::Prometheus(0x7f2130032a00): listen on 127.0.0.1:8080
Remotely created endpoints for "bushbaby123/bushbaby-network".
Running volume "bushbaby123/bushbaby-volume".

I think I should look here then; https://beyond.infinit.sh/networks/bushbaby123/bushbaby-network

So, i see ip's which looks its public addresses. (its a docker swarm). Do any other clients (trying to give user bas123 access) also need publicly accessible ip's?

@Dimrok
Copy link

Dimrok commented Sep 5, 2017

How many nodes do you have?

Can you try, from another node, to ping the IPs found on https://beyond.infinit.sh/networks/bushbaby123/bushbaby-network?

Do any other clients (trying to give user bas123 access) also need publicly accessible ip's?

No. By the way I say public but it's not mandatory, it just has to be accessible from the other node (e.g. local IPs in a local network).

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

No branches or pull requests

5 participants