Skip to content
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

AllocRunner v2 Feature Branch PR #4792

Merged
merged 152 commits into from
Oct 17, 2018
Merged

AllocRunner v2 Feature Branch PR #4792

merged 152 commits into from
Oct 17, 2018

Commits on Oct 16, 2018

  1. Initial V2 alloc runner

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    deede95 View commit details
    Browse the repository at this point in the history
  2. artifact task hook

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    15c0731 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0892aca View commit details
    Browse the repository at this point in the history
  4. example redis job "runs" on arv2! see below

    Tons left to do and lots of churn:
    1. No state saving
    2. No shutdown or gc
    3. Removed AR factory *for now*
    4. Made all "Config" structs local to the package they configure
    5. Added allocID to GC to avoid a lookup
    
    Really hating how many things use *structs.Allocation. It's not bad
    without state saving, but if AllocRunner starts updating its copy things
    get racy fast.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    53a4b3f View commit details
    Browse the repository at this point in the history
  5. Copy TR.Config vals to TR

    I think I like this pattern better as some Config vals are mutable
    (Alloc) and some aren't and some are used to derive other values and
    never used directly.
    
    Promoting them onto the TR struct is a little more work but is hopefully
    more clear as to how each value is used.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    2d90ec6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    124ad51 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    256bc5a View commit details
    Browse the repository at this point in the history
  8. tr: skip error/success saving

    All hooks only need to be run once.
    Since only one hook can fail per run there's no need to
    track errors on a per hook basis.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    1e24cd6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    07d5bac View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6250509 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    370d92f View commit details
    Browse the repository at this point in the history
  12. reimplement success state for tr hooks and state persistence

    splits apart local and remote persistence
    
    removes some locking *for now*
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    4107afd View commit details
    Browse the repository at this point in the history
  13. fix hclog level

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    bfbc95e View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d3d590f View commit details
    Browse the repository at this point in the history
  15. tr: pass context to hooks

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    eea820e View commit details
    Browse the repository at this point in the history
  16. tr: improve skip log line

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    fdd3bb6 View commit details
    Browse the repository at this point in the history
  17. vault hook

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    427eab5 View commit details
    Browse the repository at this point in the history
  18. address comments

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    781c498 View commit details
    Browse the repository at this point in the history
  19. Template hook

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    711d09e View commit details
    Browse the repository at this point in the history
  20. remove comment

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    05a0565 View commit details
    Browse the repository at this point in the history
  21. Hook renames

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    912d361 View commit details
    Browse the repository at this point in the history
  22. comments

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    c19ea97 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    8030341 View commit details
    Browse the repository at this point in the history
  24. client: implement all-or-nothing alloc restoration

    Restoring calls NewAR -> Restore -> Run
    
    NewAR now calls NewTR
    AR.Restore calls TR.Restore
    AR.Run calls TR.Run
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    7e60f0b View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    457250b View commit details
    Browse the repository at this point in the history
  26. compile

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    9c04ed3 View commit details
    Browse the repository at this point in the history
  27. Remove SetState from interface

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    bbcc916 View commit details
    Browse the repository at this point in the history
  28. Fix deadlock

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    cdabf42 View commit details
    Browse the repository at this point in the history
  29. wip

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    4f2d641 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    b09b552 View commit details
    Browse the repository at this point in the history
  31. tr: add validate task hook

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    fae9474 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    ebf1aa0 View commit details
    Browse the repository at this point in the history
  33. Update state with server

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    52ae83d View commit details
    Browse the repository at this point in the history
  34. no need to TaskStateUpdated to return an error

    also updated comments
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    a744845 View commit details
    Browse the repository at this point in the history
  35. log before killing tasks

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    3bca947 View commit details
    Browse the repository at this point in the history
  36. restore vault client

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    bb27389 View commit details
    Browse the repository at this point in the history
  37. consul service hook

    Deregistration works but difficult to test due to terminal updates not
    being fully implemented in the new client/ar/tr.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    76194c7 View commit details
    Browse the repository at this point in the history
  38. Add Network method to Handle interface

    Should probably be moved to an Inspect method in the Driver Plugin world
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    cea2b87 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    97dbf99 View commit details
    Browse the repository at this point in the history
  40. Implement alloc updates in arv2

    Updates are applied asynchronously but sequentially
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    7ca41a8 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    8958919 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    e8036ff View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    27894a5 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    63fea0c View commit details
    Browse the repository at this point in the history
  45. Move all encoding and put deduping into state db

    Still WIP as it does not handle deletions.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    c9e9712 View commit details
    Browse the repository at this point in the history
  46. wip wrap boltdb to get path information

    finished but doesn't handle deleting deeply nested buckets
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    e808a1b View commit details
    Browse the repository at this point in the history
  47. wrap boltdb in a write deduplicator

    Saves a tiny bit of cpu and some IO. Sadly doesn't prevent all IO on
    duplicate writes as the transactions are still created and committed.
    
    $ go test -bench=. -benchmem
    goos: linux
    goarch: amd64
    pkg: github.com/hashicorp/nomad/helper/boltdd
    BenchmarkWriteDeduplication_On-4             500           4059591 ns/op           23736 B/op         56 allocs/op
    BenchmarkWriteDeduplication_Off-4            300           4115319 ns/op           25942 B/op         55 allocs/op
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    c0d1b63 View commit details
    Browse the repository at this point in the history
  48. persist alloc state on changes, not periodically

    Allow alloc and task runners to persist their own state when something
    changes instead of periodically syncing all state.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    b97bbd9 View commit details
    Browse the repository at this point in the history
  49. keep forgetting lxc

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    051c5ea View commit details
    Browse the repository at this point in the history
  50. lots of comment/log fixes

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    de54261 View commit details
    Browse the repository at this point in the history
  51. implement stopping, destroying, and disk migration

    * Stopping an alloc is implemented via Updates but update hooks are
      *not* run.
    * Destroying an alloc is a best effort cleanup.
    * AllocRunner destroy hooks implemented.
    * Disk migration and blocking on a previous allocation exiting moved to
      its own package to avoid cycles. Now only depends on alloc broadcaster
      instead of also using a waitch.
    * AllocBroadcaster now only drops stale allocations and always keeps the
      latest version.
    * Made AllocDir safe for concurrent use
    
    Lots of internal contexts that are currently unused. Unsure if they
    should be used or removed.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    c95155d View commit details
    Browse the repository at this point in the history
  52. client: hclog-ify most of the client

    Leaving fingerprinters in case that interface changes with plugins.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    9da25ad View commit details
    Browse the repository at this point in the history
  53. make AllocBroadcaster easier to use

    And test thoroughly.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    12171cd View commit details
    Browse the repository at this point in the history
  54. refactor ar hooks into their own files

    minimize passed dependencies to ease testing
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    5f668aa View commit details
    Browse the repository at this point in the history
  55. arv2: implement alloc health watching

    Also remove initial alloc from broadcaster as it just caused useless
    extra processing.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    2b5d840 View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    6ba5c7c View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    bc26540 View commit details
    Browse the repository at this point in the history
  58. tr: refactor EmitEvents into Emit+Append

    * UpdateState: set state, append event, persist, update servers
    * EmitEvent: append event, persist, update servers
    * AppendEvent: append event, persist
    
    AppendEvent may not even have to persist, but for the sake of
    correctness I'm going with that for now.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    5405313 View commit details
    Browse the repository at this point in the history
  59. ar: use multierror in update hook loop

    Make it match TaskRunner update hook behavior
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    0d7b6e7 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    61a5a84 View commit details
    Browse the repository at this point in the history
  61. Emit events before long operations

    Append when there's nothing blocking between appending and sending an
    update to the server.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    15b568c View commit details
    Browse the repository at this point in the history
  62. health_hook: fix panic and add tests

    Still more testing to do, but I want to get this panic fixed ASAP.
    
    All new tests pass with -race
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    5cbd013 View commit details
    Browse the repository at this point in the history
  63. Update runc/libcontainer and friends (#4655)

    * vendor: bump libcontainer and docker to remove Sirupsen imports
    
    * vendor: fix bad vendoring of archive package
    
    * vendor: fix api changes to cgroups in executor
    
    * vendor: fix docker api changes
    
    * vendor: update github.com/Azure/go-ansiterm to use non capitalized logrus import
    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    e9f3f2c View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    9a2c2a4 View commit details
    Browse the repository at this point in the history
  65. fifo: add new fifo package for named pipes (#4665)

    * fifo: add new fifo package for named pipes
    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    a203689 View commit details
    Browse the repository at this point in the history
  66. add logger back

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    9fd0ba1 View commit details
    Browse the repository at this point in the history
  67. health_hook: simplify locking; test thoroughly

    Use doneCh like @dadgar suggested in the original PR.
    
    Thoroughly test hook as concurrent Update calls make for a tricky
    concurrency problem.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    b7d3f59 View commit details
    Browse the repository at this point in the history
  68. test: cleanup mock consul service client

    Updated to hclog.
    
    It exposed fields that required an unexported lock to access. Created a
    getter methodn instead. Only old allocrunner currently used this
    feature.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    d0842e7 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    796f0ca View commit details
    Browse the repository at this point in the history
  70. tr: implement stats collection hook

    Tested except for the net/rpc specific error case which may need
    changing in the gRPC world.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    da8f053 View commit details
    Browse the repository at this point in the history
  71. executor v2 (#4656)

    * 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 docker driver
    
    * executor: Shutdown func to kill and cleanup executor and its children
    
    * executor: move linux specific universal executor funcs to seperate file
    
    * move logmon initialization to a task runner hook
    
    * client: doc fixes and renaming from code review
    
    
    * taskrunner: use shared config struct for logmon fifo fields
    
    * taskrunner: logmon only needs to be started once per task
    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    5b14d24 View commit details
    Browse the repository at this point in the history
  72. tr: add comments and cleanup call signature

    From review comments on #4649 left post-merge.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    78c15dc View commit details
    Browse the repository at this point in the history
  73. clientv2: base driver plugin (#4671)

    Driver plugin framework to facilitate development of driver plugins.
    
    Implementing plugins only need to implement the DriverPlugin interface.
    The framework proxies this interface to the go-plugin GRPC interface generated
    from the driver.proto spec.
    
    A testing harness is provided to allow implementing drivers to test the full
    lifecycle of the driver plugin. An example use:
    
    func TestMyDriver(t *testing.T) {
        harness := NewDriverHarness(t, &MyDiverPlugin{})
        // The harness implements the DriverPlugin interface and can be used as such
        taskHandle, err := harness.StartTask(...)
    }
    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    e2bf0a3 View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    2b655e4 View commit details
    Browse the repository at this point in the history
  75. driver/raw_exec: more tests and bug fixes

    added wrapper struct for plugin.ReattachConfig to better handle serialization
    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    650ac5a View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    8f2f603 View commit details
    Browse the repository at this point in the history
  77. Configuration menu
    Copy the full SHA
    05ca3e9 View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    c9f0d2e View commit details
    Browse the repository at this point in the history
  79. Configuration menu
    Copy the full SHA
    3910057 View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    50b2981 View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    fc16a5c View commit details
    Browse the repository at this point in the history
  82. Configuration menu
    Copy the full SHA
    7ad161f View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    757260a View commit details
    Browse the repository at this point in the history
  84. Internal plugin catalog

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    957ea01 View commit details
    Browse the repository at this point in the history
  85. Plugin loader initialization

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    7882ae4 View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    e2553a1 View commit details
    Browse the repository at this point in the history
  87. extra logging

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    14cc4f7 View commit details
    Browse the repository at this point in the history
  88. ar: lock around accessing tasks

    Specify that Alloc() does not return updated task states.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    1dcde75 View commit details
    Browse the repository at this point in the history
  89. tr: remove wip comments

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    95634ae View commit details
    Browse the repository at this point in the history
  90. client: fix accessing alloc runners

    * GetClientAlloc() gains nothing from using allAllocs()
    * getAllocatedResources was calling getAllocRunners() twice
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    9394b98 View commit details
    Browse the repository at this point in the history
  91. mock_driver: close waitCh after exiting

    mock_driver wasn't behaving like other driver handles.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    349b827 View commit details
    Browse the repository at this point in the history
  92. client: do not inspect task state to follow logs

    "Ask forgiveness, not permission."
    
    Instead of peaking at TaskStates (which are no longer updated on the
    AR.Alloc() view of the world) to only read logs for running tasks, just
    try to read the logs and improve the error handling if they don't exist.
    
    This should make log streaming less dependent on AR/TR behavior.
    
    Also fixed a race where the log streamer could exit before reading an
    error. This caused no logs or errors to be displayed sometimes when an
    error occurred.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    13f47aa View commit details
    Browse the repository at this point in the history
  93. tr: fix shutdown/destroy/WaitResult handling

    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.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    9f64add View commit details
    Browse the repository at this point in the history
  94. tests: fix races caused by sharing a buffer

    httptest.ResponseRecorder exposes a bytes.Buffer which we were reading
    and writing concurrently to test streaming log APIs. This is a race, so
    I wrapped the struct in a lock with some helpers.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    334f2b4 View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    981acf3 View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    99e2953 View commit details
    Browse the repository at this point in the history
  97. client: add comment

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    737b1d8 View commit details
    Browse the repository at this point in the history
  98. client: expose task state to client

    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.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    d29d613 View commit details
    Browse the repository at this point in the history
  99. Configuration menu
    Copy the full SHA
    62e90cd View commit details
    Browse the repository at this point in the history
  100. tests: ensure task state is initialized in NewAR

    Also expose NoopDB for use in tests.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    e495a04 View commit details
    Browse the repository at this point in the history
  101. tests: make a test client/config easier to generate

    Sadly can't move the fingerprint timeout tweak into the helper due to
    circular imports.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    01f057e View commit details
    Browse the repository at this point in the history
  102. tests: test logs endpoint against pending task

    Although the really exciting change is making WaitForRunning return the
    allocations that it started. This should cut down test boilerplate
    significantly.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    4d1a1ac View commit details
    Browse the repository at this point in the history
  103. ar: AllocState should not mutate ar.state

    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.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    8e92896 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    3b8da30 View commit details
    Browse the repository at this point in the history
  105. Configuration menu
    Copy the full SHA
    37387bb View commit details
    Browse the repository at this point in the history
  106. Configuration menu
    Copy the full SHA
    0d7bf53 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    207522b View commit details
    Browse the repository at this point in the history
  108. Configuration menu
    Copy the full SHA
    a8d50e8 View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    ca27a02 View commit details
    Browse the repository at this point in the history
  110. Configuration menu
    Copy the full SHA
    db981de View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    3f7c14c View commit details
    Browse the repository at this point in the history
  112. move files around

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    2e535ae View commit details
    Browse the repository at this point in the history
  113. skip building deprecated files

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    31d49c7 View commit details
    Browse the repository at this point in the history
  114. fix test compiling

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    f91b269 View commit details
    Browse the repository at this point in the history
  115. allocrunnerv2 -> allocrunner

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    3a492bb View commit details
    Browse the repository at this point in the history
  116. more test fixes

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    7b7cb38 View commit details
    Browse the repository at this point in the history
  117. compile on windows

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    3c0b073 View commit details
    Browse the repository at this point in the history
  118. Fix lints

    dadgar authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    627e208 View commit details
    Browse the repository at this point in the history
  119. client: begin driver plugin integration

    client: fingerprint driver plugins
    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    d335a82 View commit details
    Browse the repository at this point in the history
  120. Configuration menu
    Copy the full SHA
    ea9ed22 View commit details
    Browse the repository at this point in the history
  121. Configuration menu
    Copy the full SHA
    dd3b2ef View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    4f9522d View commit details
    Browse the repository at this point in the history
  123. Configuration menu
    Copy the full SHA
    d68f2f0 View commit details
    Browse the repository at this point in the history
  124. plugin/driver: add Copy funcs

    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    b016b2b View commit details
    Browse the repository at this point in the history
  125. Configuration menu
    Copy the full SHA
    44cc52a View commit details
    Browse the repository at this point in the history
  126. taskrunner: return error on waitCh

    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    993e045 View commit details
    Browse the repository at this point in the history
  127. Configuration menu
    Copy the full SHA
    5338103 View commit details
    Browse the repository at this point in the history
  128. rkt: start rkt driver plugin

    nickethier authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    b751030 View commit details
    Browse the repository at this point in the history
  129. Configuration menu
    Copy the full SHA
    2e055fe View commit details
    Browse the repository at this point in the history
  130. Configuration menu
    Copy the full SHA
    19b222b View commit details
    Browse the repository at this point in the history
  131. RKT driver plugin and unit tests

    preetapan authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    0ebc3bd View commit details
    Browse the repository at this point in the history
  132. Stats collection test

    preetapan authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    04a2aad View commit details
    Browse the repository at this point in the history
  133. Review comments

    preetapan authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    3c6d6b9 View commit details
    Browse the repository at this point in the history
  134. Configuration menu
    Copy the full SHA
    f13a094 View commit details
    Browse the repository at this point in the history
  135. tr: implement dispatch payload hook

    Now passing the TaskDir struct to prestart hooks instead of just the
    root task dir itself as dispatch needs local/.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    a44e82f View commit details
    Browse the repository at this point in the history
  136. Port client portion of #4392 to new taskrunner

    PR #4392 was merged to master *after* allocrunnerv2 was branched, so the
    client-specific portions must be ported from master to arv2.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    2256917 View commit details
    Browse the repository at this point in the history
  137. Configuration menu
    Copy the full SHA
    9bd696e View commit details
    Browse the repository at this point in the history
  138. Configuration menu
    Copy the full SHA
    089bce5 View commit details
    Browse the repository at this point in the history
  139. register drivers by default

    Do not register mock_driver on release builds.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    7848acb View commit details
    Browse the repository at this point in the history
  140. fixup comments, logging, and missing method impls

    from #4777 comments
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    4175e90 View commit details
    Browse the repository at this point in the history
  141. Configuration menu
    Copy the full SHA
    be57b3e View commit details
    Browse the repository at this point in the history
  142. Address review comments

    preetapan authored and schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    ed2b3b2 View commit details
    Browse the repository at this point in the history
  143. Configuration menu
    Copy the full SHA
    b12de40 View commit details
    Browse the repository at this point in the history
  144. Configuration menu
    Copy the full SHA
    2b249ee View commit details
    Browse the repository at this point in the history
  145. drivers/mock: fix plugin name

    Was mock_driver before plugins, so keep the name.
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    9c4a1d4 View commit details
    Browse the repository at this point in the history
  146. tr: remove unused DriverHandle interface

    was causing typed nil interface panics and served no purpose
    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    e026d6e View commit details
    Browse the repository at this point in the history
  147. Configuration menu
    Copy the full SHA
    3a9ed23 View commit details
    Browse the repository at this point in the history
  148. Configuration menu
    Copy the full SHA
    cb19964 View commit details
    Browse the repository at this point in the history
  149. Configuration menu
    Copy the full SHA
    7ebe701 View commit details
    Browse the repository at this point in the history
  150. fix linter errors

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    cf42289 View commit details
    Browse the repository at this point in the history
  151. templates: fix tests

    schmichael committed Oct 16, 2018
    Configuration menu
    Copy the full SHA
    4cf022c View commit details
    Browse the repository at this point in the history
  152. Configuration menu
    Copy the full SHA
    2361c19 View commit details
    Browse the repository at this point in the history