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. 28 Jan, 2022 16 commits
  2. 27 Jan, 2022 8 commits
    • Jai's avatar
      Merge pull request #11942 from hashicorp/f-ui/test-tooling · f2fef6ff
      Jai authored
      ui:  test tooling
      f2fef6ff
    • Seth Hoenig's avatar
      Merge pull request #11951 from hashicorp/b-cgroups-broken-part1-oss · 2b93ae67
      Seth Hoenig authored
      client: change test to not poke cgroupv2 edge case
      2b93ae67
    • Tim Gross's avatar
      CSI: move terminal alloc handling into denormalization (#11931) · 2e357163
      Tim Gross authored
      * The volume claim GC method and volumewatcher both have logic
      collecting terminal allocations that duplicates most of the logic
      that's now in the state store's `CSIVolumeDenormalize` method. Copy
      this logic into the state store so that all code paths have the same
      view of the past claims.
      * Remove logic in the volume claim GC that now lives in the state
      store's `CSIVolumeDenormalize` method.
      * Remove logic in the volumewatcher that now lives in the state
      store's `CSIVolumeDenormalize` method.
      * Remove logic in the node unpublish RPC that now lives in the state
      store's `CSIVolumeDenormalize` method.
      2e357163
    • Tim Gross's avatar
      csi: ensure that PastClaims are populated with correct mode (#11932) · b588a7bd
      Tim Gross authored
      In the client's `(*csiHook) Postrun()` method, we make an unpublish
      RPC that includes a claim in the `CSIVolumeClaimStateUnpublishing`
      state and using the mode from the client. But then in the
      `(*CSIVolume) Unpublish` RPC handler, we query the volume from the
      state store (because we only get an ID from the client). And when we
      make the client RPC for the node unpublish step, we use the _current
      volume's_ view of the mode. If the volume's mode has been changed
      before the old allocations can have their claims released, then we end
      up making a CSI RPC that will never succeed.
      
      Why does this code path get the mode from the volume and not the
      claim? Because the claim written by the GC job in `(*CoreScheduler)
      csiVolumeClaimGC` doesn't have a mode. Instead it just writes a claim
      in the unpublishing state to ensure the volumewatcher detects a "past
      claim" change and reaps all the claims on the volumes.
      
      Fix this by ensuring that...
      b588a7bd
    • Tim Gross's avatar
      CSI: resolve invalid claim states (#11890) · d0624fc0
      Tim Gross authored
      * csi: resolve invalid claim states on read
      
      It's currently possible for CSI volumes to be claimed by allocations
      that no longer exist. This changeset asserts a reasonable state at
      the state store level by registering these nil allocations as "past
      claims" on any read. This will cause any pass through the periodic GC
      or volumewatcher to trigger the unpublishing workflow for those claims.
      
      * csi: make feasibility check errors more understandable
      
      When the feasibility checker finds we have no free write claims, it
      checks to see if any of those claims are for the job we're currently
      scheduling (so that earlier versions of a job can't block claims for
      new versions) and reports a conflict if the volume can't be scheduled
      so that the user can fix their claims. But when the checker hits a
      claim that has a GCd allocation, the state is recoverable by the
      server once claim reaping completes and no user intervention is
      required; the blocked eval should comp...
      d0624fc0
    • Seth Hoenig's avatar
      client: change test to not poke cgroupv2 edge case · 87d54b8c
      Seth Hoenig authored
      This PR tweaks the TestCpusetManager_AddAlloc unit test to not break
      when being run on a machine using cgroupsv2. The behavior of writing
      an empty cpuset.cpu changes in cgroupv2, where such a group now inherits
      the value of its parent group, rather than remaining empty.
      
      The test in question was written such that a task would consume all available
      cores shared on an alloc, causing the empty set to be written to the shared
      group, which works fine on cgroupsv1 but breaks on cgroupsv2. By adjusting
      the test to consume only 1 core instead of all cores, it no longer triggers
      that edge case.
      
      The actual fix for the new cgroupsv2 behavior will be in #11933
      87d54b8c
    • Jai Bhagat's avatar
      7f5e0b82
    • James Rasell's avatar
      Merge pull request #11940 from hashicorp/b-docs-add-client-reserved-cores · 402e36bb
      James Rasell authored
      docs: add `cores` to client reserved config block.
      402e36bb
  3. 26 Jan, 2022 15 commits
  4. 25 Jan, 2022 1 commit