Proto commits in nspcc-dev/neofs-node

These 59 commits are when the Protocol Buffers files have changed:

Commit:e4eb52f
Author:Roman Khimov
Committer:Roman Khimov

control: make control service remove objects immediately Delayed removal incurs some additional penalty (writing to metabase) and also can leave the object in storage for unknown time (GC can be busy). Control service is used only for emergency cases where direct removal is likely to be more beneficial. Signed-off-by: Roman Khimov <roman@nspcc.ru>

The documentation is generated from this commit.

Commit:9641950
Author:emmmm
Committer:GitHub

Update types.proto Signed-off-by: emmmm <155267286+eeemmmmmm@users.noreply.github.com>

Commit:69c0037
Author:Andrey Butusov
Committer:Andrey Butusov

adm,node,ir: drop `MaintenanceModeAllowed` network setting Make `MaintenanceModeAllowed` always allowed. Drop all checks for this setting. Rewrite command `control set-status` without `force` flag. Drop output with this setting from `netmap netinfo`. Closes #3328. Signed-off-by: Andrey Butusov <andrey@nspcc.io>

Commit:2216363
Author:Andrey Butusov
Committer:Andrey Butusov

node: make blobstor with only one type Drop sub-stores, so there are no arrays in blobstor, and it can only be one type. Update tests and docs. Closes #2497. Signed-off-by: Andrey Butusov <andrey@nspcc.io>

Commit:79237da
Author:Roman Khimov
Committer:Roman Khimov

*: drop tree service Bye-bye, you won't be missed. With S3 0.36.0 we can finally do this. Signed-off-by: Roman Khimov <roman@nspcc.ru>

Commit:3f32aae
Author:Andrey Butusov
Committer:Andrey Butusov

control: add network management via ir control New `neofs-cli control notary` with `list`, `request` and `sign` commands. - `list` - get list of all notary requests from notary pool. - `request` - send a notary request with one of the following methods: `newEpoch`, `setConfig` and `removeNode`. - `sign` - sign the notary request using a hash. Closes #2088, #1866. Signed-off-by: Andrey Butusov <andrey@nspcc.io>

Commit:5567e5f
Author:Andrey Butusov
Committer:Andrey Butusov

node/control: add `object revive` control command Includes API definition extending, RPC implementation, tests of metabase func. The command requests server's storage engine to revive object by address. It's purge all removal marks from all metabases and returns revival statuses. Signed-off-by: Andrey Butusov <andrey@nspcc.io>

Commit:a5f122d
Author:Andrey Butusov
Committer:Andrey Butusov

node/control: add `object list` control command Includes API definition extending; server side streaming RPC implementation; protoc version update. The command requests server's storage engine list of objects, that are known by node. Does not include inhumed objects. Signed-off-by: Andrey Butusov <andrey@nspcc.io>

Commit:3149d62
Author:Andrey Butusov
Committer:Andrey Butusov

ir: add new health status `INITIALIZING_NETWORK` in ir `New` func New health status for time-spending process - initializing Neo network by blockchain: `INITIALIZING_NETWORK`. Closes #2923. Signed-off-by: Andrey Butusov <andrey@nspcc.io>

Commit:5c5c42c
Author:Pavel Karpy
Committer:Pavel Karpy

node/control: add `ObjectStatus` control command Includes API definition extending; server side implementation; protoc version update (my local version is higher, and it seems we do not have a strict policy about the version). The command requests server's storage engine (bypass any other logical check, only storage) to answer its status according to its parts (shards and their write-caches, blobstors, metabases), Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>

Commit:f858a81
Author:Pavel Karpy
Committer:Pavel Karpy

*: Drop subnets support See https://github.com/nspcc-dev/neofs-api/issues/261. Signed-off-by: Pavel Karpy <carpawell@morphbits.io>

Commit:60e9de8
Author:Leonard Lyubich
Committer:LeL

[#1916] control: Check maintenance allowance on Control server In previous implementation turning to maintenance mode using NeoFS CLI required NeoFS API endpoint. This was not convenient from the user perspective. It's worth to move networks settings' check to the server side. Add `force_maintenance` field to `SetNetmapStatusRequest.Body` message of Control API. Add `force` flag to `neofs-cli control set-status` command which sets corresponding field in the requests body if status is `maintenance`. Force flag is ignored for any other status. Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>

Commit:6d4beea
Author:Pavel Karpy
Committer:Pavel Karpy

[#1902] tree: Extend grpc service with `ListTrees` method Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>

Commit:19c0a74
Author:Evgenii Stratonikov
Committer:fyrchik

[#1867] services/control: Allow to provide multiple shard IDs to some commands Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>

Commit:feaa9ea
Author:Anton Nikiforov
Committer:fyrchik

[#1768] Add healthcheck method to the Tree service Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>

Commit:4b005d3
Author:Evgenii Stratonikov
Committer:fyrchik

[#1840] blobstor: Return info about all components Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>

Commit:51b8f26
Author:Evgenii Stratonikov
Committer:fyrchik

[#1806] services/control: Allow to flush write-cache Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>

Commit:485a541
Author:Leonard Lyubich
Committer:fyrchik

[#1793] node: Serve `NetmapService.NetmapSnapshot` RPC There is no more need to serve the same request on Control API. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:091d7d3
Author:Evgenii Stratonikov
Committer:fyrchik

[#1731] services/control: Allow to evacuate data from shard Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>

Commit:2ffcd02
Author:Pavel Karpy
Committer:fyrchik

[#1628] tree: Document ACL checks in tree service Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>

Commit:74c8613
Author:Evgenii Stratonikov
Committer:fyrchik

[#1753] services/tree: Add parent ID to the `GetNodeByPath` response Currently, you need to use `GetSubTree` to get parent, which seems an overkill. Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>

Commit:4944490
Author:Evgenii Stratonikov
Committer:fyrchik

[#1559] local_object_storage: Move shard to the `DegradedReadOnly` mode `Degraded` mode can be set by the administrator if needed. Modifying operations in this mode can lead node into an inconsistent state because metabase checks such as lock checking are not performed. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:aea855e
Author:Evgenii Stratonikov
Committer:fyrchik

[#1326] services/tree: Implement GetSubTree RPC Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:f80e52f
Author:Evgenii Stratonikov
Committer:fyrchik

[#1334] services/tree: Document *.proto files Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:bfdd68d
Author:Evgenii Stratonikov
Committer:fyrchik

[#1333] services/control: Allow to synchronize local trees Do not check that a node indeed belongs to the container, because the synchronization will fail in this case anyway. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:5e843a7
Author:Evgenii Stratonikov
Committer:fyrchik

[#1333] services/control: Return pilorama info in `ListShards` RPC Do not return backend type from the service for now, because memory backend is expected to vanish. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:536857e
Author:Evgenii Stratonikov
Committer:fyrchik

[#1329] services/tree: Implement `GetOpLog` RPC Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:16e3421
Author:Evgenii Stratonikov
Committer:fyrchik

[#1328] services/tree: Implement access control Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:94b9e13
Author:Evgenii Stratonikov
Committer:fyrchik

[#1328] services/tree: Fix proto field numbers Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:62154da
Author:Evgenii Stratonikov
Committer:fyrchik

[#1324] services/tree: Implement Object Tree Service Object Tree Service allows changing trees assotiated with the container in runtime. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:6472a17
Author:Evgenii Stratonikov
Committer:fyrchik

[#1143] shard: Introduce explicit `Degraded` mode `Degraded` mode is set automatically after error counter is over the threshold. `ReadOnly` mode can still be set by an administrator. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:ed50cf6
Author:Evgenii Stratonikov
Committer:Alex Vanin

[#1118] services/control: return error counter in `ListShards` Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:7fb15fa
Author:Evgenii Stratonikov
Committer:Alex Vanin

[#1118] services/control: allow to reset error counter in `SetShardMode` Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:18cfd8b
Author:Evgenii Stratonikov
Committer:Alex Vanin

[#1086] services/control: implement `RestoreShard` RPC Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:0e60b1d
Author:Evgenii Stratonikov
Committer:Alex Vanin

[#1086] services/control: implement `DumpShard` RPC Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>

Commit:41dd385
Author:Pavel Karpy
Committer:Alex Vanin

[#1059] control: Add `SetShardMode` rpc to proto files Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>

Commit:20f11c8
Author:Pavel Karpy
Committer:Alex Vanin

[#1048] control: Add `ListShards` rpc to proto files Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>

Commit:876b0c5
Author:Pavel Karpy
Committer:Alex Vanin

[#1048] control: Rename `Blobstore` to `Blobstor` Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>

Commit:e8f8e58
Author:Leonard Lyubich
Committer:LeL

[#979] adm: Add subnet-related commands Add `subnet` command which contains all subnet-related commands. Add sub-commands: * `create` for creation; * `remove` for removal; * `get` for reading; * `admin` for admin management; * `client` for client management. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:8f8b638
Author:Leonard Lyubich
Committer:Alex Vanin

[#922] control: Add MAINTENANCE netmap status Add `MAINTENANCE` value to `NetmapStatus` enum in Control API. The status is going to be used to toggle maintenance mode of the storage node. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:1e52e86
Author:Leonard Lyubich
Committer:Leonard Lyubich

[#607] node/control: Make group address in NodeInfo message Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:93803b1
Author:Leonard Lyubich
Committer:Alex Vanin

[#414] ir: Define Control service Define `ControlService` for IR similar to the one from storage node. Add `HealthStatus` RPC which returns health status of the IR application. Implement getters, setters and methods to sign/verify the messages. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:f2337ba
Author:Leonard Lyubich
Committer:Alex Vanin

[#401] control: Add RPC to mark objects to be removed from the node There is a need to define storage node's interface to remove objects from the local storage. Define `DropObjects` RPC in `ControlService`. Define `DropObjectsRequest` / `DropObjectsResponse` structure of the request / response messages. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:f39d08b
Author:Leonard Lyubich
Committer:Alex Vanin

[#315] control: Add SetNetmapStatus rpc Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:6ae51e4
Author:Leonard Lyubich
Committer:Alex Vanin

[#312] control: Add health status field to health check response body Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:e5dc4ed
Author:Leonard Lyubich
Committer:Alex Vanin

[#312] control: Add newline at the end of proto file Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:83d4420
Author:Leonard Lyubich
Committer:Alex Vanin

[#313] control: Rename HealthStatus enum to NetmapStatus Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:0abb8ac
Author:Leonard Lyubich
Committer:Alex Vanin

[#312] control: Define HealthStatus enum Define enumeration of the statuses of storage node application. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:2877791
Author:Leonard Lyubich
Committer:Alex Vanin

[#311] services/control: Define NetmapSnapshot rpc Add NetmapSnapshot rpc to ControlService protobuf definition. Recompile proto files. Add required method to server structure. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:88023f3
Author:Leonard Lyubich
Committer:Alex Vanin

[#311] services/control: Define Netmap structure Define NodeInfo protobuf type. Define Netmap protobuf type. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:5f22e7f
Author:Leonard Lyubich
Committer:Alex Vanin

Add newline at end of Control service proto file Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:e9d4b2d
Author:Leonard Lyubich
Committer:Alex Vanin

[#311] Recompile protobuf files Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:abd9952
Author:Leonard Lyubich
Committer:Alex Vanin

[#306] Rename Private service to Control service Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:85ec633
Author:Leonard Lyubich
Committer:Alex Vanin

[#306] Define and compile proto files for private node service Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:786da53
Author:Leonard Lyubich
Committer:Alex Vanin

[#291] Remove unused pkg/network/muxer package Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

This commit does not contain any .proto files.

Commit:9f51c85
Author:Leonard Lyubich
Committer:Alex Vanin

[#17] localstorage: Adopt local object storage for new types Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:a87fdab
Author:Leonard Lyubich
Committer:Alex Vanin

[#11] Trim the old functionality Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>

Commit:b7b5079
Author:Stanislav Bogatyrev
Committer:Stanislav Bogatyrev

Add Inner Ring code

Commit:dadfd90
Author:alexvanin
Committer:Stanislav Bogatyrev

Initial commit Initial public review release v0.10.0