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

disconnected clients: Feature branch merge #12476

Merged
merged 17 commits into from
Apr 6, 2022

Commits on Apr 5, 2022

  1. reconciler: support disconnected clients (#12058)

    * Add merge helper for string maps
    * structs: add statuses, MaxClientDisconnect, and helper funcs
    * taintedNodes: Include disconnected nodes
    * upsertAllocsImpl: don't use existing ClientStatus when upserting unknown
    * allocSet: update filterByTainted and add delayByMaxClientDisconnect
    * allocReconciler: support disconnecting and reconnecting allocs
    * GenericScheduler: upsert unknown and queue reconnecting
    
    Co-authored-by: Tim Gross <tgross@hashicorp.com>
    2 people authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    7861806 View commit details
    Browse the repository at this point in the history
  2. client: reconnect unknown allocations and sync state

    DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    042a07b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d06155e View commit details
    Browse the repository at this point in the history
  4. evaluateNodePlan: validate plans for disconnected nodes

    DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    2cea992 View commit details
    Browse the repository at this point in the history
  5. reconciler: fix loop control bug

    DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    97ce949 View commit details
    Browse the repository at this point in the history
  6. disconnected clients: Add reconnect task event (#12133)

    * Add TaskClientReconnectedEvent constant
    * Add allocRunner.Reconnect function to manage task state manually
    * Removes server-side push
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    3575265 View commit details
    Browse the repository at this point in the history
  7. Fix client test reconnect test; Remove guard test (#12173)

    * Update reconnect test to new algorithm and interface; remove guard test
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    b3fb943 View commit details
    Browse the repository at this point in the history
  8. disconnected clients: Observability plumbing (#12141)

    * Add disconnects/reconnect to log output and emit reschedule metrics
    
    * TaskGroupSummary: Add Unknown, update StateStore logic, add to metrics
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    5b5c853 View commit details
    Browse the repository at this point in the history
  9. MaxClientDisconnect Jobspec checklist (#12177)

    * api: Add struct, conversion function, and tests
    * TaskGroup: Add field, validation, and tests
    * diff: Add diff handler and test
    * docs: Update docs
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    83dd636 View commit details
    Browse the repository at this point in the history
  10. disconnected clients: ensure servers meet minimum required version (#…

    …12202)
    
    * planner: expose ServerMeetsMinimumVersion via Planner interface
    * filterByTainted: add flag indicating disconnect support
    * allocReconciler: accept and pass disconnect support flag
    * tests: update dependent tests
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    6329f44 View commit details
    Browse the repository at this point in the history
  11. Add unknown to TaskGroupSummary (#12269)

    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    b317aaa View commit details
    Browse the repository at this point in the history
  12. Add description for allocs stopped due to reconnect (#12270)

    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    bab3173 View commit details
    Browse the repository at this point in the history
  13. comments: update some stale comments referencing deprecated config na…

    …me (#12271)
    
    * comments: update some stale comments referencing deprecated config name
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    9a82b63 View commit details
    Browse the repository at this point in the history
  14. reconciler: 2 phase reconnects and tests (#12333)

    * structs: Add alloc.Expired & alloc.Reconnected functions. Add Reconnect eval trigger by.
    
    * node_endpoint: Emit new eval for reconnecting unknown allocs.
    
    * filterByTainted: handle 2 phase commit filtering rules.
    
    * reconciler: Append AllocState on disconnect. Logic updates from testing and 2 phase reconnects.
    
    * allocs: Set reconnect timestamp. Destroy if not DesiredStatusRun. Watch for unknown status.
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    8ac3e64 View commit details
    Browse the repository at this point in the history
  15. disconnected clients: TaskGroup validation (#12418)

    * TaskGroup: Validate that max_client_disconnect and stop_after_client_disconnect are mutually exclusive.
    DerekStrickland authored and DerekStrickland committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    6791147 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2022

  1. Add max client disconnect docs (#12467)

    Co-authored-by: Derek Strickland <1111455+DerekStrickland@users.noreply.github.com>
    mikenomitch and DerekStrickland committed Apr 6, 2022
    Configuration menu
    Copy the full SHA
    8493730 View commit details
    Browse the repository at this point in the history
  2. disconnected clients: Support operator manual interventions (#12436)

    * allocrunner: Remove Shutdown call in Reconnect
    * Node.UpdateAlloc: Stop orphaned allocs.
    * reconciler: Stop failed reconnects.
    * Apply feedback from code review. Handle rebase conflict.
    * Apply suggestions from code review
    
    Co-authored-by: Tim Gross <tgross@hashicorp.com>
    DerekStrickland and tgross committed Apr 6, 2022
    Configuration menu
    Copy the full SHA
    8863d1e View commit details
    Browse the repository at this point in the history