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.
  1. 10 Oct, 2018 1 commit
  2. 06 Oct, 2018 1 commit
  3. 05 Oct, 2018 1 commit
  4. 04 Oct, 2018 2 commits
  5. 28 Sep, 2018 3 commits
    • Michael Schurter's avatar
      tr: properly comment handle fields · 1f467c19
      Michael Schurter authored
      1f467c19
    • Michael Schurter's avatar
      client: expose task state to client · 64683e91
      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.
      64683e91
    • Michael Schurter's avatar
      tr: fix shutdown/destroy/WaitResult handling · 6708458d
      Michael Schurter authored
      Multiple receivers raced for the WaitResult when killing tasks which
      could lead to a deadlock if the "wrong" receiver won.
      
      Wrap handlers in an ugly little proxy to avoid this. At first I wanted
      to push this into drivers, but the result is tied to the TR's handle
      lifecycle -- not the lifecycle of an alloc or task.
      6708458d
  6. 24 Sep, 2018 1 commit
    • Nick Ethier's avatar
      executor v2 (#4656) · db85f9e0
      Nick Ethier authored
      * client/executor: refactor client to remove interpolation
      
      * executor: POC libcontainer based executor
      
      * vendor: use hashicorp libcontainer fork
      
      * vendor: add libcontainer/nsenter dep
      
      * executor: updated executor interface to simplify operations
      
      * executor: implement logging pipe
      
      * logmon: new logmon plugin to manage task logs
      
      * driver/executor: use logmon for log management
      
      * executor: fix tests and windows build
      
      * executor: fix logging key names
      
      * executor: fix test failures
      
      * executor: add config field to toggle between using libcontainer and standard executors
      
      * logmon: use discover utility to discover nomad executable
      
      * executor: only call libcontainer-shim on main in linux
      
      * logmon: use seperate path configs for stdout/stderr fifos
      
      * executor: windows fixes
      
      * executor: created reusable pid stats collection utility that can be used in an executor
      
      * executor: update fifo.Open calls
      
      * executor: fix build
      
      * remove executor from...
      db85f9e0
  7. 21 Sep, 2018 1 commit
  8. 18 Sep, 2018 30 commits