This project is mirrored from https://gitee.com/mirrors/nomad.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
- 16 Oct, 2018 40 commits
-
-
Nick Ethier authored
-
Michael Schurter authored
PR #4392 was merged to master *after* allocrunnerv2 was branched, so the client-specific portions must be ported from master to arv2.
-
Michael Schurter authored
Now passing the TaskDir struct to prestart hooks instead of just the root task dir itself as dispatch needs local/.
-
Preetha Appan authored
-
Preetha Appan authored
-
Preetha Appan authored
-
Preetha Appan authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Preetha Appan authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
client: fingerprint driver plugins
-
Alex Dadgar authored
-
Alex Dadgar authored
-
Alex Dadgar authored
-
Alex Dadgar authored
-
Alex Dadgar authored
-
Alex Dadgar authored
-
Alex Dadgar authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Nick Ethier authored
-
Michael Schurter authored
-
Michael Schurter authored
-
Michael Schurter authored
If ar.state.TaskStates has not been set, set it on the copy of ar.state. That keeps ar.state manipulations in one location and allows AllocState to only acquire read-locks.
-
Michael Schurter authored
Although the really exciting change is making WaitForRunning return the allocations that it started. This should cut down test boilerplate significantly.
-
Michael Schurter authored
Sadly can't move the fingerprint timeout tweak into the helper due to circular imports.
-
Michael Schurter authored
Also expose NoopDB for use in tests.
-
Michael Schurter authored
-
Michael Schurter authored
The interesting decision in this commit was to expose AR's state and not a fully materialized Allocation struct. AR.clientAlloc builds an Alloc that contains the task state, so I considered simply memoizing and exposing that method. However, that would lead to AR having two awkwardly similar methods: - Alloc() - which returns the server-sent alloc - ClientAlloc() - which returns the fully materialized client alloc Since ClientAlloc() could be memoized it would be just as cheap to call as Alloc(), so why not replace Alloc() entirely? Replacing Alloc() entirely would require Update() to immediately materialize the task states on server-sent Allocs as there may have been local task state changes since the server received an Alloc update. This quickly becomes difficult to reason about: should Update hooks use the TaskStates? Are state changes caused by TR Update hooks immediately reflected in the Alloc? Should AR persist its copy of the Alloc? If so, are its TaskStates canonical or the TaskStates on TR? So! Forget that. Let's separate the static Allocation from the dynamic AR & TR state! - AR.Alloc() is for static Allocation access (often for the Job) - AR.AllocState() is for the dynamic AR & TR runtime state (deployment status, task states, etc). If code needs to know the status of a task: AllocState() If code needs to know the names of tasks: Alloc() It should be very easy for a developer to reason about which method they should call and what they can do with the return values.
-