open-nomad/scheduler
Tim Gross 1335543731
ephemeral disk: migrate should imply sticky (#16826)
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.
2023-04-07 16:33:45 -04:00
..
benchmarks
annotate.go
annotate_test.go
context.go
context_test.go
device.go
device_test.go
feasible.go
feasible_test.go
generic_sched.go ephemeral disk: migrate should imply sticky (#16826) 2023-04-07 16:33:45 -04:00
generic_sched_test.go scheduling: prevent self-collision in dynamic port network offerings (#16401) 2023-03-09 10:09:54 -05:00
preemption.go
preemption_test.go
propertyset.go
rank.go scheduling: prevent self-collision in dynamic port network offerings (#16401) 2023-03-09 10:09:54 -05:00
rank_test.go
reconcile.go scheduler: fix reconciliation of reconnecting allocs (#16609) 2023-03-24 19:38:31 -04:00
reconcile_test.go scheduler: fix reconciliation of reconnecting allocs (#16609) 2023-03-24 19:38:31 -04:00
reconcile_util.go scheduler: fix reconciliation of reconnecting allocs (#16609) 2023-03-24 19:38:31 -04:00
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 scheduler: refactor system util tests (#16416) 2023-03-13 11:59:31 -04:00
testing.go
util.go scheduler: annotate tasksUpdated with reason and purge DeepEquals (#16421) 2023-03-14 09:46:00 -05:00
util_test.go scheduler: annotate tasksUpdated with reason and purge DeepEquals (#16421) 2023-03-14 09:46:00 -05:00