Commit graph

1592 commits

Author SHA1 Message Date
805862f4b7 [#956] node: Allow to reload goroutine pool sizes
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-02-08 15:49:43 +00:00
426cf58b98 [#956] node: Remove pool sizes from config struct
They are available through the pool methods and unused outside of the
function that sets them.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-02-08 15:49:43 +00:00
cbfeb72466 [#956] policer: Remove WithMaxCapacity option
We already provide the pool and this argument is used only for
preallocation. No functional changes.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-02-08 15:49:43 +00:00
053a195ac2 [#968] adm: Allow concurrent epoch ticks
Previous fix was incomplete, there are two possible places for this
error to occur.

Refs #592

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-02-08 08:10:24 +00:00
a6c9a337cd [#965] morph: Get rid of container.List invocations
ContainersOf() is better in almost every aspect, besides creating a
session when the containers number is between 1024 and 2048 (prefetch
script does limited unwrapping). Making List() private helps to ensure
it is no longer used and can be safely removed in future.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-02-07 08:56:27 +00:00
b1a1b2107d [#909] cli: Make add-rule and list-rules recieve namespace param
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-02-07 06:54:41 +00:00
9ba48c582d [#917] engine: Allow to detach shards
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-02-06 14:49:47 +03:00
befbaf9d56 [#922] cli: Add new command control list-targets
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-02-02 12:09:51 +00:00
5be2af881a [#934] container: Make container APE middleware read namespaces
* Those methods that can access already existing containers and thus
  can get container properties should read namespace from Zone
  property. If Zone is not set, take a namespace for root.
* Otherwise, define namespaces by owner ID via frostfs-id contract.
* Improve unit-tests, consider more cases.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-02-01 17:38:24 +00:00
96c86c4637 [#934] adm: Make frostfsid commands read alphabet wallets
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-02-01 17:38:24 +00:00
483a67b170 [#937] ape: Validate chain resource name
All checks were successful
DCO action / DCO (pull_request) Successful in 2m13s
Build / Build Components (1.20) (pull_request) Successful in 3m38s
Vulncheck / Vulncheck (pull_request) Successful in 3m13s
Tests and linters / Staticcheck (pull_request) Successful in 6m15s
Build / Build Components (1.21) (pull_request) Successful in 7m11s
Tests and linters / Lint (pull_request) Successful in 9m35s
Tests and linters / Tests (1.21) (pull_request) Successful in 13m56s
Tests and linters / Tests (1.20) (pull_request) Successful in 14m14s
Tests and linters / Tests with -race (pull_request) Successful in 6m2s
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-01-31 11:34:35 +03:00
e3573de6db [#930] gc: Stop internal activity by context
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-01-31 08:30:34 +00:00
417f8fc2c2 [#876] cli: Add doc for commands control *-rule
All checks were successful
DCO action / DCO (pull_request) Successful in 7m54s
Tests and linters / Lint (pull_request) Successful in 9m7s
Vulncheck / Vulncheck (pull_request) Successful in 8m51s
Build / Build Components (1.20) (pull_request) Successful in 11m57s
Build / Build Components (1.21) (pull_request) Successful in 11m52s
Tests and linters / Staticcheck (pull_request) Successful in 14m15s
Tests and linters / Tests (1.21) (pull_request) Successful in 14m46s
Tests and linters / Tests (1.20) (pull_request) Successful in 15m9s
Tests and linters / Tests with -race (pull_request) Successful in 15m17s
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-01-25 20:26:13 +03:00
51d1d935ef [#876] cli: Add support for container in local rules
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-01-25 20:26:13 +03:00
1fe7736d92 [#925] morph: Introduce switch rpc guarded rpc actor
* Introduce switch rpc guarded rpc actor in morph client
  to prevent using invalidated rpc actor when RPC switch
  happens.
* Initialize NewContractStorage with SwitchRPCGuardedActor.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-01-25 13:24:13 +00:00
d13e37f70b [#768] adm: Do not change frostfsid admin on update
Behave similarly to the netmap contract.
Close #768

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-25 10:54:42 +00:00
d2d850786d [#923] adm: Move netconfig merge to a separate function
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-25 10:54:42 +00:00
61a3afbf9b [#768] adm: Rephrase error text for NNS fetch
Error could come from the network, we must not assume everything.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-25 10:54:42 +00:00
c00eb7ccee [#768] adm: Return error from getContractDeployData()
Make code more idiomatic and unify in style with other error reporting.
Retain panics for code errors.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-25 10:54:42 +00:00
e42262a863 [#908] adm/frostfsid: Add parameter validations
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-19 11:04:03 +00:00
136acdba21 [#908] adm/frostfsid: Use client for write operations
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-19 11:04:03 +00:00
6ebd61298e [#908] adm/frostfsid: Support subject/group management
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-19 11:04:03 +00:00
0e3d144695 [#908] adm: Support frostfsid basic operations
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-19 11:04:03 +00:00
c8baf76fae [#872] object: Introduce APE middlewar for object service
All checks were successful
DCO action / DCO (pull_request) Successful in 2m4s
Vulncheck / Vulncheck (pull_request) Successful in 3m12s
Build / Build Components (1.21) (pull_request) Successful in 4m1s
Build / Build Components (1.20) (pull_request) Successful in 4m13s
Tests and linters / Staticcheck (pull_request) Successful in 4m3s
Tests and linters / Lint (pull_request) Successful in 8m7s
Tests and linters / Tests (1.20) (pull_request) Successful in 8m14s
Tests and linters / Tests (1.21) (pull_request) Successful in 8m18s
Tests and linters / Tests with -race (pull_request) Successful in 8m24s
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-01-12 18:41:35 +03:00
52ffa9f164 [#891] getSvc: Refactor Get service V2 creation
All checks were successful
DCO action / DCO (pull_request) Successful in 2m46s
Vulncheck / Vulncheck (pull_request) Successful in 2m53s
Build / Build Components (1.20) (pull_request) Successful in 4m31s
Build / Build Components (1.21) (pull_request) Successful in 4m26s
Tests and linters / Lint (pull_request) Successful in 6m9s
Tests and linters / Staticcheck (pull_request) Successful in 6m7s
Tests and linters / Tests (1.20) (pull_request) Successful in 8m27s
Tests and linters / Tests (1.21) (pull_request) Successful in 9m4s
Tests and linters / Tests with -race (pull_request) Successful in 9m48s
Use arguments for mandatory fields.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-12 13:35:38 +03:00
394f086fe2 [#891] getSvc: Fix get range hash implementation
Get range can perform GET request, so this request must be done
from container node to not to get access denied error.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-12 13:35:38 +03:00
a601391719 [#902] adm: Do not create session when dumping hashes
Unless the total number of domains is too big, there is no need to
consume resources in neo-go.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-12 10:25:56 +00:00
4a4c790ec1 [#885] cli: Support hex chain id in control API
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-11 07:24:22 +00:00
c19396d203 [#885] control: Make chain id bytes in grpc
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-11 07:24:22 +00:00
79bebe4a68 [#884] cli: Fix error message for undefined endpoint
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-01-10 10:02:16 +00:00
d75e7e9a21 [#864] engine: Drop container size metric if container deleted
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-10 10:44:54 +03:00
581887148a [#569] cli: Add control shards writecache seal command
All checks were successful
DCO action / DCO (pull_request) Successful in 2m46s
Vulncheck / Vulncheck (pull_request) Successful in 3m3s
Build / Build Components (1.21) (pull_request) Successful in 3m53s
Build / Build Components (1.20) (pull_request) Successful in 4m0s
Tests and linters / Staticcheck (pull_request) Successful in 5m31s
Tests and linters / Lint (pull_request) Successful in 6m17s
Tests and linters / Tests (1.20) (pull_request) Successful in 12m47s
Tests and linters / Tests (1.21) (pull_request) Successful in 13m14s
Tests and linters / Tests with -race (pull_request) Successful in 13m12s
It does the same as `control shards flush-writecache --seal`, but
has better name.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-29 16:05:37 +03:00
0cb0fc1735 [#569] writecache: Allow to seal writecache after flush
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-29 16:05:37 +03:00
764f70634d [#881] containerSvc: Add APE validation
All checks were successful
Vulncheck / Vulncheck (pull_request) Successful in 2m40s
DCO action / DCO (pull_request) Successful in 2m27s
Build / Build Components (1.21) (pull_request) Successful in 3m22s
Tests and linters / Lint (pull_request) Successful in 4m52s
Tests and linters / Staticcheck (pull_request) Successful in 4m46s
Build / Build Components (1.20) (pull_request) Successful in 4m54s
Tests and linters / Tests (1.20) (pull_request) Successful in 11m59s
Tests and linters / Tests (1.21) (pull_request) Successful in 12m38s
Tests and linters / Tests with -race (pull_request) Successful in 13m10s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-27 11:05:34 +03:00
8180a0664f [#887] node: Drop badger writecache implementation
All checks were successful
Vulncheck / Vulncheck (pull_request) Successful in 6m1s
Build / Build Components (1.21) (pull_request) Successful in 7m37s
Build / Build Components (1.20) (pull_request) Successful in 7m52s
Tests and linters / Staticcheck (pull_request) Successful in 8m56s
Tests and linters / Lint (pull_request) Successful in 9m26s
Tests and linters / Tests (1.21) (pull_request) Successful in 15m5s
Tests and linters / Tests with -race (pull_request) Successful in 15m7s
DCO action / DCO (pull_request) Successful in 1m1s
Tests and linters / Tests (1.20) (pull_request) Successful in 4m1s
Badger implementation isn't tested and works not well,
but requires human resources to maintain.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-22 13:00:54 +03:00
5b672fb392 [#876] adm: Add morph ape get/set-admin commands
All checks were successful
DCO action / DCO (pull_request) Successful in 2m56s
Vulncheck / Vulncheck (pull_request) Successful in 3m1s
Build / Build Components (1.20) (pull_request) Successful in 3m46s
Build / Build Components (1.21) (pull_request) Successful in 3m45s
Tests and linters / Staticcheck (pull_request) Successful in 4m41s
Tests and linters / Lint (pull_request) Successful in 6m6s
Tests and linters / Tests (1.20) (pull_request) Successful in 12m18s
Tests and linters / Tests (1.21) (pull_request) Successful in 13m7s
Tests and linters / Tests with -race (pull_request) Successful in 13m22s
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-12-21 18:21:37 +03:00
825f65f79e [#873] node: Start metrics and pprof as soon as possible
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-21 15:09:51 +00:00
b1eab1de54 [#883] adm: Add domainOf function to resolve NNS domain
All checks were successful
Vulncheck / Vulncheck (pull_request) Successful in 2m49s
DCO action / DCO (pull_request) Successful in 2m38s
Build / Build Components (1.21) (pull_request) Successful in 3m51s
Build / Build Components (1.20) (pull_request) Successful in 3m59s
Tests and linters / Staticcheck (pull_request) Successful in 4m59s
Tests and linters / Lint (pull_request) Successful in 5m59s
Tests and linters / Tests (1.20) (pull_request) Successful in 8m45s
Tests and linters / Tests (1.21) (pull_request) Successful in 8m47s
Tests and linters / Tests with -race (pull_request) Successful in 4m15s
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-12-21 15:04:00 +03:00
ac0821a1a5 [#883] adm: Support proxy accounts
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-12-21 13:53:34 +03:00
419b07e8b8 [#883] adm: Use proxy contract as admin for frostfsid and policy contracts
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-12-21 12:30:37 +03:00
32f4e72e6a [#834] adm: Add commands to invoke methods of policy contract
All checks were successful
DCO action / DCO (pull_request) Successful in 2m49s
Vulncheck / Vulncheck (pull_request) Successful in 3m31s
Build / Build Components (1.20) (pull_request) Successful in 4m15s
Build / Build Components (1.21) (pull_request) Successful in 4m13s
Tests and linters / Staticcheck (pull_request) Successful in 6m0s
Tests and linters / Lint (pull_request) Successful in 6m50s
Tests and linters / Tests (1.20) (pull_request) Successful in 11m42s
Tests and linters / Tests with -race (pull_request) Successful in 11m43s
Tests and linters / Tests (1.21) (pull_request) Successful in 11m53s
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-12-20 15:44:12 +03:00
7ade11922e [#834] adm: Refactor morph module
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-12-20 15:22:17 +03:00
d69d318cb0 [#878] node: Drain internal error's channel
This fixes shutdown panic:
1. Some morph connection gets error and passes it to internalErr channel.
2. Storage node starts to shutdow and closes internalErr channel.
3. Other morph connection gets error and tries to pass it to internalErr channel.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-19 16:38:03 +00:00
d9cbb16bd3 [#866] Use TTL for blobovnicza tree cache
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-12-19 16:36:28 +00:00
be8f499b91 [#717] Fix mixing CID and container ID
All checks were successful
Vulncheck / Vulncheck (pull_request) Successful in 1m13s
DCO action / DCO (pull_request) Successful in 2m43s
Tests and linters / Staticcheck (pull_request) Successful in 4m11s
Tests and linters / Lint (pull_request) Successful in 5m20s
Tests and linters / Tests (1.20) (pull_request) Successful in 8m13s
Build / Build Components (1.21) (pull_request) Successful in 4m22s
Build / Build Components (1.20) (pull_request) Successful in 4m35s
Tests and linters / Tests (1.21) (pull_request) Successful in 8m39s
Tests and linters / Tests with -race (pull_request) Successful in 9m2s
All container ID outputs that may be used in scripts
were replaced with CID.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-12-19 12:36:29 +03:00
7d7cf05575 [#851] ape: Initialize and use policy contract interface
* Replace inmemory policy contract mock by initialized
  policy contract interface.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-12-18 11:06:35 +00:00
61da7dca24 [#835] node: Fix appCfg concurrent access
Some checks failed
DCO action / DCO (pull_request) Successful in 4m37s
Build / Build Components (1.21) (pull_request) Successful in 6m15s
Build / Build Components (1.20) (pull_request) Successful in 6m44s
Tests and linters / Lint (pull_request) Successful in 8m46s
Tests and linters / Staticcheck (pull_request) Successful in 8m30s
Tests and linters / Tests (1.20) (pull_request) Failing after 11m2s
Vulncheck / Vulncheck (pull_request) Successful in 11m36s
Tests and linters / Tests (1.21) (pull_request) Successful in 12m26s
Tests and linters / Tests with -race (pull_request) Successful in 12m51s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-14 16:38:59 +03:00
f4877e7b42 [#835] grpc: Try to reconnect if endpoint listen failed
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-14 16:38:59 +03:00
4a64b07703 [#869] cli: Pass only CID in requests for control API
* Fix add-rule, list-rules, remove-rule, get-rule commands:
  do not convert container ID to native-schema resource format
  and pass it to control API.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-12-14 11:01:20 +00:00
ef07c1a3c9 [#552] Add sysd notifications to storage service
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-12-13 17:51:41 +03:00