Commit Graph

1559 Commits

Author SHA1 Message Date
Luiz Aoqui
fcfb8d9e37 update ci.hcl, version.go and CHANGELOG to v1.3.0-beta.1 2022-04-07 16:13:49 -04:00
Luiz Aoqui
bc333c2560 Merge tag 'v1.2.6' into merge-release-1.2.6-branch
Version 1.2.6
2022-02-10 14:55:34 -05:00
Luiz Aoqui
a3319d7d76 docs: add 1.2.6 to changelog 2022-02-09 19:59:37 -05:00
Tim Gross
857d49abf4 prepare for next release 2022-02-01 11:13:22 -05:00
Tim Gross
f0e1938df6 docs: add 1.2.5 to changelog 2022-01-28 15:08:48 -05:00
Luiz Aoqui
a200e2f247 changelog: manually add entry for #11793 2022-01-19 16:13:04 -05:00
Luiz Aoqui
620abba134 prepare for next release 2022-01-19 11:51:59 -05:00
Luiz Aoqui
c5fd90a7dd docs: add 1.2.4 to changelog 2022-01-18 18:31:34 -05:00
Conor Evans
31978a0366 replace 'a alloc' with 'an alloc' where appropriate (#11792) 2022-01-10 11:59:46 -05:00
Tim Gross
a6f6abbbee prepare for next release 2021-12-13 10:14:22 -05:00
Tim Gross
5757613077 Merge tag 'v1.2.3' into merge-release-1.2.3-branch
Version 1.2.3
2021-12-13 10:12:07 -05:00
Tim Gross
45a5b22b65 docs: add 1.2.3 to changelog 2021-12-10 14:06:14 -05:00
Luiz Aoqui
9180e8a188 Merge remote-tracking branch 'origin/release-1.2.2' into merge-release-1.2.2-branch 2021-11-24 14:40:45 -05:00
Luiz Aoqui
366300af93 docs: add 1.2.2 to changelog 2021-11-24 13:03:13 -05:00
Luiz Aoqui
9dd93990c5 Merge tag 'v1.2.1' into merge-release-1.2.1-branch
Version 1.2.1
2021-11-22 10:47:04 -05:00
Luiz Aoqui
b972b5b360 docs: add 1.2.1 to changelog 2021-11-19 11:19:12 -05:00
Luiz Aoqui
be30a930b3 changelog: add entries for v1.1.7 and v1.0.13 (#11527) 2021-11-17 16:31:09 -05:00
Luiz Aoqui
23c977c5b2 Merge release 1.2.0 branch (#11513) 2021-11-16 14:16:26 -05:00
Luiz Aoqui
8565577083 docs: add 1.2.0 to changelog 2021-11-15 17:48:28 -05:00
Luiz Aoqui
74c823657e Merge release 1.2.0 rc1 branch (#11486) 2021-11-09 17:55:13 -05:00
Luiz Aoqui
d17b6a2c2b Merge release branch (#11317) 2021-10-14 13:06:04 -04:00
Michael Schurter
09d617f59f docs: add 1.1.6 and 1.0.12 to changelog 2021-10-05 16:34:24 -07:00
Michael Schurter
89d4885a7b Update changelog for v1.1.5 and v1.0.11 2021-09-21 09:09:40 -07:00
Mahmood Ali
42666b8014 update changelog and dev version (#11090) 2021-08-27 08:54:35 -04:00
Michael Schurter
2ffb7e1397 docs: add backward incompat note about #10875
Fixes #11002
2021-08-05 15:08:55 -07:00
Mahmood Ali
bf3d8a302b update changelog for release 2021-07-28 21:59:03 -04:00
Mahmood Ali
445b1153d1 update changelog (#10963) 2021-07-28 16:02:04 -04:00
Mahmood Ali
0f0bcdb6ed Merge pull request #10806 from hashicorp/munda/idempotent-job-dispatch
Enforce idempotency of dispatched jobs using token on dispatch request
2021-07-08 10:23:31 -04:00
Alex Munda
16d43ae6a5 Changelog entry for dispatch idempotency token 2021-07-07 19:48:59 -05:00
Mahmood Ali
18d359f71d Adopt go-changelog in Nomad (#10825)
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.
2021-07-06 10:46:53 -04:00
James Rasell
ff8e98e612 Merge pull request #10829 from hashicorp/gh-10820-docs
changelog: add entry for #10822
2021-06-30 08:37:02 +02:00
Seth Hoenig
b5c3f4e9df Merge pull request #10805 from hashicorp/b-cn-tls-env
consul/connect: automatically set consul tls sni name for connect native tasks
2021-06-29 14:10:21 -05:00
James Rasell
d5bbb9b235 changelog: add entry for #10822 2021-06-29 10:10:32 +02:00
Tim Gross
7edf0cc108 docs: unset port to field maps to dynamic port (#10828) 2021-06-28 15:55:24 -04:00
Tim Gross
166a056531 docs: add missing backwards compat warning about port_map (#10827)
The `docker` driver's `port_map` field was deprecated in 0.12 and this is
documented in the task driver's docs, but we never explicitly flagged it for
backwards compatibility.
2021-06-28 15:49:41 -04:00
Seth Hoenig
37729bb027 consul/connect: automatically set consul tls sni name for connect native tasks
This PR makes it so that Nomad will automatically set the CONSUL_TLS_SERVER_NAME
environment variable for Connect native tasks running in bridge networking mode
where Consul has TLS enabled. Because of the use of a unix domain socket for
communicating with Consul when in bridge networking mode, the server name is
a file name instead of something compatible with the mTLS certificate Consul
will authenticate against. "localhost" is by default a compatible name, so Nomad
will set the environment variable to that.

Fixes #10804
2021-06-28 08:36:53 -05:00
Tim Gross
9b35750489 csi: fix CLI panic when formatting volume status with -verbose flag (#10818)
When the `-verbose` flag is passed to the `nomad volume status` command, we
hit a code path where the rows of text to be formatted were not initialized
correctly, resulting in a panic in the CLI.
2021-06-25 16:17:37 -04:00
Mahmood Ali
1bf9e7c266 prepare for 1.1.3 development 2021-06-22 10:41:44 -04:00
Mahmood Ali
90987f272e prepare changelog for 1.1.2 2021-06-21 20:36:39 -04:00
Dave May
b430bafe90 Add remaining pprof profiles to nomad operator debug (#10748)
* Add remaining pprof profiles to debug dump
* Refactor pprof profile capture
* Add WaitForFilesUntil and WaitForResultUntil utility functions
* Add CHANGELOG entry
2021-06-21 14:22:49 -04:00
Seth Hoenig
15160ded65 docs: update cl with missing entries 2021-06-21 09:22:48 -05:00
Seth Hoenig
adcbcc129b consul/connect: Validate uniqueness of Connect upstreams within task group
This PR adds validation during job submission that Connect proxy upstreams
within a task group are using different listener addresses. Otherwise, a
duplicate envoy listener will be created and not be able to bind.

Closes #7833
2021-06-18 16:50:53 -05:00
Tim Gross
77f6ecbbbf deps: bump go-getter to 1.5.4 (#10778) 2021-06-17 16:30:00 -04:00
Tim Gross
b0922e90a7 changelog entry for #10756 2021-06-16 22:02:10 -04:00
Tim Gross
2a640f0b2d docker: generate /etc/hosts file for bridge network mode (#10766)
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.
2021-06-16 14:55:22 -04:00
Seth Hoenig
0ef0b2ef2b docs: add bugfix note to 1.0.8 2021-06-15 12:40:44 -05:00
Seth Hoenig
b4a631c1c5 consul: make failures_before_critical and success_before_passing work with group services
This PR fixes some job submission plumbing to make sure the Consul Check parameters
- failure_before_critical
- success_before_passing

work with group-level services. They already work with task-level services.
2021-06-15 11:20:40 -05:00
Seth Hoenig
d7530f04ae docs: update changelog 2021-06-15 09:17:06 -05:00
Tim Gross
2b63a093ac quotas: evaluate quota feasibility last in scheduler (#10753)
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.
2021-06-14 10:11:40 -04:00
Isabel Suchanek
34aecd0e82 docs: add deployment monitor to docs, changelog
Updates the deployment status and job run docs
2021-06-10 10:51:33 -07:00