-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Parallelize storage migration #19691
Parallelize storage migration #19691
Conversation
pkg/oc/admin/migrate/migrator.go
Outdated
// This should not be exposed as a CLI flag. Instead it | ||
// should have a fixed value that is high enough to saturate | ||
// the desired IOPS when parallel processing is desired. | ||
Parallel int |
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.
Parallel -> Workers
|
||
// Total IO in megabytes per second across all workers. | ||
// Zero means "no rate limit." | ||
iops int |
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.
iops -> bandwidth
aside for the bikeshedding on names |
/retest Please review the full test history for this PR and help us cut down flakes. |
9 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
Changes made to "oc adm migrate storage": 1. Use a channel based producer / consumer pattern to parallelize the underlying migrator logic. 2. Unit test new parallel code with the race detector. 3. Chunk list requests to 500. 4. Add a bandwidth flag to control the rate of network IO in Mbps. This defaults to 10 Mbps and can be set to zero to mean "no limit." 5. Deprecate and hide the confirm and output flags. This removes the "dry run" mode from this command which never made any sense and was almost certainly always invoked as a mistake. Old scripts can continue to set these flags; the value will simply be ignored and a deprecation warning will be printed (but the command will not fail). Signed-off-by: Monis Khan <[email protected]>
Signed-off-by: Monis Khan <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: enj The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Comments addressed, tagging. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
"Average network bandwidth measured in megabits per second (Mbps) to use during storage migration. Zero means no limit. This flag is alpha and may change in the future.") | ||
|
||
// remove flags that do not make sense | ||
flags.MarkDeprecated("confirm", "storage migration does not support dry run, this flag is ignored") |
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.
Since when confirm
does not make sense?
Changes made to "oc adm migrate storage":
Signed-off-by: Monis Khan [email protected]
/assign @simo5 @smarterclayton
/kind bug
@sdodson @jupierce
@openshift/sig-security