-
Notifications
You must be signed in to change notification settings - Fork 15
container: Support initial placement policy #381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,7 @@ | |
| ## [Unreleased] | ||
|
|
||
| ### Added | ||
| - Support for initial placement policy of containers (#381) | ||
|
|
||
| ### Changed | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -178,6 +178,41 @@ message PlacementPolicy { | |
| } | ||
| // Erasure coding rules. Limited to 4 items. | ||
| repeated ECRule ec_rules = 6 [json_name = "ecRules"]; | ||
|
|
||
| // Rules applied during initial data placement. | ||
| // | ||
| // `replica_limits` allows to override `Replica.count` and EC partitions. If | ||
| // set, `replica_limits` must have a length equal to the sum of `replicas` | ||
| // (`RN`) and `ec_rules` length. Each of first `RN` elements of | ||
| // `replica_limits` must be less than or equal to corresponding | ||
| // `Replica.count`. The remaining elements must be either 0 (corresponding | ||
|
carpawell marked this conversation as resolved.
|
||
| // EC rule is skipped) or 1 (done). At least one `replica_limits` element | ||
| // must be non-zero. | ||
| // | ||
| // `max_replicas` allows to limit total number of replicas and EC partitions | ||
| // for successful operation. If set, `max_replicas` must not overflow total | ||
| // replica limit (`replica_limits` or main ones). | ||
| // | ||
| // `prefer_local` allows to tell server to try to store `MaxReplicas` | ||
| // replicas in locations that include this server. `prefer_local` must be set | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. does this line mean it is impossible to use
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. no, there is no such restriction in this statement
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. hm, that is how i understood it
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. well, this paragraph does not contain
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i read it as |
||
| // along with `max_replicas` only. | ||
| // | ||
| // Either `replica_limits` or `max_replicas` must be specified. | ||
| // | ||
| // Initial policy must not repeat the main one. In particular, policy with | ||
|
carpawell marked this conversation as resolved.
|
||
| // `replica_limits` equal to main ones only is invalid. | ||
| message Initial { | ||
| // Limits on the number of replicas and EC partitions | ||
| repeated uint32 replica_limits = 1 [json_name = "replicaLimits"]; | ||
|
|
||
| // Maximum total number of replicas | ||
| uint32 max_replicas = 2 [json_name = "maxReplicas"]; | ||
|
|
||
| // Flag to prefer local placement over regular one | ||
| bool prefer_local = 3 [json_name = "preferLocal"]; | ||
| } | ||
| // Initial placement rules. | ||
| Initial initial = 7 [json_name = "initial"]; | ||
| } | ||
|
|
||
| // NeoFS node description | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does
RNmean?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alias to use briefly further