nspcc-dev / neofs-node

NeoFS is a decentralized distributed object storage integrated with the Neo blockchain
https://fs.neo.org
GNU General Public License v3.0
32 stars 38 forks source link

public key is different from the key in the network map #1178

Closed jisnardo closed 2 years ago

jisnardo commented 2 years ago

Hi,

after upgrading from 0.27.4 to 0.27.5 logs complain about this:

Attaching to neofs_testnet
neofs_testnet    | 2022-02-13T15:18:21.818Z    info    neofs-node/config.go:344    shard attached to engine    {"id": "3HiXiubruhPjN14V7bciTV"}
neofs_testnet    | 2022-02-13T15:18:22.618Z    info    neofs-node/netmap.go:239    initial network state    {"epoch": 3737, "state": "UNSPECIFIED"}
neofs_testnet    | 2022-02-13T15:18:23.314Z    info    neofs-node/morph.go:205    websocket neo event listener established    {"endpoint": "wss://rpc02.morph.testnet.fs.neo.org:51331/ws"}
neofs_testnet    | 2022-02-13T15:18:23.314Z    info    neofs-node/grpc.go:82    start listening gRPC endpoint    {"endpoint": "[::]:36512"}
neofs_testnet    | 2022-02-13T15:18:23.616Z    info    replicator/process.go:20    process routine    {"component": "Object Replicator", "task queue capacity": 0, "put timeout": 5}
neofs_testnet    | 2022-02-13T15:18:23.773Z    info    neofs-node/main.go:99    application started    {"build_time": "now", "version": "v0.27.5", "debug": "false"}
neofs_testnet    | 2022-02-13T15:18:28.067Z    error    replicator/process.go:82    could not replicate object    {"component": "Object Replicator", "node": "02dab9ce2e8ca427c3932fbb5cbb0748298357639331a5fe9f0c644b1dc953f9bc", "object": "3K545V3XUXbTGLV4oU5aNQ1oEgCDS73juuGzmxr5F1N1/3VmwZLHfyZZ3FA6sYodXBVTjQYG7U7avNQxe9QAi
tcBz", "error": "(*putsvc.RemoteSender) could not send object: (*putsvc.remoteTarget) could not put object to [/ip4/0.0.0.0/tcp/36512]: public key is different from the key in the network map"}
root@host:~/neofs/setup/bin# ./neofs-cli-amd64-v0.27.5 control healthcheck -w ../testnet/private.key --endpoint 127.0.0.1:16512 -v
Network status: STATUS_UNDEFINED
Health status: READY

Any suggestion will be appreciated.

jisnardo commented 2 years ago

@alexvanin any suggestion? Thanks in advance.

cthulhu-rider commented 2 years ago

@jisnardo can you please provide the configuration of booted storage node?

jisnardo commented 2 years ago

Here it is @cthulhu-rider :

node:
  key: /private.key # path to a binary private key
  addresses: # list of addresses announced by Storage node in the Network map
    - ingress.jorisnalt.es:36512
  attribute_0: User-Agent:NeoFS v0.27.5
  attribute_1: UN-LOCODE:ES VLC
  attribute_2: Capacity:1TB
  attribute_3: Price:100

grpc:
  num: 1 # total number of listener endpoints
  0:
    endpoint: 0.0.0.0:36512 # endpoint for gRPC server
    tls:
      enabled: false # use TLS for a gRPC connection

metrics:
  address: 127.0.0.1:9090 # endpoint for Node metrics
  shutdown_timeout: 15s # timeout for metrics HTTP server graceful shutdown

storage:
  shard_num: 1 # total number of shards
  shard:
    0:
      metabase:
        path: /storage/metabase # metabase path
        perm: 0644 # permissions for metabase files (directories: +x for current user and group)
      blobstor:
        path: /storage/blobstor # blobstor path
        perm: 0644 # permissions for blobstor files (directories: +x for current user and group)
        blobovnicza:
          opened_cache_capacity: 32 # maximum number of opened database files
          depth: 1 # max depth of object tree storage in key-value DB
          width: 1 # max width of object tree storage in key-value DB
      writecache: # use write-cache
        enabled: false
      gc:
        remover_batch_size: 100 # number of objects to be removed by the garbage collector
        remover_sleep_interval: 1m # frequency of the garbage collector invocation

object:
  put:
    pool_size_remote: 100 # number of async workers for remote PUT operations
    pool_size_local: 100

morph:
  rpc_endpoint: # side chain NEO RPC endpoints; are shuffled and used one by one until the first success
    - https://rpc01.morph.testnet.fs.neo.org:51331
    - https://rpc02.morph.testnet.fs.neo.org:51331
    - https://rpc03.morph.testnet.fs.neo.org:51331
    - https://rpc04.morph.testnet.fs.neo.org:51331
    - https://rpc05.morph.testnet.fs.neo.org:51331
    - https://rpc06.morph.testnet.fs.neo.org:51331
    - https://rpc07.morph.testnet.fs.neo.org:51331
  notification_endpoint: # side chain NEO RPC notification endpoints; are shuffled and used only the first non-error one
    - wss://rpc01.morph.testnet.fs.neo.org:51331/ws
    - wss://rpc02.morph.testnet.fs.neo.org:51331/ws
    - wss://rpc03.morph.testnet.fs.neo.org:51331/ws
    - wss://rpc04.morph.testnet.fs.neo.org:51331/ws
    - wss://rpc05.morph.testnet.fs.neo.org:51331/ws
    - wss://rpc06.morph.testnet.fs.neo.org:51331/ws
    - wss://rpc07.morph.testnet.fs.neo.org:51331/ws
  dial_timeout: 20s # timeout for side chain NEO RPC client connection

contracts: # side chain NEOFS contract script hashes; optional, override values retrieved from NNS contract
  balance: e0420c216003747626670d1424569c17c79015bf
  container: 9dbd2b5e67568ed285c3d6f96bac4edf5e1efba0
  netmap: d4b331639799e2958d4bc5b711b469d79de94e01
  reputation: 376c23a2ae1fad088c82046abb59984e3c4519d9

logger:
  level: info # logger level: one of "debug", "info" (default), "warn", "error", "dpanic", "panic", "fatal"

control:
  authorized_keys: # list of hex-encoded public keys that have rights to use the Control Service
  grpc:
    endpoint: 0.0.0.0:16512 # endpoint that is listened by the Control Service
jisnardo commented 2 years ago

Any idea @cthulhu-rider?

cthulhu-rider commented 2 years ago

Hey @jisnardo sorry for the late reply!

I don't see any problem with your configuration. When was the last time you've tried to boot-up your node? Was Network status other than STATUS_UNDEFINED once upon a time?

jisnardo commented 2 years ago

The node was always running, I don't remember last Network status.

jisnardo commented 2 years ago

Still at the same point...

cthulhu-rider commented 2 years ago

@jisnardo I suggest to upgrade to v0.28.3. Please don't forget to update your configuration as in the example.

About the problem with network entry: I noticed that capacity attribute is 1TB which is incorrect - it must be unsigned interger number of bytes. Can I ask you to try to bootstrap your node again? Then we'll be able to see problems on Inner Ring side if necessary.

jisnardo commented 2 years ago

After fix now works.

Network status: ONLINE
Health status: READY

So the problem was related with misconfigured attributes.

The next step will be upgrade.

Thanks