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

Backport of Multiple instances of a periodic job are run simultaneously, when prohibit_overlap is true into release/1.5.x #16661

Commits on Mar 1, 2023

  1. Prepare release 1.5.0-rc.1

    schmichael authored and jrasell committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    c5d54ab View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0deb5c4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b739144 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. Merge pull request #16284 from hashicorp/post-1.5.0-rc.1-release

    admin: post 1.5.0 rc.1 release
    jrasell authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    cf5b14c View commit details
    Browse the repository at this point in the history
  2. prepare release 1.5.0

    jrasell committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    ba6d20b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    01d049e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4734c02 View commit details
    Browse the repository at this point in the history
  5. Merge release 1.5.0 files

    jrasell committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    646a82b View commit details
    Browse the repository at this point in the history
  6. client: use RPC address and not serf after initial Consul discovery (#…

    …16217)
    
    Nomad servers can advertise independent IP addresses for `serf` and
    `rpc`. Somewhat unexpectedly, the `serf` address is also used for both Serf and
    server-to-server RPC communication (including Raft RPC). The address advertised
    for `rpc` is only used for client-to-server RPC. This split was introduced
    intentionally in Nomad 0.8.
    
    When clients are using Consul discovery for connecting to servers, they get an
    initial discovery set from Consul and use the correct `rpc` tag in Consul to get
    a list of adddresses for servers. The client then makes a `Status.Peers` RPC to
    get the list of those servers that are raft peers. But this endpoint is shared
    between servers and clients, and provides the address used for Raft.
    
    Most of the time this is harmless because servers will bind on 0.0.0.0 anyways.,
    But in topologies where servers are on a private network and clients are on
    separate subnets (or even public subnets), clients will make initial contact
    with the server to get the list of peers but then populate their local server
    set with unreachable addresses.
    
    Cluster administrators can work around this problem by using `server_join` with
    specific IP addresses (or DNS names), because the `Node.UpdateStatus` endpoint
    returns the correct set of RPC addresses when updating the node. So once a
    client has registered, it will get the correct set of RPC addresses.
    
    This changeset updates the client logic to query `Status.Members` instead of
    `Status.Peers`, and then extract the correctly advertised address and port from
    the response body.
    tgross authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    a9bb8e9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    fbd0dcb View commit details
    Browse the repository at this point in the history
  8. deps: update go-plugin to 1.4.9 (#16292)

    Fixes #16288. An earlier version of `go-plugin` introduced a warning log if
    `SecureConfig` is unset. For Nomad and other applications that have "internal"
    `go-plugin` consumers where the application runs itself as a plugin, this causes
    spurious warn-level logs. For Nomad in particular this means every task driver
    and logmon invocation emits the log, which is our primary operation.
    
    The change was reverted upstream, so this changeset picks up the reverted
    version.
    tgross authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    9102a24 View commit details
    Browse the repository at this point in the history
  9. handle FSM.Apply errors in raftApply (#16287)

    The signature of the `raftApply` function requires that the caller unwrap the
    first returned value (the response from `FSM.Apply`) to see if it's an
    error. This puts the burden on the caller to remember to check two different
    places for errors, and we've done so inconsistently.
    
    Update `raftApply` to do the unwrapping for us and return any `FSM.Apply` error
    as the error value. Similar work was done in Consul in
    hashicorp/consul#9991. This eliminates some boilerplate
    and surfaces a few minor bugs in the process:
    
    * job deregistrations of already-GC'd jobs were still emitting evals
    * reconcile job summaries does not return scheduler errors
    * node updates did not report errors associated with inconsistent service
      discovery or CSI plugin states
    
    Note that although _most_ of the `FSM.Apply` functions return only errors (which
    makes it tempting to remove the first return value entirely), there are few that
    return `bool` for some reason and Variables relies on the response value for
    proper CAS checking.
    tgross authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    bbd41c8 View commit details
    Browse the repository at this point in the history
  10. [ui, helios] Toast Component (#16099)

    * Template and styles
    
    * @type to @color on flash messages
    
    * Notifications service as wrapper
    
    * Test cases updated for new notifs
    philrenaud authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    f88e3b0 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #16293 from hashicorp/post-1.5.0-release

    admin: Post 1.5.0 release
    schmichael authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    f553dc8 View commit details
    Browse the repository at this point in the history
  12. cli: sort Node value in nomad operator raft list-peers command (#16221

    )
    
    Signed-off-by: dttung2905 <ttdao.2015@accountancy.smu.edu.sg>
    dttung2905 authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    273b76a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f89910d View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2023

  1. Configuration menu
    Copy the full SHA
    64d27c6 View commit details
    Browse the repository at this point in the history
  2. api: add new test case for force-leave (#16260)

    Signed-off-by: dttung2905 <ttdao.2015@accountancy.smu.edu.sg>
    dttung2905 authored Mar 3, 2023
    Configuration menu
    Copy the full SHA
    2ec6575 View commit details
    Browse the repository at this point in the history
  3. service: fix regression in task access to list/read endpoint (#16316)

    When native service discovery was added, we used the node secret as the auth
    token. Once Workload Identity was added in Nomad 1.4.x we needed to use the
    claim token for `template` blocks, and so we allowed valid claims to bypass the
    ACL policy check to preserve the existing behavior. (Invalid claims are still
    rejected, so this didn't widen any security boundary.)
    
    In reworking authentication for 1.5.0, we unintentionally removed this
    bypass. For WIs without a policy attached to their job, everything works as
    expected because the resulting `acl.ACL` is nil. But once a policy is attached
    to the job the `acl.ACL` is no longer nil and this causes permissions errors.
    
    Fix the regression by adding back the bypass for valid claims. In future work,
    we should strongly consider getting turning the implicit policies into real
    `ACLPolicy` objects (even if not stored in state) so that we don't have these
    kind of brittle exceptions to the auth code.
    tgross authored Mar 3, 2023
    Configuration menu
    Copy the full SHA
    a4f7926 View commit details
    Browse the repository at this point in the history
  4. cli: use shared logic for resolving job prefix (#16306)

    Several `nomad job` subcommands had duplicate or slightly similar logic
    for resolving a job ID from a CLI argument prefix, while others did not
    have this functionality at all.
    
    This commit pulls the shared logic to the command Meta and updates all
    `nomad job` subcommands to use it.
    lgfa29 authored Mar 3, 2023
    Configuration menu
    Copy the full SHA
    0e824d3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    158d6a9 View commit details
    Browse the repository at this point in the history
  6. remove backcompat support for non-atomic job registration (#16305)

    In Nomad 0.12.1 we introduced atomic job registration/deregistration, where the
    new eval was written in the same raft entry. Backwards-compatibility checks were
    supposed to have been removed in Nomad 1.1.0, but we missed that. This is long
    safe to remove.
    tgross authored Mar 3, 2023
    Configuration menu
    Copy the full SHA
    ceed255 View commit details
    Browse the repository at this point in the history
  7. api: set last index and request time on alloc stop (#16319)

    Some of the methods in `Allocations()` incorrectly use the `putQuery`
    in API calls where `put` is more appropriate since they are not reading
    information back. These methods are also not returning request metadata
    such as `LastIndex` back to callers, which can be useful to have in some
    scenarios.
    
    They also provide poor developer experience as they take an
    `*api.Allocation` struct when only the allocation ID is necessary. This
    can lead consumers to make unnecessary API calls to fetch the full
    allocation.
    
    Fixing these problems require updating the methods' signatures so they
    take `*WriteOptions` instead of `*QueryOptions` and return `*WriteMeta`,
    but this is a breaking change that requires advanced notice to consumers.
    
    This commit adds a future breaking change notice and also fixes the
    `Stop` method so it properly returns request metadata in a backwards
    compatible way.
    lgfa29 authored Mar 3, 2023
    Configuration menu
    Copy the full SHA
    b24dddc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b07af57 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2023

  1. [ui] Fix: Wildcard-datacenter system/sysbatch jobs stopped showing cl…

    …ient links/chart (#16274)
    
    * Fix for wildcard DC sys/sysbatch jobs
    
    * A few extra modules for wildcard DC in systemish jobs
    
    * doesMatchPattern moved to its own util as match-glob
    
    * DC glob lookup using matchGlob
    
    * PR feedback
    philrenaud authored Mar 6, 2023
    Configuration menu
    Copy the full SHA
    a57f97e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    78bcd32 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    605f155 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2023

  1. scheduler: correctly detect inplace update with wildcard datacenters (#…

    …16362)
    
    Wildcard datacenters introduced a bug where a job with any wildcard datacenters
    will always be treated as a destructive update when we check whether a
    datacenter has been removed from the jobspec.
    
    Includes updating the helper so that callers don't have to loop over the job's
    datacenters.
    tgross authored Mar 7, 2023
    Configuration menu
    Copy the full SHA
    6f52a91 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    03d6a8c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    003a567 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b677ec7 View commit details
    Browse the repository at this point in the history
  5. docker: fix bug where network pause containers would be erroneously r…

    …econciled (#16352)
    
    * docker: fix bug where network pause containers would be erroneously gc'd
    
    * docker: cl: thread context from driver into pause container restoration
    shoenig authored Mar 7, 2023
    Configuration menu
    Copy the full SHA
    b3f7559 View commit details
    Browse the repository at this point in the history
  6. e2e: fix permissions on nomad data directory (#16376)

    This PR updates the provisioning step where we create /opt/nomad/data,
    such that it is with 0700 permissions in line with our security guidance.
    shoenig authored Mar 7, 2023
    Configuration menu
    Copy the full SHA
    24af468 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5d5740b View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2023

  1. build(deps): bump golang.org/x/crypto from 0.5.0 to 0.7.0 (#16337)

    Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.5.0 to 0.7.0.
    - [Release notes](https://github.com/golang/crypto/releases)
    - [Commits](golang/crypto@v0.5.0...v0.7.0)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/crypto
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    37e9eca View commit details
    Browse the repository at this point in the history
  2. Update ioutil library references to os and io respectively for command (

    #16329)
    
    No user facing changes so I assume no change log is required
    lhaig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    99f43c1 View commit details
    Browse the repository at this point in the history
  3. Update ioutil library references to os and io respectively for e2e he…

    …lper nomad (#16332)
    
    No user facing changes so I assume no change log is required
    lhaig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    962b65f View commit details
    Browse the repository at this point in the history
  4. Update ioutil library references to os and io respectively for API an…

    …d Plugins package (#16330)
    
    No user facing changes so I assume no change log is required
    lhaig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    0e74431 View commit details
    Browse the repository at this point in the history
  5. deps: Update ioutil library references to os and io respectively for …

    …drivers package (#16331)
    
    * Update ioutil library references to os and io respectively for drivers package
    
    No user facing changes so I assume no change log is required
    
    * Fix failing tests
    lhaig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    3160c76 View commit details
    Browse the repository at this point in the history
  6. deps: Update ioutil deprecated library references to os and io respec…

    …tively in the client package (#16318)
    
    * Update ioutil deprecated library references to os and io respectively
    
    * Deal with the errors produced.
    
    Add error handling to filEntry info
    Add error handling to info
    lhaig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    48e7d70 View commit details
    Browse the repository at this point in the history
  7. [ui] Fix: New toast notifications no longer last forever (#16384)

    * Removes an errant console.log and corrects a default sticky=true on toast notifications
    
    * Default so no need to refault
    philrenaud authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    fcd51dc View commit details
    Browse the repository at this point in the history
  8. e2e: setup nomad permissions correctly (client vs. server) (#16399)

    This PR configures
    
    - server nodes with a systemd unit running the agent as the nomad service user
    - client nodes with a root owned nomad data directory
    shoenig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    40ab325 View commit details
    Browse the repository at this point in the history
  9. client: disable running artifact downloader as nobody (#16375)

    * client: disable running artifact downloader as nobody
    
    This PR reverts a change from Nomad 1.5 where artifact downloads were
    executed as the nobody user on Linux systems. This was done as an attempt
    to improve the security model of artifact downloading where third party
    tools such as git or mercurial would be run as the root user with all
    the security implications thereof.
    
    However, doing so conflicts with Nomad's own advice for securing the
    Client data directory - which when setup with the recommended directory
    permissions structure prevents artifact downloads from working as intended.
    
    Artifact downloads are at least still now executed as a child process of
    the Nomad agent, and on modern Linux systems make use of the kernel Landlock
    feature for limiting filesystem access of the child process.
    
    * docs: update upgrade guide for 1.5.1 sandboxing
    
    * docs: add cl
    
    * docs: add title to upgrade guide fix
    shoenig authored Mar 8, 2023
    Configuration menu
    Copy the full SHA
    95359b8 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2023

  1. Configuration menu
    Copy the full SHA
    1227615 View commit details
    Browse the repository at this point in the history
  2. scheduling: prevent self-collision in dynamic port network offerings (#…

    …16401)
    
    When the scheduler tries to find a placement for a new allocation, it iterates
    over a subset of nodes. For each node, we populate a `NetworkIndex` bitmap with
    the ports of all existing allocations and any other allocations already proposed
    as part of this same evaluation via its `SetAllocs` method. Then we make an
    "ask" of the `NetworkIndex` in `AssignPorts` for any ports we need and receive
    an "offer" in return. The offer will include both static ports and any dynamic
    port assignments.
    
    The `AssignPorts` method was written to support group networks, and it shares
    code that selects dynamic ports with the original `AssignTaskNetwork`
    code. `AssignTaskNetwork` can request multiple ports from the bitmap at a
    time. But `AssignPorts` requests them one at a time and does not account for
    possible collisions, and doesn't return an error in that case.
    
    What happens next varies:
    
    1. If the scheduler doesn't place the allocation on that node, the port
       conflict is thrown away and there's no problem.
    2. If the node is picked and this is the only allocation (or last allocation),
       the plan applier will reject the plan when it calls `SetAllocs`, as we'd expect.
    3. If the node is picked and there are additional allocations in the same eval
       that iterate over the same node, their call to `SetAllocs` will detect the
       impossible state and the node will be rejected. This can have the puzzling
       behavior where a second task group for the job without any networking at all
       can hit a port collision error!
    
    It looks like this bug has existed since we implemented group networks, but
    there are several factors that add up to making the issue rare for many users
    yet frustratingly frequent for others:
    
    * You're more likely to hit this bug the more tightly packed your range for
      dynamic ports is. With 12000 ports in the range by default, many clusters can
      avoid this for a long time.
    * You're more likely to hit case (3) for jobs with lots of allocations or if a
      scheduler has to iterate over a large number of nodes, such as with system jobs,
      jobs with `spread` blocks, or (sometimes) jobs using `unique` constraints.
    
    For unlucky combinations of these factors, it's possible that case (3) happens
    repeatedly, preventing scheduling of a given job until a client state
    change (ex. restarting the agent so all its allocations are rescheduled
    elsewhere) re-opens the range of dynamic ports available.
    
    This changeset:
    
    * Fixes the bug by accounting for collisions in dynamic port selection in
      `AssignPorts`.
    * Adds test coverage for `AssignPorts`, expands coverage of this case for the
      deprecated `AssignTaskNetwork`, and tightens the dynamic port range in a
      scheduler test for spread scheduling to more easily detect this kind of problem
      in the future.
    * Adds a `String()` method to `Bitmap` so that any future "screaming" log lines
      have a human-readable list of used ports.
    tgross authored Mar 9, 2023
    Configuration menu
    Copy the full SHA
    c36d3bd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0f7ad3b View commit details
    Browse the repository at this point in the history
  4. docs: update content-conformance package (#16412)

    Bryce Kalow authored Mar 9, 2023
    Configuration menu
    Copy the full SHA
    1dd3203 View commit details
    Browse the repository at this point in the history
  5. cli: remove hard requirement on list-jobs (#16380)

    Most job subcommands allow for job ID prefix match as a convenience
    functionality so users don't have to type the full job ID.
    
    But this introduces a hard ACL requirement that the token used to run
    these commands have the `list-jobs` permission, even if the token has
    enough permission to execute the basic command action and the user
    passed an exact job ID.
    
    This change softens this requirement by not failing the prefix match in
    case the request results in a permission denied error and instead using
    the information passed by the user directly.
    lgfa29 authored Mar 9, 2023
    Configuration menu
    Copy the full SHA
    4fdb5c4 View commit details
    Browse the repository at this point in the history
  6. env/aws: update ec2 cpu info data (#16417)

    Update AWS EC2 CPU tables using `make ec2info`
    schmichael authored Mar 9, 2023
    Configuration menu
    Copy the full SHA
    730adaa View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2023

  1. cli: add -json and -t flag for alloc checks command (#16405)

    * cli: add -json flag to alloc checks for completion
    
    * CLI: Expand test to include testing the json flag for allocation checks
    
    * Documentation: Add the checks command
    
    * Documentation: Add example for alloc check command
    
    * Update website/content/docs/commands/alloc/checks.mdx
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * CLI: Add template flag to alloc checks command
    
    * Update website/content/docs/commands/alloc/checks.mdx
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * CLI: Extend test to include -t flag for alloc checks
    
    * func: add changelog for added flags to alloc checks
    
    * cli[doc]: Make usage section on alloc checks clearer
    
    * Update website/content/docs/commands/alloc/checks.mdx
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * Delete modd.conf
    
    * cli[doc]: add -t flag to command description for alloc checks
    
    ---------
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Co-authored-by: Juanita De La Cuesta Morales <juanita.delacuestamorales@juanita.delacuestamorales-LHQ7X0QG9X>
    3 people authored Mar 10, 2023
    Configuration menu
    Copy the full SHA
    712c669 View commit details
    Browse the repository at this point in the history
  2. allocrunner: fix health check monitoring for Consul services (#16402)

    Services must be interpolated to replace runtime variables before they
    can be compared against the values returned by Consul.
    lgfa29 authored Mar 10, 2023
    Configuration menu
    Copy the full SHA
    419c4bf View commit details
    Browse the repository at this point in the history
  3. e2e fixes: cli output, timing issue, and some cleanups (#16418)

    * e2e: job expects alloc to run until stopped
    
    * e2e: fix case changed by #16306
    
    * e2e: couldn't find a bug but improved test+jobspecs
    schmichael authored Mar 10, 2023
    Configuration menu
    Copy the full SHA
    9fefc18 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2023

  1. acl: prevent privilege escalation via workload identity

    ACL policies can be associated with a job so that the job's Workload Identity
    can have expanded access to other policy objects, including other
    variables. Policies set on the variables the job automatically has access to
    were ignored, but this includes policies with `deny` capabilities.
    
    Additionally, when resolving claims for a workload identity without any attached
    policies, the `ResolveClaims` method returned a `nil` ACL object, which is
    treated similarly to a management token. While this was safe in Nomad 1.4.x,
    when the workload identity token was exposed to the task via the `identity`
    block, this allows a user with `submit-job` capabilities to escalate their
    privileges.
    
    We originally implemented automatic workload access to Variables as a separate
    code path in the Variables RPC endpoint so that we don't have to generate
    on-the-fly policies that blow up the ACL policy cache. This is fairly brittle
    but also the behavior around wildcard paths in policies different from the rest
    of our ACL polices, which is hard to reason about.
    
    Add an `ACLClaim` parameter to the `AllowVariableOperation` method so that we
    can push all this logic into the `acl` package and the behavior can be
    consistent. This will allow a `deny` policy to override automatic access (and
    probably speed up checks of non-automatic variable access).
    tgross committed Mar 13, 2023
    Configuration menu
    Copy the full SHA
    d0ddd5e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    669495b View commit details
    Browse the repository at this point in the history
  3. Prepare for next release

    hc-github-team-nomad-core authored and tgross committed Mar 13, 2023
    Configuration menu
    Copy the full SHA
    6c91cc8 View commit details
    Browse the repository at this point in the history
  4. Merge release 1.5.1 files

    tgross committed Mar 13, 2023
    Configuration menu
    Copy the full SHA
    172f49f View commit details
    Browse the repository at this point in the history
  5. Merge pull request #16445 from hashicorp/post-1.5.1-release

    Post 1.5.1 release
    tgross authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    2a0e45b View commit details
    Browse the repository at this point in the history
  6. deps: remove replace statement for go-discover (#16304)

    Which we no longer need since we no longer have consul as a dependency
    shoenig authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    a34925f View commit details
    Browse the repository at this point in the history
  7. scheduler: add simple benchmark for tasksUpdated (#16422)

    In preperation for some refactoring to tasksUpdated, add a benchmark to the
    old code so it's easy to compare with the changes, making sure nothing goes
    off the rails for performance.
    shoenig authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    12688f2 View commit details
    Browse the repository at this point in the history
  8. scheduler: refactor system util tests (#16416)

    The tests for the system allocs reconciling code path (`diffSystemAllocs`)
    include many impossible test environments, such as passing allocs for the wrong
    node into the function. This makes the test assertions nonsensible for use in
    walking yourself through the correct behavior.
    
    I've pulled this changeset out of PR #16097 so that we can merge these
    improvements and revisit the right approach to fix the problem in #16097 with
    less urgency now that the PFNR bug fix has been merged. This changeset breaks up
    a couple of tests, expands test coverage, and makes test assertions more
    clear. It also corrects one bit of production code that behaves fine in
    production because of canonicalization, but forces us to remember to set values
    in tests to compensate.
    tgross authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    b6d6cc4 View commit details
    Browse the repository at this point in the history
  9. build(deps): bump go.uber.org/goleak from 1.2.0 to 1.2.1 (#16439)

    Bumps [go.uber.org/goleak](https://github.com/uber-go/goleak) from 1.2.0 to 1.2.1.
    - [Release notes](https://github.com/uber-go/goleak/releases)
    - [Changelog](https://github.com/uber-go/goleak/blob/master/CHANGELOG.md)
    - [Commits](uber-go/goleak@v1.2.0...v1.2.1)
    
    ---
    updated-dependencies:
    - dependency-name: go.uber.org/goleak
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    5febe9b View commit details
    Browse the repository at this point in the history
  10. build: update from go1.20.1 to go1.20.2 (#16427)

    * build: update from go1.20.1 to go1.20.2
    
    Note that the CVE fixed in go1.20.2 does *not* impact Nomad.
    
    golang/go#58647
    schmichael authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    5f37b2f View commit details
    Browse the repository at this point in the history
  11. doc: Update nomad fmt doc to run against non-deprecated HCL2 jobspe…

    …c only (#16435)
    
    Signed-off-by: dttung2905 <ttdao.2015@accountancy.smu.edu.sg>
    dttung2905 authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    f3a527b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b2c8732 View commit details
    Browse the repository at this point in the history
  13. acl: update job eval requirement to submit-job (#16463)

    The job evaluate endpoint creates a new evaluation for the job which is
    a write operation. This change modifies the necessary capability from
    `read-job` to `submit-job` to better reflect this.
    lgfa29 authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    f2bfbfa View commit details
    Browse the repository at this point in the history
  14. cgv1: do not disable cpuset manager if reserved interface already exi…

    …sts (#16467)
    
    * cgv1: do not disable cpuset manager if reserved interface already exists
    
    This PR fixes a bug where restarting a Nomad Client on a machine using cgroups
    v1 (e.g. Ubuntu 20.04) would cause the cpuset cgroups manager to disable itself.
    
    This is being caused by incorrectly interpreting a "file exists" error as
    problematic when ensuring the reserved cpuset exists. If we get a "file exists"
    error, that just means the Client was likely restarted.
    
    Note that a machine reboot would fix the issue - the groups interfaces are
    ephemoral.
    
    * cl: add cl
    shoenig authored Mar 13, 2023
    Configuration menu
    Copy the full SHA
    a42a33f View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2023

  1. agent: trim space when parsing X-Nomad-Token header (#16469)

    Our auth token parsing code trims space around the `Authorization` header but
    not around `X-Nomad-Token`. When using the UI, it's easy to accidentally
    introduce a leading or trailing space, which results in spurious authentication
    errors. Trim the space at the HTTP server.
    tgross authored Mar 14, 2023
    Configuration menu
    Copy the full SHA
    c70bbd1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    101e5d0 View commit details
    Browse the repository at this point in the history
  3. cli: Add -json and -t flags to namespace status command (#16442)

    * cli: Add  and  flag to namespace status command
    
    * Update command/namespace_status.go
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * cli: update tests for namespace status command to use must
    
    ---------
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell authored Mar 14, 2023
    Configuration menu
    Copy the full SHA
    eaf22f2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    362f752 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #16484 from hashicorp/tunzor-patch-1

    Update for enterprise trial wording and link
    tunzor authored Mar 14, 2023
    Configuration menu
    Copy the full SHA
    d5e0130 View commit details
    Browse the repository at this point in the history
  6. scheduler: annotate tasksUpdated with reason and purge DeepEquals (#1…

    …6421)
    
    * scheduler: annotate tasksUpdated with reason and purge DeepEquals
    
    * cr: move opaque into helper
    
    * cr: swap affinity/spread hashing for slice equal
    
    * contributing: update checklist-jobspec with notes about struct methods
    
    * cr: add more cases to wait config equal method
    
    * cr: use reflect when comparing envoy config blocks
    
    * cl: add cl
    shoenig authored Mar 14, 2023
    Configuration menu
    Copy the full SHA
    1a01e87 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2023

  1. Configuration menu
    Copy the full SHA
    bdf468c View commit details
    Browse the repository at this point in the history
  2. test: set BuildDate in default TestAgent config (#16499)

    so enterprise tests don't fail due to the default zero time
    gulducat authored Mar 15, 2023
    Configuration menu
    Copy the full SHA
    e4963b9 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2023

  1. Configuration menu
    Copy the full SHA
    323abf7 View commit details
    Browse the repository at this point in the history
  2. artifact: use specific version link for zipbomb artifact (#16513)

    Fix the e2e case where we download the go-getter bomb.zip test file, which
    is being removed on main. We can still get it from the version tag - yay git!
    shoenig authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    098650e View commit details
    Browse the repository at this point in the history
  3. artifact: do not set process attributes on darwin (#16511)

    This PR fixes the non-root macOS use case where artifact downloads
    stopped working. It seems setting a Credential on a SysProcAttr
    used by the exec package will always cause fork/exec to fail -
    even if the credential contains our own UID/GID or nil UID/GID.
    
    Technically we do not need to set this as the child process will
    inherit the parent UID/GID anyway... and not setting it makes
    things work again ... /shrug
    shoenig authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    ea727df View commit details
    Browse the repository at this point in the history
  4. docs: dispatch_payload and jobs api docs had some weirdness (#16514)

    * docs: dispatch_payload docs had some weirdness
    
    Docs said "Examples" when there was only 1 example. Not sure what the
    floating "to" in the description was for.
    
    * docs: missing a heading level on jobs api docs
    schmichael authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    46ae102 View commit details
    Browse the repository at this point in the history
  5. artifact: git needs more files for private repositories (#16508)

    * landlock: git needs more files for private repositories
    
    This PR fixes artifact downloading so that git may work when cloning from
    private repositories. It needs
    
    - file read on /etc/passwd
    - dir read on /root/.ssh
    - file write on /root/.ssh/known_hosts
    
    Add these rules to the landlock rules for the artifact sandbox.
    
    * cr: use nonexistent instead of devnull
    
    Co-authored-by: Michael Schurter <mschurter@hashicorp.com>
    
    * cr: use go-homdir for looking up home directory
    
    * pr: pull go-homedir into explicit require
    
    * cr: fixup homedir tests in homeless root cases
    
    * cl: fix root test for real
    
    ---------
    
    Co-authored-by: Michael Schurter <mschurter@hashicorp.com>
    shoenig and schmichael authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    995ab41 View commit details
    Browse the repository at this point in the history
  6. client: don't use Status RPC for Consul discovery (#16490)

    In #16217 we switched clients using Consul discovery to the `Status.Members`
    endpoint for getting the list of servers so that we're using the correct
    address. This endpoint has an authorization gate, so this fails if the anonymous
    policy doesn't have `node:read`. We also can't check the `AuthToken` for the
    request for the client secret, because the client hasn't yet registered so the
    server doesn't have anything to compare against.
    
    Instead of hitting the `Status.Peers` or `Status.Members` RPC endpoint, use the
    Consul response directly. Update the `registerNode` method to handle the list of
    servers we get back in the response; if we get a "no servers" or "no path to
    region" response we'll kick off discovery again and retry immediately rather
    than waiting 15s.
    tgross authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    8684183 View commit details
    Browse the repository at this point in the history
  7. Enable ACLs on E2E test clients (#16530)

    * e2e: uniformly enable acls across all agents
    
    * docs: clarify that acls should be set everywhere
    schmichael authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    282e3bc View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2023

  1. Configuration menu
    Copy the full SHA
    57a3cbe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    76649df View commit details
    Browse the repository at this point in the history
  3. nsd: always set deregister flag after deregistration of group (#16289)

    * services: always set deregister flag after deregistration of group
    
    This PR fixes a bug where the group service hook's deregister flag was
    not set in some cases, causing the hook to attempt deregistrations twice
    during job updates (alloc replacement).
    
    In the tests ... we used to assert on the wrong behvior (remove twice) which
    has now been corrected to assert we remove only once.
    
    This bug was "silent" in the Consul provider world because the error logs for
    double deregistration only show up in Consul logs; with the Nomad provider the
    error logs are in the Nomad agent logs.
    
    * services: cleanup group service hook tests
    shoenig authored Mar 17, 2023
    Configuration menu
    Copy the full SHA
    ed498f8 View commit details
    Browse the repository at this point in the history
  4. cli: nomad login command should not require a -type flag and should r…

    …espect default auth method (#16504)
    
    nomad login command does not need to know ACL Auth Method's type, since all
    method names are unique. 
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    pkazmierczak and jrasell authored Mar 17, 2023
    Configuration menu
    Copy the full SHA
    b95b105 View commit details
    Browse the repository at this point in the history
  5. tls enforcement flaky tests (#16543)

    * tests: add WaitForLeaders helpers using must/wait timings
    
    * tests: start servers for mtls tests together
    
    Fixes #16253 (hopefully)
    shoenig authored Mar 17, 2023
    Configuration menu
    Copy the full SHA
    1cfa95e View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Spelling update (#16553)

    updated propogating to propagating
    DocAdam authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    cd8615d View commit details
    Browse the repository at this point in the history
  2. cli: Add json and -t flags to server members command (#16444)

    * cli: Add  and  flags to server members
    
    * Update website/content/docs/commands/server/members.mdx
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * Update website/content/docs/commands/server/members.mdx
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * cli: update the server memebers tests to use must
    
    * cli: add flags addition to changelog
    
    ---------
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    151147b View commit details
    Browse the repository at this point in the history
  3. cli: add -json and -t flags to quota status command (#16485)

    * cli: add json and t flags to quota status command
    
    * cli: add entry to changelog
    
    * Update command/quota_status.go
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    26b4fcc View commit details
    Browse the repository at this point in the history
  4. Add -json flag to quota inspect command (#16478)

    * Added  and  flag to  command
    
    * cli[style]: small refactor to avoid confussion with tmpl variable
    
    * Update inspect.mdx
    
    * cli: add changelog entry
    
    * Update .changelog/16478.txt
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    * Update command/quota_inspect.go
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    cc110f4 View commit details
    Browse the repository at this point in the history
  5. [ui] Perform common job tasks with keyboard shortcuts (#16378)

    * Throw your mouse into traffic
    
    * Add node metadata with a shortcut
    
    * Re-labelled
    
    * Adds a toast notification to job start/stop on keyboard shortcut
    
    * Typo fix
    philrenaud authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    0071844 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    96740b5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    aacc7c6 View commit details
    Browse the repository at this point in the history
  8. contrib: mock driver (#16573)

    tgross authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    695df42 View commit details
    Browse the repository at this point in the history
  9. client/metadata: fix crasher caused by AllowStale = false (#16549)

    Fixes #16517
    
    Given a 3 Server cluster with at least 1 Client connected to Follower 1:
    
    If a NodeMeta.{Apply,Read} for the Client request is received by
    Follower 1 with `AllowStale = false` the Follower will forward the
    request to the Leader.
    
    The Leader, not being connected to the target Client, will forward the
    RPC to Follower 1.
    
    Follower 1, seeing AllowStale=false, will forward the request to the
    Leader.
    
    The Leader, not being connected to... well hoppefully you get the
    picture: an infinite loop occurs.
    schmichael authored Mar 20, 2023
    Configuration menu
    Copy the full SHA
    fb08518 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. changelog: update #16427 to improvement (#16565)

    The security fix in Go 1.20.2 does not apply to Nomad.
    lgfa29 authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    a633b79 View commit details
    Browse the repository at this point in the history
  2. contrib: architecture guide to the drainer (#16569)

    The drainer component is fairly complex. As part of upcoming work to fix some of
    the drainer's rough edges, document the drainer's architecture from a Nomad
    developer perspective.
    tgross authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    a90df9d View commit details
    Browse the repository at this point in the history
  3. Update csi_plugin.mdx (#16584)

    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Suselz and jrasell authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    5309325 View commit details
    Browse the repository at this point in the history
  4. Windows fixes for e2e tests (#16592)

    * e2e: skip task api test when windows too old
    
    * e2e: don't run proxy on windows
    schmichael authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    a73a399 View commit details
    Browse the repository at this point in the history
  5. E2E: fix events tests (#16595)

    In #12916 we updated the events test as part of a larger set of changes around
    mapstructure serialization fixes. But the changes to the jobs we're deploying in
    the tests had invalid task configs so they never result in good deployments and
    the test will always fail. Make the before/after jobs identical (except for the
    version bump) and make them valid. Also wait for allocations for the 2nd job run
    to appear before checking the deployment list, so that we don't race with the
    scheduler.
    tgross authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    aece7b0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    337a8d2 View commit details
    Browse the repository at this point in the history
  7. taskapi: use HasSuffix to detect errors from rpcs (#16594)

    Matches the "normal" HTTP error detection logic in the same file.
    schmichael authored Mar 21, 2023
    Configuration menu
    Copy the full SHA
    4d31fd3 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2023

  1. Configuration menu
    Copy the full SHA
    39ec124 View commit details
    Browse the repository at this point in the history
  2. Fix broken test for quotas CLI (#16610)

    * fix: fix broken test
    
    * fix: fix broken test for quota status
    Juanadelacuesta authored Mar 22, 2023
    Configuration menu
    Copy the full SHA
    cb9ce8b View commit details
    Browse the repository at this point in the history
  3. [ui] Copyable server and client attribute values (#16548)

    * Copyable server and client attribute values
    
    * Changelog
    philrenaud authored Mar 22, 2023
    Configuration menu
    Copy the full SHA
    2a22d71 View commit details
    Browse the repository at this point in the history
  4. Post 1.5.2 release (#16614)

    * Generate files for 1.5.2 release
    
    * Prepare for next release
    
    * add 1.4.7 and 1.3.12 to the changelog
    
    ---------
    
    Co-authored-by: hc-github-team-nomad-core <github-team-nomad-core@hashicorp.com>
    schmichael and hc-github-team-nomad-core authored Mar 22, 2023
    Configuration menu
    Copy the full SHA
    1a53d9c View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2023

  1. drainer: test refactoring to clarify behavior around delete/down nodes (

    #16612)
    
    This changeset refactors the tests of the draining node watcher so that we don't
    mock the node watcher's `Remove` and `Update` methods for its own tests. Instead
    we'll mock the node watcher's dependencies (the job watcher and deadline
    notifier) and now unit tests can cover the real code. This allows us to remove a
    bunch of TODOs in `watch_nodes.go` around testing and clarify some important
    behaviors:
    
    * Nodes that are down or disconnected will still be watched until the scheduler
      decides what to do with their allocations. This will drive the job watcher but
      not the node watcher, and that lets the node watcher gracefully handle cases
      where a heartbeat fails but the node heartbeats again before its allocs can be
      evicted.
    
    * Stop watching nodes that have been deleted. The blocking query for nodes set
      the maximum index to the highest index of a node it found, rather than the
      index of the nodes table. This misses updates to the index from deleting
      nodes. This was done as an performance optimization to avoid excessive
      unblocking, but because the query is over all nodes anyways there's no
      optimization to be had here. Remove the optimization so we can detect deleted
      nodes without having to wait for an update to an unrelated node.
    tgross authored Mar 23, 2023
    Configuration menu
    Copy the full SHA
    23b3647 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1061ddd View commit details
    Browse the repository at this point in the history
  3. cli: job restart command (#16278)

    Implement the new `nomad job restart` command that allows operators to
    restart allocations tasks or reschedule then entire allocation.
    
    Restarts can be batched to target multiple allocations in parallel.
    Between each batch the command can stop and hold for a predefined time
    or until the user confirms that the process should proceed.
    
    This implements the "Stateless Restarts" alternative from the original
    RFC
    (https://gist.github.com/schmichael/e0b8b2ec1eb146301175fd87ddd46180).
    The original concept is still worth implementing, as it allows this
    functionality to be exposed over an API that can be consumed by the
    Nomad UI and other clients. But the implementation turned out to be more
    complex than we initially expected so we thought it would be better to
    release a stateless CLI-based implementation first to gather feedback
    and validate the restart behaviour.
    
    Co-authored-by: Shishir Mahajan <smahajan@roblox.com>
    lgfa29 and shishir-a412ed authored Mar 23, 2023
    Configuration menu
    Copy the full SHA
    fffdbdf View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. Configuration menu
    Copy the full SHA
    b84c455 View commit details
    Browse the repository at this point in the history
  2. scheduler: fix reconciliation of reconnecting allocs (#16609)

    When a disconnect client reconnects the `allocReconciler` must find the
    allocations that were created to replace the original disconnected
    allocations.
    
    This process was being done in only a subset of non-terminal untainted
    allocations, meaning that, if the replacement allocations were not in
    this state the reconciler didn't stop them, leaving the job in an
    inconsistent state.
    
    This inconsistency is only solved in a future job evaluation, but at
    that point the allocation is considered reconnected and so the specific
    reconnection logic was not applied, leading to unexpected outcomes.
    
    This commit fixes the problem by running reconnecting allocation
    reconciliation logic earlier into the process, leaving the rest of the
    reconciler oblivious of reconnecting allocations.
    
    It also uses the full set of allocations to search for replacements,
    stopping them even if they are not in the `untainted` set.
    
    The system `SystemScheduler` is not affected by this bug because
    disconnected clients don't trigger replacements: every eligible client
    is already running an allocation.
    lgfa29 authored Mar 24, 2023
    Configuration menu
    Copy the full SHA
    72ad885 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2023

  1. Configuration menu
    Copy the full SHA
    6626965 View commit details
    Browse the repository at this point in the history
  2. Multiple instances of a periodic job are run simultaneously, when pro…

    …hibit_overlap is true
    
    Fixes #11052
    When restoring periodic dispatcher, all periodic jobs are forced without checking for previous childre.
    jrasell authored and Juanadelacuesta committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    51249fc View commit details
    Browse the repository at this point in the history
  3. Multiple instances of a periodic job are run simultaneously, when pro…

    …hibit_overlap is true
    
    Fixes #11052
    When restoring periodic dispatcher, all periodic jobs are forced without checking for previous children.
    Juanadelacuesta committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    e9850f3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3c858a9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4c59344 View commit details
    Browse the repository at this point in the history
  6. Update nomad/leader.go

    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    8ac3e0e View commit details
    Browse the repository at this point in the history
  7. Update nomad/leader_test.go

    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    90db021 View commit details
    Browse the repository at this point in the history
  8. Update nomad/leader_test.go

    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    23807bd View commit details
    Browse the repository at this point in the history
  9. Update nomad/leader_test.go

    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    eb6cd35 View commit details
    Browse the repository at this point in the history
  10. Update nomad/leader_test.go

    Co-authored-by: James Rasell <jrasell@users.noreply.github.com>
    Juanadelacuesta and jrasell committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    f4c24bc View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a2ce7f0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6cbe024 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2c363fd View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    a7260c0 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    2385f05 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    124700a View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    096cb3b View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    4fd336a View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    b431198 View commit details
    Browse the repository at this point in the history