Leonard Lyubich
8254da2890
[ #255 ] pkg/netmap: Move common substring of well-known attributes to prefix
...
Rename `PriceAttr` constant to `AttrPrice`. Rename `CapacityAttr` constant
to `AttrCapacity`. Add documentation to both of them.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 15:04:13 +03:00
Evgenii Stratonikov
5d9ef5feec
[ #248 ] netmap: fulfill backup factor for default attribute
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-02-03 15:31:18 +03:00
Alex Vanin
c35e15a758
[ #249 ] pkg/netmap: Add CBF field in placement context
...
If CBF value is not set, then netmap package uses default CBF
value. However it modifies placement policy structure in
`GetContainerNodes()` because policy passed as a pointer.
Instead package can store CBF value in internal context and use
it without policy modification.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-01-27 15:47:06 +03:00
Alex Vanin
c2db2a54a1
[ #243 ] Fix exhaustive linter errors
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-01-12 18:22:07 +03:00
Evgenii Stratonikov
707a0bcb35
[ #220 ] netmap: process REP X
policies correctly
...
For `REP X` select X nodes from the default filter
and fail if it cannot be done.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-03 15:39:49 +03:00
Evgenii Stratonikov
576841e0e0
[ #215 ] netmap: add test with multiple replicas
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Evgenii Stratonikov
4e0a11b71a
[ #156 ] netmap: Use default value for CBF if unset
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Evgenii Stratonikov
4e65fa41b8
[ #213 ] netmap: Do not append not twice if selector is unnamed
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Evgenii Stratonikov
ea6b6adfe0
[ #157 ] netmap: Fallback to using minimal backup factor
...
Use CBF=1 when strict policy can't be satisfied.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Leonard Lyubich
3a966ee5df
[ #199 ] sdk/netmap: Correct linter's remarks
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-16 18:51:14 +03:00
Leonard Lyubich
e721734599
[ #168 ] netmap: Implement binary and JSON encoders/decoders on Filter
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Alex Vanin
d704795dcc
[ #189 ] sdk/netmap: Define unspecified clause
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
9834ed4e68
[ #189 ] sdk/netmap: Get rid of the use of v2 types in the placement code
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
40d7c9cd93
[ #189 ] sdk/netmap: Implement NodeInfo JSON encode/decode functions
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
8367b498d9
[ #189 ] sdk/netmap: Implement NodeInfo type
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
6347f846eb
[ #189 ] sdk/netmap: Implement NodeAttribute type
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
d4f5c27d47
[ #189 ] sdk/netmap: Implement NodeState enum
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
9f19139999
[ #189 ] sdk/netmap: Refactor PlacementPolicy type
...
Replace alias to v2 type PlacementPolicy with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
6a29d9c360
[ #189 ] sdk/netmap: Refactor Replica type
...
Replace alias to v2 type Replica with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
eb96fffa5c
[ #189 ] sdk/netmap: Refactor Selector type
...
Replace alias to v2 type Selector with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
fd0c10b832
[ #189 ] sdk/netmap: Refactor Filter type
...
Replace alias to v2 type Filter with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
8c1afc6bab
[ #189 ] sdk/netmap: Refactor Clause enum
...
Replace alias to v2 type Clause with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
6d8612fd51
[ #189 ] sdk/netmap: Refactor Operation enum
...
Replace alias to v2 type Operation with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Alex Vanin
3fb3cfd1a5
[ #186 ] sdk/netmap: Use JSON placement policy converters in SDK
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-05 10:38:04 +03:00
Evgenii Stratonikov
6a69a896e5
[ #174 ] netmap: process unspecified attribute as ID
...
When selector attribute is provided it should be
silently replaced by transparent ID, so each node
resides in a separate bucket.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-10-20 13:05:15 +03:00
Alex Vanin
3347e53cde
[ #151 ] sdk/netmap: Add public key getter for node
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-22 10:25:09 +03:00
Leonard Lyubich
7ef249f8db
[ #149 ] sdk/netmap: Add net address getter to Node
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
1cbfb337a7
[ #142 ] sdk/netmap: Add type aliases for netmap policy
...
Later on there should be version independent structures.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
2026473733
[ #137 ] sdk: Implement netmap filtering and selection
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-09-18 10:45:11 +03:00