Skip to content

Support EC in container storage policies#3570

Merged
roman-khimov merged 3 commits intomasterfrom
ec-policies
Oct 16, 2025
Merged

Support EC in container storage policies#3570
roman-khimov merged 3 commits intomasterfrom
ec-policies

Conversation

@cthulhu-rider
Copy link
Contributor

@roman-khimov
Copy link
Member

Can we make it dependent on experimental config (just like meta)? IR approves containers anyway.

@cthulhu-rider
Copy link
Contributor Author

Can we make it dependent on experimental config (just like meta)? IR approves containers anyway.

that's how it's done

@roman-khimov
Copy link
Member

Obviously I asked before looking into the code. OK then.

@cthulhu-rider
Copy link
Contributor Author

TODO: ban REP+EC policies for now cuz they haven't been tested yet. Support later

@cthulhu-rider cthulhu-rider force-pushed the ec-policies branch 2 times, most recently from d255567 to 5ce928b Compare September 29, 2025 10:56
@cthulhu-rider cthulhu-rider force-pushed the ec-policies branch 6 times, most recently from 6a227eb to e542ce8 Compare October 15, 2025 15:57
@cthulhu-rider cthulhu-rider marked this pull request as ready for review October 15, 2025 16:03
@cthulhu-rider cthulhu-rider marked this pull request as draft October 15, 2025 16:06
@codecov
Copy link

codecov bot commented Oct 15, 2025

Codecov Report

❌ Patch coverage is 16.91176% with 113 lines in your changes missing coverage. Please review.
✅ Project coverage is 26.76%. Comparing base (7c0c1d0) to head (52a751b).
⚠️ Report is 9 commits behind head on master.

Files with missing lines Patch % Lines
pkg/services/control/server/evacuate.go 0.00% 34 Missing ⚠️
cmd/neofs-cli/modules/container/create.go 0.00% 15 Missing ⚠️
...nnerring/processors/container/process_container.go 0.00% 14 Missing ⚠️
cmd/neofs-cli/modules/container/nodes.go 0.00% 13 Missing ⚠️
cmd/neofs-cli/modules/object/nodes.go 0.00% 13 Missing ⚠️
cmd/neofs-node/policy.go 74.07% 6 Missing and 1 partial ⚠️
pkg/innerring/processors/netmap/process_epoch.go 0.00% 7 Missing ⚠️
cmd/neofs-node/object.go 37.50% 4 Missing and 1 partial ⚠️
pkg/services/control/server/server.go 0.00% 2 Missing ⚠️
cmd/neofs-node/control.go 0.00% 1 Missing ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3570      +/-   ##
==========================================
+ Coverage   26.72%   26.76%   +0.04%     
==========================================
  Files         653      653              
  Lines       50254    51035     +781     
==========================================
+ Hits        13429    13662     +233     
- Misses      35780    36324     +544     
- Partials     1045     1049       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cthulhu-rider cthulhu-rider marked this pull request as ready for review October 15, 2025 16:22
Summary:
 - IR pushes additional container nodes sets with replica = 1 to
 Container contract.
 - CLI checks EC rules against current network map in `container create`
 command.
 - CLI prints out EC rules and corresponding SN in `container nodes`
 and `object nodes` commands.
 - SN object service and Policer handle both REP and EC rules/nodes in
 all services.
 - SN `ControlService.EvacuateShard` RPC server replicates local EC part
 to any node more optimal for the part's storage.

Closes #3421.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Will be reverted by EC release announcement.

Refs #3421.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
To be supported in #3592.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
@roman-khimov roman-khimov merged commit 82daf1a into master Oct 16, 2025
20 of 22 checks passed
@roman-khimov roman-khimov deleted the ec-policies branch October 16, 2025 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants