forked from TrueCloudLab/frostfs-api
Release v2.4.0 - Ganghwado (강화도, 江華島)
Added `netmap.NetworkInfo` RPC. Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
1594dc1f60
commit
f9e7643402
4 changed files with 94 additions and 1 deletions
18
CHANGELOG.md
18
CHANGELOG.md
|
@ -1,5 +1,22 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [2.4.0] - 2021-02-26 - Ganghwado (강화도, 江華島)
|
||||||
|
|
||||||
|
This release provides new RPC method to fetch network info from storage node.
|
||||||
|
By getting current epoch value, application might set up correct expiration
|
||||||
|
values in the objects.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- `netmap.NetworkInfo` request for getting node's network view.
|
||||||
|
- Release instructions.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Clarified processing of empty search query in `object.Search` RPC.
|
||||||
|
- Specified connection of tombstone expiration value with well-known
|
||||||
|
`__NEOFS__EXPIRATION_EPOCH` object attribute.
|
||||||
|
|
||||||
## [2.3.0] - 2021-02-11 - Seonyudo (선유도, 仙遊島)
|
## [2.3.0] - 2021-02-11 - Seonyudo (선유도, 仙遊島)
|
||||||
|
|
||||||
This release brings support for nodes to exchange information about disk space
|
This release brings support for nodes to exchange information about disk space
|
||||||
|
@ -313,3 +330,4 @@ Bump major release
|
||||||
[2.2.0]: https://github.com/nspcc-dev/neofs-api/compare/v2.1.1...v2.2.0
|
[2.2.0]: https://github.com/nspcc-dev/neofs-api/compare/v2.1.1...v2.2.0
|
||||||
[2.2.1]: https://github.com/nspcc-dev/neofs-api/compare/v2.2.0...v2.2.1
|
[2.2.1]: https://github.com/nspcc-dev/neofs-api/compare/v2.2.0...v2.2.1
|
||||||
[2.3.0]: https://github.com/nspcc-dev/neofs-api/compare/v2.2.1...v2.3.0
|
[2.3.0]: https://github.com/nspcc-dev/neofs-api/compare/v2.2.1...v2.3.0
|
||||||
|
[2.4.0]: https://github.com/nspcc-dev/neofs-api/compare/v2.3.0...v2.4.0
|
||||||
|
|
|
@ -12,12 +12,17 @@
|
||||||
- [LocalNodeInfoRequest.Body](#neo.fs.v2.netmap.LocalNodeInfoRequest.Body)
|
- [LocalNodeInfoRequest.Body](#neo.fs.v2.netmap.LocalNodeInfoRequest.Body)
|
||||||
- [LocalNodeInfoResponse](#neo.fs.v2.netmap.LocalNodeInfoResponse)
|
- [LocalNodeInfoResponse](#neo.fs.v2.netmap.LocalNodeInfoResponse)
|
||||||
- [LocalNodeInfoResponse.Body](#neo.fs.v2.netmap.LocalNodeInfoResponse.Body)
|
- [LocalNodeInfoResponse.Body](#neo.fs.v2.netmap.LocalNodeInfoResponse.Body)
|
||||||
|
- [NetworkInfoRequest](#neo.fs.v2.netmap.NetworkInfoRequest)
|
||||||
|
- [NetworkInfoRequest.Body](#neo.fs.v2.netmap.NetworkInfoRequest.Body)
|
||||||
|
- [NetworkInfoResponse](#neo.fs.v2.netmap.NetworkInfoResponse)
|
||||||
|
- [NetworkInfoResponse.Body](#neo.fs.v2.netmap.NetworkInfoResponse.Body)
|
||||||
|
|
||||||
|
|
||||||
- [netmap/types.proto](#netmap/types.proto)
|
- [netmap/types.proto](#netmap/types.proto)
|
||||||
|
|
||||||
- Messages
|
- Messages
|
||||||
- [Filter](#neo.fs.v2.netmap.Filter)
|
- [Filter](#neo.fs.v2.netmap.Filter)
|
||||||
|
- [NetworkInfo](#neo.fs.v2.netmap.NetworkInfo)
|
||||||
- [NodeInfo](#neo.fs.v2.netmap.NodeInfo)
|
- [NodeInfo](#neo.fs.v2.netmap.NodeInfo)
|
||||||
- [NodeInfo.Attribute](#neo.fs.v2.netmap.NodeInfo.Attribute)
|
- [NodeInfo.Attribute](#neo.fs.v2.netmap.NodeInfo.Attribute)
|
||||||
- [PlacementPolicy](#neo.fs.v2.netmap.PlacementPolicy)
|
- [PlacementPolicy](#neo.fs.v2.netmap.PlacementPolicy)
|
||||||
|
@ -47,6 +52,7 @@ NeoFS nodes.
|
||||||
|
|
||||||
```
|
```
|
||||||
rpc LocalNodeInfo(LocalNodeInfoRequest) returns (LocalNodeInfoResponse);
|
rpc LocalNodeInfo(LocalNodeInfoRequest) returns (LocalNodeInfoResponse);
|
||||||
|
rpc NetworkInfo(NetworkInfoRequest) returns (NetworkInfoResponse);
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -61,6 +67,13 @@ further communication. Can also be used to check if node is up and running.
|
||||||
| Name | Input | Output |
|
| Name | Input | Output |
|
||||||
| ---- | ----- | ------ |
|
| ---- | ----- | ------ |
|
||||||
| LocalNodeInfo | [LocalNodeInfoRequest](#neo.fs.v2.netmap.LocalNodeInfoRequest) | [LocalNodeInfoResponse](#neo.fs.v2.netmap.LocalNodeInfoResponse) |
|
| LocalNodeInfo | [LocalNodeInfoRequest](#neo.fs.v2.netmap.LocalNodeInfoRequest) | [LocalNodeInfoResponse](#neo.fs.v2.netmap.LocalNodeInfoResponse) |
|
||||||
|
#### Method NetworkInfo
|
||||||
|
|
||||||
|
Read recent information about the NeoFS network.
|
||||||
|
|
||||||
|
| Name | Input | Output |
|
||||||
|
| ---- | ----- | ------ |
|
||||||
|
| NetworkInfo | [NetworkInfoRequest](#neo.fs.v2.netmap.NetworkInfoRequest) | [NetworkInfoResponse](#neo.fs.v2.netmap.NetworkInfoResponse) |
|
||||||
<!-- end services -->
|
<!-- end services -->
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,6 +121,51 @@ Local Node Info, including API Version in use.
|
||||||
| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Latest NeoFS API version in use |
|
| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Latest NeoFS API version in use |
|
||||||
| node_info | [NodeInfo](#neo.fs.v2.netmap.NodeInfo) | | NodeInfo structure with recent information from node itself |
|
| node_info | [NodeInfo](#neo.fs.v2.netmap.NodeInfo) | | NodeInfo structure with recent information from node itself |
|
||||||
|
|
||||||
|
|
||||||
|
<a name="neo.fs.v2.netmap.NetworkInfoRequest"></a>
|
||||||
|
|
||||||
|
### Message NetworkInfoRequest
|
||||||
|
Get NetworkInfo structure with the network view from particular node.
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Label | Description |
|
||||||
|
| ----- | ---- | ----- | ----------- |
|
||||||
|
| body | [NetworkInfoRequest.Body](#neo.fs.v2.netmap.NetworkInfoRequest.Body) | | Body of the NetworkInfo request message |
|
||||||
|
| meta_header | [neo.fs.v2.session.RequestMetaHeader](#neo.fs.v2.session.RequestMetaHeader) | | Carries request meta information. Header data is used only to regulate message transport and does not affect request execution. |
|
||||||
|
| verify_header | [neo.fs.v2.session.RequestVerificationHeader](#neo.fs.v2.session.RequestVerificationHeader) | | Carries request verification information. This header is used to authenticate the nodes of the message route and check the correctness of transmission. |
|
||||||
|
|
||||||
|
|
||||||
|
<a name="neo.fs.v2.netmap.NetworkInfoRequest.Body"></a>
|
||||||
|
|
||||||
|
### Message NetworkInfoRequest.Body
|
||||||
|
NetworkInfo request body is empty.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="neo.fs.v2.netmap.NetworkInfoResponse"></a>
|
||||||
|
|
||||||
|
### Message NetworkInfoResponse
|
||||||
|
Response with NetworkInfo structure including current epoch and
|
||||||
|
sidechain magic number.
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Label | Description |
|
||||||
|
| ----- | ---- | ----- | ----------- |
|
||||||
|
| body | [NetworkInfoResponse.Body](#neo.fs.v2.netmap.NetworkInfoResponse.Body) | | Body of the NetworkInfo response message. |
|
||||||
|
| meta_header | [neo.fs.v2.session.ResponseMetaHeader](#neo.fs.v2.session.ResponseMetaHeader) | | Carries response meta information. Header data is used only to regulate message transport and does not affect response execution. |
|
||||||
|
| verify_header | [neo.fs.v2.session.ResponseVerificationHeader](#neo.fs.v2.session.ResponseVerificationHeader) | | Carries response verification information. This header is used to authenticate the nodes of the message route and check the correctness of transmission. |
|
||||||
|
|
||||||
|
|
||||||
|
<a name="neo.fs.v2.netmap.NetworkInfoResponse.Body"></a>
|
||||||
|
|
||||||
|
### Message NetworkInfoResponse.Body
|
||||||
|
Information about the network.
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Label | Description |
|
||||||
|
| ----- | ---- | ----- | ----------- |
|
||||||
|
| network_info | [NetworkInfo](#neo.fs.v2.netmap.NetworkInfo) | | NetworkInfo structure with recent information. |
|
||||||
|
|
||||||
<!-- end messages -->
|
<!-- end messages -->
|
||||||
|
|
||||||
<!-- end enums -->
|
<!-- end enums -->
|
||||||
|
@ -139,6 +197,18 @@ results, that will satisfy filter's conditions.
|
||||||
| filters | [Filter](#neo.fs.v2.netmap.Filter) | repeated | List of inner filters. Top level operation will be applied to the whole list. |
|
| filters | [Filter](#neo.fs.v2.netmap.Filter) | repeated | List of inner filters. Top level operation will be applied to the whole list. |
|
||||||
|
|
||||||
|
|
||||||
|
<a name="neo.fs.v2.netmap.NetworkInfo"></a>
|
||||||
|
|
||||||
|
### Message NetworkInfo
|
||||||
|
Information about NeoFS network
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Label | Description |
|
||||||
|
| ----- | ---- | ----- | ----------- |
|
||||||
|
| current_epoch | [uint64](#uint64) | | Number of the current epoch in the NeoFS network. |
|
||||||
|
| magic_number | [uint64](#uint64) | | Magic number of the sidechain of the NeoFS network. |
|
||||||
|
|
||||||
|
|
||||||
<a name="neo.fs.v2.netmap.NodeInfo"></a>
|
<a name="neo.fs.v2.netmap.NodeInfo"></a>
|
||||||
|
|
||||||
### Message NodeInfo
|
### Message NodeInfo
|
||||||
|
|
|
@ -554,6 +554,11 @@ Object Search request body
|
||||||
Filter structure checks if object header field or attribute content
|
Filter structure checks if object header field or attribute content
|
||||||
matches a value.
|
matches a value.
|
||||||
|
|
||||||
|
If no filters set, search request will return all objects of the
|
||||||
|
container, including Regular object, Tombstones and Storage Group
|
||||||
|
objects. Most human users expect to get only object they can directly
|
||||||
|
work with. In that case the `$Object:ROOT` filter should be used.
|
||||||
|
|
||||||
By default `key` field refers to the corresponding object's `Attribute`.
|
By default `key` field refers to the corresponding object's `Attribute`.
|
||||||
Some Object's header fields can also be accessed by adding `$Object:`
|
Some Object's header fields can also be accessed by adding `$Object:`
|
||||||
prefix to the name. Here is the list of fields available via this prefix:
|
prefix to the name. Here is the list of fields available via this prefix:
|
||||||
|
|
|
@ -31,7 +31,7 @@ purged from the NeoFS network.
|
||||||
|
|
||||||
| Field | Type | Label | Description |
|
| Field | Type | Label | Description |
|
||||||
| ----- | ---- | ----- | ----------- |
|
| ----- | ---- | ----- | ----------- |
|
||||||
| expiration_epoch | [uint64](#uint64) | | Last NeoFS epoch number of the tombstone lifetime. It's set by tombstone creator depending on current NeoFS network settings. |
|
| expiration_epoch | [uint64](#uint64) | | Last NeoFS epoch number of the tombstone lifetime. It's set by tombstone creator depending on current NeoFS network settings. Tombstone object must have the same expiration epoch value in `__NEOFS__EXPIRATION_EPOCH` attribute. Otherwise tombstone will be rejected by storage node. |
|
||||||
| split_id | [bytes](#bytes) | | 16 byte UUID used to identify the split object hierarchy parts. Must be unique inside container. All objects participating in the split must have the same `split_id` value. |
|
| split_id | [bytes](#bytes) | | 16 byte UUID used to identify the split object hierarchy parts. Must be unique inside container. All objects participating in the split must have the same `split_id` value. |
|
||||||
| members | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | repeated | List of objects to be deleted. |
|
| members | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | repeated | List of objects to be deleted. |
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue