Code Monkey home page Code Monkey logo

iptb-plugins's Introduction

IPTB Plugins

This project contains the IPFS plugins for IPTB. Due to the way IPFS manages dependencies, these plugins cannot be easily loaded into a generic build of IPTB, and must be use with the IPTB build in this project.

Example

$ iptb auto -type localipfs -count 5
<output removed>

$ iptb start

$ iptb shell 0
$ echo $IPFS_PATH
/home/iptb/testbed/testbeds/default/0

$ echo 'hey!' | ipfs add -q
QmNqugRcYjwh9pEQUK7MLuxvLjxDNZL1DH8PJJgWtQXxuF

$ exit

$ iptb connect 0 4

$ iptb shell 4
$ ipfs cat QmNqugRcYjwh9pEQUK7MLuxvLjxDNZL1DH8PJJgWtQXxuF
hey!

Usage

NAME:
   iptb - iptb is a tool for managing test clusters of libp2p nodes

USAGE:
   iptb [global options] command [command options] [arguments...]

VERSION:
   2.0.0

COMMANDS:
     auto     create default testbed and initialize
     testbed  manage testbeds
     help, h  Shows a list of commands or help for one command
   ATTRIBUTES:
     attr  get, set, list attributes
   CORE:
     init     initialize specified nodes (or all)
     start    start specified nodes (or all)
     stop     stop specified nodes (or all)
     restart  restart specified nodes (or all)
     run      run command on specified nodes (or all)
     connect  connect sets of nodes together (or all)
     shell    starts a shell within the context of node
   METRICS:
     logs    show logs from specified nodes (or all)
     events  stream events from specified nodes (or all)
     metric  get metric from node

GLOBAL OPTIONS:
   --testbed value  Name of testbed to use under IPTB_ROOT (default: "default") [$IPTB_TESTBED]
   --quiet          Suppresses extra output from iptb
   --help, -h       show help
   --version, -v    print the version

Install

$ go get -d github.com/ipfs/iptb-plugins
$ cd $GOPATH/src/github.com/ipfs/iptb-plugins
$ make install

License

MIT

iptb-plugins's People

Contributors

bigs avatar guseggert avatar hannahhoward avatar hsanjuan avatar ipfs-mgmt-read-write[bot] avatar jorropo avatar kubuxu avatar magik6k avatar marten-seemann avatar masih avatar petar avatar raulk avatar stebalien avatar travisperson avatar web-flow avatar web3-bot avatar willscott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iptb-plugins's Issues

Error: node[0]: ipfs not initialized, please run 'ipfs init'

I'm trying to reproduce the example of the README file, but when I try to execute the iptb shell 0 command, it fails saying:

node[0]: ipfs not initialized, please run 'ipfs init'

When I try to initialize the node with iptb init 0 I get exactly the same output.

i also tried the following:

iptb run 0 -- ipfs init
node[0] exit 1

generating ED25519 keypair...done
peer identity: 12D3KooWRCbRvs7kXFQqjVpUu3iEYRB89gpgVcZW1jd5Z2FUrRdm
initializing IPFS node at /home/giotsas/snap/ipfs/common
Error: ipfs configuration file already exists!
Reinitializing would overwrite your keys.

Again no iptb command can be executed on the nodes because every time I get the error Error: node[0]: ipfs not initialized, please run 'ipfs init'

My system is:
Ubuntu 20.04.4 LTS, Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GH, 64 bit
go version go1.16.7 linux/amd64
Docker version 20.10.17, build 100c701

The iptb-plugins version I'm using is: commit e7cad7e

starting iptb shows some errors

Using almost any command of iptb I get the error messages like below, but iptb still works.
Notice browseripfs command that gives an extra error

No `repobuilder` provided, could not find jsipfs in path
~$ iptb -v
iptb version 2.0.0

The following are some of the commands and error messages

~$ iptb auto -count 5 -type localipfs
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc0004a62a0) map[NewNode:%!s(*testbedi.NewNodeFunc=0x7f970f7da4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f970f7da4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f970f7da4d0) PluginName:%!s(*string=0x7f970f6f7aa0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0004a63c0) map[ErrTimeout:%!s(*error=0x7f970e3b1ef0) PluginName:%!s(*string=0x7f970e2ceaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f970e3b14d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f970e3b14c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f970e3b14d0) GetMetricList:%!s(func() []string=0x7f970d8cee00) GetMetricDesc:%!s(func(string) (string, error)=0x7f970d8ceec0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc0004a6420) map[PluginName:%!s(*string=0x7f9707ef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f9707fdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f9707fdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f9707fdb4d0) GetMetricList:%!s(func() []string=0x7f97074fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7f97074fb450)]}
node[0] exit 0

~$ iptb auto -count 5 -type dockeripfs
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc000082600) map[GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fc17f7da4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fc17f7da4d0) PluginName:%!s(*string=0x7fc17f6f7aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fc17f7da4d8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc000082720) map[ErrTimeout:%!s(*error=0x7fc17e3b1ef0) PluginName:%!s(*string=0x7fc17e2ceaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fc17e3b14d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fc17e3b14c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fc17e3b14d0) GetMetricList:%!s(func() []string=0x7fc17d8cee00) GetMetricDesc:%!s(func(string) (string, error)=0x7fc17d8ceec0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000082780) map[PluginName:%!s(*string=0x7fc173ef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fc173fdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fc173fdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fc173fdb4d0) GetMetricList:%!s(func() []string=0x7fc1734fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7fc1734fb450)]}

~$ iptb auto -count 5 -type browseripfs
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc00002a540) map[PluginName:%!s(*string=0x7f93d7ef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f93d7fdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f93d7fdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f93d7fdb4d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc00002a660) map[GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f93d6bb24c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f93d6bb24d0) GetMetricList:%!s(func() []string=0x7f93d60cfe00) GetMetricDesc:%!s(func(string) (string, error)=0x7f93d60cfec0) ErrTimeout:%!s(*error=0x7f93d6bb2ef0) PluginName:%!s(*string=0x7f93d6acfaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f93d6bb24d8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc00002a6c0) map[GetMetricDesc:%!s(func(string) (string, error)=0x7f93d4ca0450) PluginName:%!s(*string=0x7f93d569daa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f93d57804d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f93d57804c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f93d57804d0) GetMetricList:%!s(func() []string=0x7f93d4ca0390)]}
testbed nodes already exist, overwrite? [y/n]
y
No `repobuilder` provided, could not find jsipfs in path


~$ iptb shell 0
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc000082600) map[NewNode:%!s(*testbedi.NewNodeFunc=0x7fbcdafd94d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fbcdafd94c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fbcdafd94d0) PluginName:%!s(*string=0x7fbcdaef6aa0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0000826c0) map[GetMetricDesc:%!s(func(string) (string, error)=0x7fbcd90cdec0) ErrTimeout:%!s(*error=0x7fbcd9bb0ef0) PluginName:%!s(*string=0x7fbcd9acdaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fbcd9bb04d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fbcd9bb04c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fbcd9bb04d0) GetMetricList:%!s(func() []string=0x7fbcd90cde00)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000082720) map[GetMetricDesc:%!s(func(string) (string, error)=0x7fbccf4fb450) PluginName:%!s(*string=0x7fbccfef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fbccffdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fbccffdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fbccffdb4d0) GetMetricList:%!s(func() []string=0x7fbccf4fb390)]}


~$ iptb stop
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc0000284e0) map[PluginName:%!s(*string=0x7fa83fef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fa83ffdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fa83ffdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fa83ffdb4d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0000285a0) map[GetMetricDesc:%!s(func(string) (string, error)=0x7fa83e0cfec0) ErrTimeout:%!s(*error=0x7fa83ebb2ef0) PluginName:%!s(*string=0x7fa83eacfaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fa83ebb24d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fa83ebb24c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fa83ebb24d0) GetMetricList:%!s(func() []string=0x7fa83e0cfe00)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000028600) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fa83d7804d0) GetMetricList:%!s(func() []string=0x7fa83cca0390) GetMetricDesc:%!s(func(string) (string, error)=0x7fa83cca0450) PluginName:%!s(*string=0x7fa83d69daa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fa83d7804d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fa83d7804c8)]}

Need help here!

Hello @travisperson and others
I'm starting research on IPFS, I would appreciate if I can get some help here in the opened issues of this package.
Thank you in advance

Stale transitive dep for libp2p/go-libp2p-resource-manager

I am trying to use the IPFS plugin for my tests however get a compilation error like ...

../../../go/pkg/mod/github.com/libp2p/[email protected]/rcmgr.go:42:33: cannot use (*resourceManager)(nil) (value of type *resourceManager) as type "github.com/libp2p/go-libp2p/core/network".ResourceManager in variable declaration:
*resourceManager does not implement "github.com/libp2p/go-libp2p/core/network".ResourceManager (wrong type for OpenConnection method)
have OpenConnection(dir "github.com/libp2p/go-libp2p/core/network".Direction, usefd bool) ("github.com/libp2p/go-libp2p/core/network".ConnManagementScope, error)
want OpenConnection(dir "github.com/libp2p/go-libp2p/core/network".Direction, usefd bool, endpoint multiaddr.Multiaddr) ("github.com/libp2p/go-libp2p/core/network".ConnManagementScope, error)

It appears there is a stale indirect dependency. Would it be possible to update this to the new library as outlined in the dep?

Could not find plugin X

Hello! I am trying to setup iptb to do some research, and have been creating a public vagrant box to help with this.

After following the installation instructions both for iptb and iptb-plugins I am encountering this error:
iptb auto -type localipfs -count 5 testbed nodes already exist, overwrite? [y/n] y Could not find plugin localipfs

I was wondering if there was something I missed in the installation process and if there was any way you could help with this please?

The go env produces:

GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/vagrant/.cache/go-build" GOENV="/home/vagrant/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/vagrant/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/snap/go/5830" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/snap/go/5830/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build425883090=/tmp/go-build -gno-record-gcc-switches"

The environment itself is Forked from generic/ubuntu1804 to include the IPFS testing toolset: IPFS v6.0, Golang v1.14.4, IPTB v2.0.0 and Docker v19.03.11.

show current connections

How to find the current state of connections among the peers after several iptb connect commands. For example, I want to show or know about which peer is connected to which?

how to set bootstrap nodes

I checked bootstrap list in different nodes with ipfs bootstrap list but I got an empty list.
Which of the nodes that I create would be bootstrap nodes? I couldn't find any option to set a node to be the bootstrap node.

make install fails

make install results in this error:
../../../../gx/ipfs/QmbK4EmM2Xx5fmbqK38TGP3PpY66r3tkXLZTcc7dF9mFwM/go-ipfs-config/serialize/serialize.go:13:2: cannot find package "github.com/facebookgo/atomicfile" in any of: /usr/local/go/src/github.com/facebookgo/atomicfile (from $GOROOT) /home/nawras/go/src/github.com/facebookgo/atomicfile (from $GOPATH) Makefile:33: recipe for target 'install' failed make: *** [install] Error 1

iptb start --wait fails with dockeripfs node

When I spin up a node with iptb auto --type dockeripfs --count 1, starting the node with the --wait flag times out:

$ iptb start --wait
node QmbNGJ8hfSaepK96iZAycm3di6so9EU6syPEJKnqgVmxgn failed to come online in given time period
node[0]
gx/ipfs/QmckeQ2zrYLAXoSHYTGn5BDdb22BqbUoHEHm8KZ9YWRxd1/iptb/commands.mapWithOutput.func1
        /home/grish/.go/src/gx/ipfs/QmckeQ2zrYLAXoSHYTGn5BDdb22BqbUoHEHm8KZ9YWRxd1/iptb/commands/utils.go:195
runtime.goexit
        /usr/lib/go/src/runtime/asm_amd64.s:1337

However, the node is up when I run iptb shell 0 or check the container with docker container ls. I tried manually setting the IP address for the node from its default of 0.0.0.0 to the IP given by docker inspect <container> in the tryAPICheck() function, which fixed the issue. I glanced back at older commits of IPTB where iptb start --wait worked, but the code looks similar to the current implementation (it is late though, and I wasn't very thorough).

Any ideas what might be happening? @travisperson, @bigs?

Release a new version. Last version is over 2 years old

Doing go get github.com/ipfs/iptb-plugins pulls in v0.2.0 which is quite old. It doesn't work properly since it relies on some old deps like the outdated go-ipfs-config.

Please consider create a new release to avoid this confusion.

Unclear installation process

Hi, I'm having issues installing this plugin with IPTB to do some IPFS testing.

First off, it doesn't mention that a pre-requisite to install the plugin is having gx or gx-go installed, since those are used in the Makefile.

Second, I had issues with dependencies when installing both gx and iptb, though mostly gx because there is no version pinning and urfave/cli 2.x was installed which had breaking changes to the API so I had to initialize go modules in the gx repo to get the correct version, but that is just a side note.

Now when I successfully installed those pre-requisites running make install still fails because there is no gx project initialized. Here I realize that the installation process should probably look a bit different since it's using gx but that is certainly not clear when looking at the installation instructions from this repo and iptb repo.

I guess I'm missing some fundamental knowledge here to grasp how these packages are supposed to work together so the answer to how to get this plugin to work with an installation of iptb might seem trivial to someone who is familiar with the echo system, but to an outsider which just follows the installation instructions it doesn't work.

I look forward to be able to do some IPFS testing with IPTB and hope that there is just some small piece of information missing which connects the dots. Sorry if my post is a bit ranty, I do appreciate the work you put in and I think IPFS is really neat, it just get's frustrating when following the instructions doesn't work.

ipfs dht get <key> won't return any value

I'm currently doing research on IPFS despite being new to it. I appreciate any help from you.
When I run the ipfs dht get <key>, I don't get any results. Can you explain it, please?
Moreover, Can you explain (or direct me to documentation) the verbose result of ipfs dht get that I get in the final command?

Below is a scenario of what I have done.
Note: for the error messages that I get after each command, I have already opened an issue.

$ iptb -v
iptb version 2.0.0

~$ iptb auto -type localipfs -count 5
...
~$ iptb start
...

~$ iptb connect 0 1
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc000082600) map[GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fd1977da4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fd1977da4d0) PluginName:%!s(*string=0x7fd1976f7aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fd1977da4d8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0000826c0) map[GetMetricList:%!s(func() []string=0x7fd1958cee00) GetMetricDesc:%!s(func(string) (string, error)=0x7fd1958ceec0) ErrTimeout:%!s(*error=0x7fd1963b1ef0) PluginName:%!s(*string=0x7fd1962ceaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fd1963b14d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fd1963b14c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fd1963b14d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000082720) map[NewNode:%!s(*testbedi.NewNodeFunc=0x7fd17ffdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fd17ffdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fd17ffdb4d0) GetMetricList:%!s(func() []string=0x7fd17f4fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7fd17f4fb450) PluginName:%!s(*string=0x7fd17fef8aa0)]}
~$ iptb connect 0 2
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc00002a720) map[PluginName:%!s(*string=0x7f4e6f6f7aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f4e6f7da4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f4e6f7da4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f4e6f7da4d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc00002a840) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f4e6e3b14d0) GetMetricList:%!s(func() []string=0x7f4e6d8cee00) GetMetricDesc:%!s(func(string) (string, error)=0x7f4e6d8ceec0) ErrTimeout:%!s(*error=0x7f4e6e3b1ef0) PluginName:%!s(*string=0x7f4e6e2ceaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f4e6e3b14d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f4e6e3b14c8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc00002a8a0) map[GetMetricList:%!s(func() []string=0x7f4e574fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7f4e574fb450) PluginName:%!s(*string=0x7f4e57ef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f4e57fdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f4e57fdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f4e57fdb4d0)]}
~$ iptb connect 1 3
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc0004902a0) map[PluginName:%!s(*string=0x7fb516ef6aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fb516fd94d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fb516fd94c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fb516fd94d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0004903c0) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fb515bb04d0) GetMetricList:%!s(func() []string=0x7fb5150cde00) GetMetricDesc:%!s(func(string) (string, error)=0x7fb5150cdec0) ErrTimeout:%!s(*error=0x7fb515bb0ef0) PluginName:%!s(*string=0x7fb515acdaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fb515bb04d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fb515bb04c8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000490420) map[PluginName:%!s(*string=0x7fb4ffef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7fb4fffdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7fb4fffdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7fb4fffdb4d0) GetMetricList:%!s(func() []string=0x7fb4ff4fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7fb4ff4fb450)]}
~$ iptb connect 1 4
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc000082600) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7ffb3ffdb4d0) PluginName:%!s(*string=0x7ffb3fef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7ffb3ffdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7ffb3ffdb4c8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0000826c0) map[GetMetricList:%!s(func() []string=0x7ffb3e0cfe00) GetMetricDesc:%!s(func(string) (string, error)=0x7ffb3e0cfec0) ErrTimeout:%!s(*error=0x7ffb3ebb2ef0) PluginName:%!s(*string=0x7ffb3eacfaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7ffb3ebb24d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7ffb3ebb24c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7ffb3ebb24d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000082720) map[PluginName:%!s(*string=0x7ffb3d69daa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7ffb3d7804d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7ffb3d7804c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7ffb3d7804d0) GetMetricList:%!s(func() []string=0x7ffb3cca0390) GetMetricDesc:%!s(func(string) (string, error)=0x7ffb3cca0450)]}
~$ iptb shell 0
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc000084600) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f21bb7da4d0) PluginName:%!s(*string=0x7f21bb6f7aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f21bb7da4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f21bb7da4c8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc0000846c0) map[GetMetricList:%!s(func() []string=0x7f21b98cee00) GetMetricDesc:%!s(func(string) (string, error)=0x7f21b98ceec0) ErrTimeout:%!s(*error=0x7f21ba3b1ef0) PluginName:%!s(*string=0x7f21ba2ceaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f21ba3b14d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f21ba3b14c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f21ba3b14d0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc000084720) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f21a3fdb4d0) GetMetricList:%!s(func() []string=0x7f21a34fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7f21a34fb450) PluginName:%!s(*string=0x7f21a3ef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f21a3fdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f21a3fdb4c8)]}
~$ echo 'anoterdata2'| ipfs add -q
QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
~$ ipfs dht findprovs QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
Qmda2GHcV44UxJXgwGNYNbsHnwF6WkL1abxLgApcEnUkTc
~$ exit
exit
~$ iptb shell 3
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc00002a720) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f1605fd74d0) PluginName:%!s(*string=0x7f1605ef4aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f1605fd74d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f1605fd74c8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc00002a840) map[NewNode:%!s(*testbedi.NewNodeFunc=0x7f15ebfdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f15ebfdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f15ebfdb4d0) GetMetricList:%!s(func() []string=0x7f15eb4f8e00) GetMetricDesc:%!s(func(string) (string, error)=0x7f15eb4f8ec0) ErrTimeout:%!s(*error=0x7f15ebfdbef0) PluginName:%!s(*string=0x7f15ebef8aa0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc00002a8a0) map[GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7f15eaba94c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7f15eaba94d0) GetMetricList:%!s(func() []string=0x7f15ea0c9390) GetMetricDesc:%!s(func(string) (string, error)=0x7f15ea0c9450) PluginName:%!s(*string=0x7f15eaac6aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7f15eaba94d8)]}
~$ ipfs dht findprovs QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
Qmda2GHcV44UxJXgwGNYNbsHnwF6WkL1abxLgApcEnUkTc
~$ echo 'anoterdata2'| ipfs add -q
QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
~$ ipfs dht findprovs QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
Qmda2GHcV44UxJXgwGNYNbsHnwF6WkL1abxLgApcEnUkTc
QmYvvwZ8QLqnMJ6UiaCnJa3nVkPwPcdH5xDWrUk2pyrWXT
~$ exit
exit
~$ iptb shell 4
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/browser  %!s(chan struct {}=0xc00002a720) map[GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7ff37efd94d0) PluginName:%!s(*string=0x7ff37eef6aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7ff37efd94d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7ff37efd94c8)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/docker  %!s(chan struct {}=0xc00002a840) map[ErrTimeout:%!s(*error=0x7ff37dbb0ef0) PluginName:%!s(*string=0x7ff37dacdaa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7ff37dbb04d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7ff37dbb04c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7ff37dbb04d0) GetMetricList:%!s(func() []string=0x7ff37d0cde00) GetMetricDesc:%!s(func(string) (string, error)=0x7ff37d0cdec0)]}
Error: could not cast `NewNode` of &{github.com/ipfs/iptb/plugins/ipfs/local  %!s(chan struct {}=0xc00002a8a0) map[GetMetricList:%!s(func() []string=0x7ff3774fb390) GetMetricDesc:%!s(func(string) (string, error)=0x7ff3774fb450) PluginName:%!s(*string=0x7ff377ef8aa0) NewNode:%!s(*testbedi.NewNodeFunc=0x7ff377fdb4d8) GetAttrDesc:%!s(*testbedi.GetAttrDescFunc=0x7ff377fdb4c8) GetAttrList:%!s(*testbedi.GetAttrListFunc=0x7ff377fdb4d0)]}
~$ ipfs dht findprovs QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
Qmda2GHcV44UxJXgwGNYNbsHnwF6WkL1abxLgApcEnUkTc
QmYvvwZ8QLqnMJ6UiaCnJa3nVkPwPcdH5xDWrUk2pyrWXT
~$ ipfs dht get QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
~$ ipfs dht get -v QmPjugqeQKpCYWJZWjigw5QkLMKXzJcquFzzWyjQ5XVcb6
22:37:37.724: adding peer to query: <peer.ID QYBbDE>
22:37:37.724: adding peer to query: <peer.ID YvvwZ8>
22:37:37.724: adding peer to query: <peer.ID da2GHc>
22:37:37.724: * querying <peer.ID QYBbDE>
22:37:37.725: * querying <peer.ID da2GHc>
22:37:37.725: * querying <peer.ID YvvwZ8>
22:37:37.725: * <peer.ID QYBbDE> says use <peer.ID YvvwZ8> <peer.ID da2GHc> <peer.ID UstVxg> 
22:37:37.725: adding peer to query: <peer.ID UstVxg>
22:37:37.725: * querying <peer.ID UstVxg>
22:37:37.725: * <peer.ID YvvwZ8> says use <peer.ID QYBbDE> <peer.ID da2GHc> <peer.ID UstVxg> 
22:37:37.725: * <peer.ID da2GHc> says use <peer.ID QYBbDE> <peer.ID YvvwZ8> <peer.ID UstVxg> 
22:37:37.725: * <peer.ID UstVxg> says use <peer.ID QYBbDE> <peer.ID YvvwZ8> <peer.ID da2GHc> 
22:37:37.725: error: routing: not found

Docker plugin should expose network attributes

iptb attr get N latency (etc...) doesn't work even though the attribute is valid. To get the correct (runtime) state, we'll probably want to switch to github.com/vishvananda/netlink (we should switch anyways).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.