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. 14 Oct, 2021 1 commit
  2. 05 Oct, 2021 1 commit
  3. 21 Sep, 2021 1 commit
  4. 27 Aug, 2021 1 commit
  5. 05 Aug, 2021 1 commit
  6. 29 Jul, 2021 1 commit
  7. 28 Jul, 2021 1 commit
  8. 08 Jul, 2021 1 commit
  9. 06 Jul, 2021 1 commit
    • Mahmood Ali's avatar
      Adopt go-changelog in Nomad (#10825) · 18d359f7
      Mahmood Ali authored
      Adopts [`go-changelog`](https://github.com/hashicorp/go-changelog) for managing Nomad's changelog. `go-changelog` is becoming the HashiCorp defacto standard tool for managing changelog, e.g. [Consul](https://github.com/hashicorp/consul/pull/8387), [Vault](https://github.com/hashicorp/vault/pull/10363), [Waypoint](https://github.com/hashicorp/waypoint/pull/1179). [Consul](https://github.com/hashicorp/consul/pull/8387) seems to be the first product to adopt it, and its PR has the most context - though I've updated `.changelog/README.md` with the relevant info here.
      
      ## Changes to developers workflow
      
      When opening PRs, developers should add a changelog entry in `.changelog/<PR#>.txt`. Check [`.changelog/README.md`](https://github.com/hashicorp/nomad/blob/docs-adopt-gochangelog/.changelog/README.md#developer-guide). 
      
      For the WIP release, entries can be amended even after the PR merged, and new files may be added post-hoc (e.g. during transition period, missed accidentally, community PRs, etc).
      
      ### Transitioning
      
      Pending PRs can start including the changelog entry files immediately.
      
      For 1.1.3/1.0.9 cycle, the release coordinator should create the entries for any PR that gets merged without a changelog entry file. They should also move any 1.1.3 entry in CHANGELOG.md to a changelog entry file, as this PR done for GH-10818.
      
      ## Changes to release process
      
      Before cutting a release, release coordinator should update the changelog by inserting the output of `make changelog` to CHANGELOG.md with appropriate headers. See [`.changelog/README.md`](https://github.com/hashicorp/nomad/blob/docs-adopt-gochangelog/.changelog/README.md#how-to-generate-changelog-entries-for-release) for more details.
      
      
      ## Details
      
      go-changelog is a basic templating engine for maintaining changelog in HashiCorp environment.
      
      It expects the changelog entries as files indexed by their PR number. The CLI generates the changelog section for a release by comparing two git references (e.g. `HEAD` and the latest release, e.g. `v1.1.2`), and still requires manual process for updating CHANGELOG.md and final formatting.
      
      The approach has many nice advantages:
      * Avoids changelog related merge conflicts: Each PR touches different file!
      * Copes with amendments and post-PR updates: Just add or update a changelog entry file using the original PR numbers.
      * Addresses the release backporting scenario: Cherry-picking PRs will cherry-pick the relevant changelog entry automatically!
      * Only relies on data available through `git` - no reliance on GitHub metadata or require GitHub credentials
      
      The approach has few downsides though:
      * CHANGELOG.md going stale during development and must be updated manually before cutting the release
        * Repository watchers can no longer glance at the CHANGELOG.md to see upcoming changes
        * We can periodically update the file, but `go-changelog` tool does not aid with that
      * `go-changelog` tool does not offer good error reporting. If an entry is has an invalid tag (e.g. uses `release-note:bugfix` instead of `release-note:bug`), the entry will be dropped silently
        * We should update go-changelog to warn against unexpected entry tags
        * TODO: Meanwhile, PR reviewers and release coordinators should watch out
      
      ## Potential follow ups
      
      We should follow up with CI checks to ensure PR changes include a warning. I've opted not to include that now. We still make many non-changelog-worth PRs for website/docs, for large features that get merged in multiple small PRs. I did not want to include a check that fails often.
      
      Also, we should follow up to have `go-changelog` emit better warnings on unexpected tag.
      18d359f7
  10. 29 Jun, 2021 1 commit
  11. 28 Jun, 2021 3 commits
  12. 25 Jun, 2021 1 commit
  13. 22 Jun, 2021 2 commits
  14. 21 Jun, 2021 2 commits
  15. 18 Jun, 2021 1 commit
  16. 17 Jun, 2021 2 commits
  17. 16 Jun, 2021 1 commit
    • Tim Gross's avatar
      docker: generate /etc/hosts file for bridge network mode (#10766) · 2a640f0b
      Tim Gross authored
      When `network.mode = "bridge"`, we create a pause container in Docker with no
      networking so that we have a process to hold the network namespace we create
      in Nomad. The default `/etc/hosts` file of that pause container is then used
      for all the Docker tasks that share that network namespace. Some applications
      rely on this file being populated.
      
      This changeset generates a `/etc/hosts` file and bind-mounts it to the
      container when Nomad owns the network, so that the container's hostname has an
      IP in the file as expected. The hosts file will include the entries added by
      the Docker driver's `extra_hosts` field.
      
      In this changeset, only the Docker task driver will take advantage of this
      option, as the `exec`/`java` drivers currently copy the host's `/etc/hosts`
      file and this can't be changed without breaking backwards compatibility. But
      the fields are available in the task driver protobuf for community task
      drivers to use if they'd like.
      2a640f0b
  18. 15 Jun, 2021 3 commits
  19. 14 Jun, 2021 1 commit
    • Tim Gross's avatar
      quotas: evaluate quota feasibility last in scheduler (#10753) · 2b63a093
      Tim Gross authored
      The `QuotaIterator` is used as the source of nodes passed into feasibility
      checking for constraints. Every node that passes the quota check counts the
      allocation resources agains the quota, and as a result we count nodes which
      will be later filtered out by constraints. Therefore for jobs with
      constraints, nodes that are feasibility checked but fail have been counted
      against quotas. This failure mode is order dependent; if all the unfiltered
      nodes happen to be quota checked first, everything works as expected.
      
      This changeset moves the `QuotaIterator` to happen last among all feasibility
      checkers (but before ranking). The `QuotaIterator` will never receive filtered
      nodes so it will calculate quotas correctly.
      2b63a093
  20. 10 Jun, 2021 3 commits
  21. 09 Jun, 2021 3 commits
  22. 08 Jun, 2021 1 commit
  23. 07 Jun, 2021 4 commits
  24. 04 Jun, 2021 2 commits
  25. 03 Jun, 2021 1 commit
    • Seth Hoenig's avatar
      consul/connect: use additional constraints in scheduling connect tasks · c90471d7
      Seth Hoenig authored
      This PR adds two additional constraints on Connect sidecar and gateway tasks,
      making sure Nomad schedules them only onto nodes where Connect is actually
      enabled on the Consul agent.
      
      Consul requires `connect.enabled = true` and `ports.grpc = <number>` to be
      explicitly set on agent configuration before Connect APIs will work. Until
      now, Nomad would only validate a minimum version of Consul, which would cause
      confusion for users who try to run Connect tasks on nodes where Consul is not
      yet sufficiently configured. These contstraints prevent job scheduling on nodes
      where Connect is not actually use-able.
      
      Closes #10700
      c90471d7