[Tech Preview] Storage Node Multinode Dashboard

Update with v1.31.2

DB Migration
We added a DB migration that will allow us to have a simple update process in the future. Unfortunatly the early version of the multinode dashboard is not compatible with the new DB migration. As a workaround please install the latest version of the multinode dashboard, delete the old SQLite DB and start the new version.

Multinode Payout Overview
The multinode dashboard is now showing payout information for all nodes. To me the earned column looks wrong. If I am not mistaken it does contain 2 times the held amount. It would be nice if someone could double check that. I am not sure what my own storage nodes have earned in total and if the multinode dashboard is displaying it correct.

1 Like

Hello anyone else has presented issued adding nodes to the most recent version of the dashboard? I had it working with the prior version of the dashboard. I see the following in log file. My nodes are v1.31.2

2021-06-12T14:35:30.621-0600 ERROR console:endpoint controllers/nodes.go:190 list node infos internal error {“error”: “nodes: protocol error: unknown rpc: "/multinode.Payouts/Earned"”, “errorVerbose”: “nodes: protocol error: unknown rpc: "/multinode.Payouts/Earned"\n\tstorj.io/drpc/drpcwire.UnmarshalError:26\n\tstorj.io/drpc/drpcstream.(*Stream).HandlePacket:151\n\tstorj.io/drpc/drpcmanager.(*Manager).manageStreamPackets:359”}
storj.io/storj/multinode/console/controllers.(*Nodes).ListInfos
/home/alexander/multinode/multinode/console/controllers/nodes.go:190
net/http.HandlerFunc.ServeHTTP
/usr/local/go/src/net/http/server.go:2069
github.com/gorilla/mux.(*Router).ServeHTTP
/home/alexander/go/pkg/mod/github.com/gorilla/mux@v1.8.0/mux.go:210
net/http.serverHandler.ServeHTTP
/usr/local/go/src/net/http/server.go:2887
net/http.(*conn).serve
/usr/local/go/src/net/http/server.go:1952
2021-06-12T14:36:48.621-0600 ERROR console:endpoint controllers/nodes.go:190 list node infos internal error {“error”: “nodes: protocol error: unknown rpc: "/multinode.Payouts/Earned"”, “errorVerbose”: “nodes: protocol error: unknown rpc: "/multinode.Payouts/Earned"\n\tstorj.io/drpc/drpcwire.UnmarshalError:26\n\tstorj.io/drpc/drpcstream.(*Stream).HandlePacket:151\n\tstorj.io/drpc/drpcmanager.(*Manager).manageStreamPackets:359”}
storj.io/storj/multinode/console/controllers.(*Nodes).ListInfos
/home/alexander/multinode/multinode/console/controllers/nodes.go:190
net/http.HandlerFunc.ServeHTTP
/usr/local/go/src/net/http/server.go:2069
github.com/gorilla/mux.(*Router).ServeHTTP
/home/alexander/go/pkg/mod/github.com/gorilla/mux@v1.8.0/mux.go:210
net/http.serverHandler.ServeHTTP
/usr/local/go/src/net/http/server.go:2887
net/http.(*conn).serve
/usr/local/go/src/net/http/server.go:1952

Hey, i see that you update the AMD64 version. Will there be the update for the ARM soon too? :slight_smile:

I am currently unable to update images because the installation instructions have not been updated for the latest version. My previous post has not really been answered

There has been a bad storage node code change on the main branch. Some API calls have been changed without maintaining backwards compatibility. → Main branch multinode dashboard requires all storage nodes running on version v1.32 which is not released yet. As a workaround please use git clone https://github.com/storj/storj -b v1.31.2 $HOME/multinode

Currently, I am not sure if we can fix this issue in time or if we are going to break the multinode dashboard for the next storage node rollout cycle. I hope by Monday I will some additional information.

2 Likes

Can you please try to release an image with the new branch instead of main?

RUN /bin/sh -c git clone https://github.com/storj/storj -b v1.33.1 multinode # buildkit

Ubuntu 20.04

After installing first 7 steps and try to "multinode setup --console.static-dir “$HOME/multinode/web/multinode”

i get “multinode: Befehl nicht gefunden.” (“multinode not found”)

export PATH=$PATH:$HOME/go/bin

There is no “go” in my $HOME/go/bin

but which go tells me

/usr/bin/go

go install ./cmd/multinode should have created that folder and it should create a multinode binary in that folder.

It did not install go in my homedir. Now i got it from here: Downloads - The Go Programming Language extracted it in my home and it worked. TNX

You don’t need to. Usually, you install golang in /usr/local for all users. If a user compiles something that will go into his home directory. Those are the defaults.

In my .bashrc file I have:

export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$HOME/go/bin

Is this normal ? I installed this multinode yesterday and i have six (6) nodes online.

Hi. Need help with my windows node API

2021-07-08T08:07:57.701+0800 INFO Configuration loaded {“Location”: “D:\STORJ One\config.yaml”}
2021-07-08T08:07:57.711+0800 INFO Identity loaded. {“Node ID”: “13eRB6QonENAyrqdzcH16c1yYTCeR2DozJSPnhuyuzfkwVB9vr”}
2021-07-08T08:07:57.891+0800 INFO db database does not exists {“database”: “secret”}
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x48 pc=0x192be50]

goroutine 1 [running]:
github.com/spacemonkeygo/monkit/v3.newSpan.func1(0xc0000c1420)
/go/pkg/mod/github.com/spacemonkeygo/monkit/v3@v3.0.13/ctx.go:147 +0x3bb
panic(0x1d38ac0, 0x1c30f40)
/usr/local/go/src/runtime/panic.go:975 +0x499
github.com/spacemonkeygo/monkit/v3.newSpan.func1(0xc0004e2050)
/go/pkg/mod/github.com/spacemonkeygo/monkit/v3@v3.0.13/ctx.go:147 +0x3bb
panic(0x1d38ac0, 0x1c30f40)
/usr/local/go/src/runtime/panic.go:975 +0x499
github.com/spacemonkeygo/monkit/v3.newSpan.func1(0xc0004e2080)
/go/pkg/mod/github.com/spacemonkeygo/monkit/v3@v3.0.13/ctx.go:147 +0x3bb
panic(0x1d38ac0, 0x1c30f40)
/usr/local/go/src/runtime/panic.go:975 +0x499
storj.io/storj/storagenode/storagenodedb.(*apiKeysDB).Store(0xc00047a940, 0x1fff680, 0xc00008c000, 0xc3b85a0450d1a6bf, 0x4c45b5cd6b42f08d, 0xf4cb0a521d37f483, 0x14fb8a2e30b2b76f, 0x352578c8, 0xed87838dd, 0x0, …)
/go/src/storj.io/storj/storagenode/storagenodedb/apikeys.go:40 +0x250
storj.io/storj/storagenode/apikeys.(*Service).Issue(0xc0005beb90, 0x1fff1c0, 0xc00018c1c0, 0xc3b85a0450d1a6bf, 0x4c45b5cd6b42f08d, 0xf4cb0a521d37f483, 0x14fb8a2e30b2b76f, 0x352578c8, 0xed87838dd, 0x0, …)
/go/src/storj.io/storj/storagenode/apikeys/service.go:46 +0x384
main.cmdIssue(0x1c3dfe0, 0xc00018dc00, 0x0, 0x4, 0x0, 0x0)
/go/src/storj.io/storj/cmd/storagenode/main.go:317 +0x4e5
storj.io/private/process.cleanup.func1.4(0x1fff680, 0xc000427360)
/go/pkg/mod/storj.io/private@v0.0.0-20210615185437-f53a5fcf98e0/process/exec_conf.go:363 +0x122
storj.io/private/process.cleanup.func1(0x1c3dfe0, 0xc00018dc00, 0x0, 0x4, 0x0, 0x0)
/go/pkg/mod/storj.io/private@v0.0.0-20210615185437-f53a5fcf98e0/process/exec_conf.go:381 +0x1fef
github.com/spf13/cobra.(*Command).execute(0x1c3dfe0, 0xc00018dbc0, 0x4, 0x4, 0x1c3dfe0, 0xc00018dbc0)
/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:852 +0x47c
github.com/spf13/cobra.(*Command).ExecuteC(0x1c3cbe0, 0xc0000ea000, 0x1ef1a90, 0x0)
/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(…)
/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
storj.io/private/process.ExecWithCustomConfig(0x1c3cbe0, 0x0, 0x1ef1a90)
/go/pkg/mod/storj.io/private@v0.0.0-20210615185437-f53a5fcf98e0/process/exec_conf.go:88 +0x185
storj.io/private/process.ExecCustomDebug(...)
/go/pkg/mod/storj.io/private@v0.0.0-20210615185437-f53a5fcf98e0/process/exec_conf.go:70
main.main()
/go/src/storj.io/storj/cmd/storagenode/main.go:385 +0x45

Goodmorning everyone.
In Windows when I enter

“multinode setup --console.static-dir “$HOME/multinode/web/multinode””

I receive

““multinode” is not recognized as an internal or external command,
an executable program or batch file.”

what should I do?

This is what I get after executing multinode run, but can’t connect to anything. What am I doing wrong?

2021-07-08T15:34:31.907Z INFO process/exec_conf.go:284 Configuration loaded {“Location”: “/root/.local/share/storj/multinode/config.yaml”}
2021-07-08T15:34:31.907Z DEBUG process/tracing.go:72 Anonymized tracing disabled
2021-07-08T15:34:31.915Z DEBUG db multinodedb/database.go:72 Connected to: {“db source”: “file:/root/.local/share/storj/multinode/master.db?_journal=WAL&_busy_timeout=10000” }
2021-07-08T15:34:31.915Z INFO db migrate/versions.go:218 Database Version {“version”: 0}
2021-07-08T15:34:31.916Z DEBUG servers lifecycle/group.go:100 started {“items”: [“console:endpoint”]}

It is listening on the internal IP address. is there a way to configure it to listen on the public IP?

Just look into that config and it should be self explaining

Try to compile the multinode dashboard from release-v1.33 branch. I think we should stop compiling it from the main branch. That is causing a few issues recently.

@Alexey can you make my initial post editable. I would like to fix that.

Thank you for pointing out where to change it.