1335543731
The `ephemeral_disk` block's `migrate` field allows for best-effort migration of the ephemeral disk data to new nodes. The documentation says the `migrate` field is only respected if `sticky=true`, but in fact if client ACLs are not set the data is migrated even if `sticky=false`. The existing behavior when client ACLs are disabled has existed since the early implementation, so "fixing" that case now would silently break backwards compatibility. Additionally, having `migrate` not imply `sticky` seems nonsensical: it suggests that if we place on a new node we migrate the data but if we place on the same node, we throw the data away! Update so that `migrate=true` implies `sticky=true` as follows: * The failure mode when client ACLs are enabled comes from the server not passing along a migration token. Update the server so that the server provides a migration token whenever `migrate=true` and not just when `sticky=true` too. * Update the scheduler so that `migrate` implies `sticky`. * Update the client so that we check for `migrate || sticky` where appropriate. * Refactor the E2E tests to move them off the old framework and make the intention of the test more clear. |
||
---|---|---|
.. | ||
benchmarks | ||
annotate.go | ||
annotate_test.go | ||
context.go | ||
context_test.go | ||
device.go | ||
device_test.go | ||
feasible.go | ||
feasible_test.go | ||
generic_sched.go | ||
generic_sched_test.go | ||
preemption.go | ||
preemption_test.go | ||
propertyset.go | ||
rank.go | ||
rank_test.go | ||
reconcile.go | ||
reconcile_test.go | ||
reconcile_util.go | ||
reconcile_util_test.go | ||
scheduler.go | ||
scheduler_oss.go | ||
scheduler_sysbatch_test.go | ||
scheduler_system.go | ||
scheduler_system_test.go | ||
select.go | ||
select_test.go | ||
spread.go | ||
spread_test.go | ||
stack.go | ||
stack_oss.go | ||
stack_test.go | ||
system_util.go | ||
system_util_test.go | ||
testing.go | ||
util.go | ||
util_test.go |