Commit graph

441 commits

Author SHA1 Message Date
Leonard Lyubich
1affb7e458 [#127] netmap: Define NetworkInfo rpc in NetmapService
Define `NetworkInfo` rpc which can be used to read the recent NeoFS network
information. Request body is empty, response body contains NetworkInfo
message.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-24 20:59:56 +03:00
Leonard Lyubich
3a2e01741a [#127] netmap: Define NetworkInfo message
Define `NetworkInfo` message which groups configuration and state values of
NeoFS network.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-24 20:59:56 +03:00
Stanislav Bogatyrev
82f2b4cbc1 [#135] Clarify empty search filter behaviour
It may be confusing for the user to get all types of objects as the
result of a search with no filters set. Human users may expect to see
only the objects intended for direct manipulation by humans.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-02-20 14:15:03 +03:00
Alex Vanin
1f89c9a0d8 [#136] tombstone: Specify connection with object attribute
Expiration epoch value should be the same in tombstone object
body and in tombstone object header.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-19 12:13:03 +03:00
Stanislav Bogatyrev
a39e0be2bd doc: Add release instructions
We need release instructions to use them as a check-list at release
creation time.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-02-15 09:06:48 +03:00
Stanislav Bogatyrev
a37a7c5ef4 Release v2.3.0 - Seonyudo (선유도, 仙遊島)
UN-LOCODE support and Container's used space reporting

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-02-11 16:38:54 +03:00
Stanislav Bogatyrev
5152f607f1 [#129] netmap: Describe UN-LOCODE related attributes
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
854281608e [#129] netmap: Define Continent node attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
8410362db3 [#129] netmap: Define SubDiv node attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
e71f7fd5a6 [#129] netmap: Define SubDivCode node attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
4f7828a1be [#129] netmap: Define Location node attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
5d41fa7348 [#129] netmap: Define LocationCode node attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
556485c0f4 [#129] netmap: Define CountryCode node attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
b61b7d2f30 [#129] netmap: Rename key to LOCODE attribute of the node
Rename `Locode` attribute to `UN-LOCODE`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
0f8fb25969 [#128] object: Add json_name tags to fields of SearchRequest.Body.Filter
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
3b6f5d70ec [#120] object: Document processing of filters with match type NOT_PRESENT
The behavior of the node when processing system search filters with match
type NOT_PRESENT is declared undefined.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
90160db0ac [#120] object: Define NOT_PRESENT value in MatchType enum
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
ad4a9142ab [#119] object: Define STRING_NOT_EQUAL value in MatchType enum
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 14:53:59 +03:00
Alex Vanin
c51f4cd314 [#122] container: Add epoch field to size announcement
Nodes aggregate size estimation based on container id
and epoch number. Estimations are not valid forever.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-11 14:53:59 +03:00
Alex Vanin
3a129a2557 [#122] container: Add AnnounceUsedSpace method
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-11 14:53:59 +03:00
Leonard Lyubich
113c7d97d1 Update changelog for v2.2.1
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-01-15 16:13:33 +03:00
Stanislav Bogatyrev
fac353b9a4 [#117] Describe well-known X-Headers
When object can't be found using current network map, there is a chance to find
it using netmap versions from previous epochs.

By default only current netmap is used. Well-known X-Headers can be used to set
the specific netmap version and limit how deep into the past the node can go in
the search of an object.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-01-11 18:00:34 +03:00
Stanislav Bogatyrev
7f8a4f25ba Release v2.2.0 - Yeouido (여의도, 汝矣島)
Storage Groups based Data Audit updates

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-30 10:22:32 +03:00
Stanislav Bogatyrev
9aeea57083 Update Changelog for Yeouido
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-25 15:29:16 +03:00
Stanislav Bogatyrev
d7ca10d468 docs: Update auto-generated documentation
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-25 15:17:38 +03:00
Stanislav Bogatyrev
bee986c72c [#109] Define data audit result structure
Inner ring nodes conduct data audit and submit audit results. Results are then
saved in audit smart contract for settlement routines to transfer payments.

We don't need to save the full detailed audit report, but only provide enough
information for other subsystems to reward or punish storage nodes.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-25 15:04:56 +03:00
Stanislav Bogatyrev
c5612b01cc [#110] Add hashes to ShortHeader structure
Hashes in ShortHeader are needed for Data Audit process.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-17 12:24:15 +03:00
Stanislav Bogatyrev
974a99e6c2 Update changelog for v2.1.1
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-17 10:28:02 +03:00
Stanislav Bogatyrev
73ccd17adb Clarify object field usage in some requests' eACL filters
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-16 14:05:05 +03:00
Stanislav Bogatyrev
47c7452eb2 [#84] Clarify JSON encoding for OID, CID and OwnerID
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-15 14:29:56 +03:00
Stanislav Bogatyrev
953b2750a2 Release v2.1.0 - Modo (모도, 茅島)
Object split and deletion improvements, documentation clarifications.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-11 14:09:43 +03:00
Stanislav Bogatyrev
baa02d4570 Update auto-generated documentation
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-11 10:20:46 +03:00
Stanislav Bogatyrev
a8c1779690 [#81] Clarify that attribute names must be unique
All types of attribute keys must be unique and can't be repeated in the same
entity.

- Containers with duplicated attribute keys must not be accepted by InnerRing on
  creation.
- Nodes with duplicated attribute keys can't be accepted to NetMap by InnerRing
- Objects with duplicated attribute keys must be considered invalid and not
  accepted in PUT operations

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-11 10:19:46 +03:00
Stanislav Bogatyrev
99a537ea65 Add 2.1.0 release changelog
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-10 19:02:56 +03:00
Alex Vanin
75dd1261e3 Add raw flag in object.GetRangeRequest
Raw flag used to get range of physically stored objects and
ignoring split objects. In case of split object node should
return SplitInfo message.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Alex Vanin
7f26542813 Add split_info field in object.GetRangeResponse body
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Alex Vanin
7995020a9d Add split_info field in object.HeadResponse body
Head operation returns SplitInfo structure if request has
raw flag and ID of virtual object.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Alex Vanin
a5a39257fc Add split_info field in object.GetResponse body
SplitInfo structure from split_info field contains meta information
to assembly the object that has been split into parts.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Stanislav Bogatyrev
289a6366fa [#51] Define Tombstone type and return it's address on object delete
- Define payload structure for Tombstone object type.
- Return address of the created TS on object delete. Useful for testing

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 19:38:16 +03:00
Stanislav Bogatyrev
b930782fd3 [#84] Clarify various types encoding formats
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 16:55:02 +03:00
Stanislav Bogatyrev
063ec430d1 [#86] Clarify that Attributes can't have empty values
In case there is a need to set flag-like attributes, the value should be set to
something like `true` or `1`.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 16:51:21 +03:00
Stanislav Bogatyrev
29c9e1d68b typo fix
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-25 16:37:08 +03:00
Stanislav Bogatyrev
73143ac362 Add split_id search attribute and remove childfree
After adding `split_id` there is no need to have $Object:CHILDFREE.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-25 13:43:20 +03:00
Stanislav Bogatyrev
71469da602 Typo fixes
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-25 13:43:20 +03:00
Leonard Lyubich
f4215add9e [#94] acl: Add json_name notation to EACLTable.Version field
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-24 11:51:17 +03:00
Stanislav Bogatyrev
55c04e485e Add header.split.split_id header to object
In some cases like nspcc-dev/neofs-node#167 there is no simple way to identify
where does the object part belongs to. Adding `split_id` as the required field
will simplify split object processing.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-17 11:03:33 +03:00
Stanislav Bogatyrev
3cdde6492b Mention object split limitation by type
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-10 09:26:11 +03:00
Stanislav Bogatyrev
2613670553 [nspcc-dev/neofs-node#151] Clarify $Object:ROOT filter description
* It's expected by app developers that ROOT filter will return the list of objects
created by user, without supplementary objects like split object parts,
tombstones and storage groups.

* Rename LEAF to PHY as it's purpose it to return physically existing objects.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-09 19:00:39 +03:00
Stanislav Bogatyrev
9a319905be [#87] Add object ID key in extended ACL filters
Extended ACL description lacks `objectID` key in filters. It's useful to control
access to specific object.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-09 17:33:19 +03:00
Alex Vanin
35baf1ebfb Release v2.0.2
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-27 15:48:38 +03:00