Commit Graph

27001 Commits

Author SHA1 Message Date
Tim Gross
1ea3ffd311 testing: state store test improvements around deployments (#25732)
While working on #25726, I explored a hypothesis that the problem could be
in the state store, but this proved to be a dead end. While I was in this area
of the code I migrated the tests to `shoenig/test`.

Ref: https://github.com/hashicorp/nomad/pull/25726
2025-04-23 15:28:14 -04:00
scoss
01dad73a4e tls_verify fix (#25725) 2025-04-23 13:50:36 -05:00
Allison Larson
50513a87b7 Preserve core resources during inplace service alloc updates (#25705)
* Preserve core resources during inplace service alloc updates

When an alloc is running with the core resources specified, and the
alloc is able to be updated in place, the cores it is running on should
be preserved.

This fixes a bug where the allocation's task's core resources
(CPU.ReservedCores) would be recomputed each time the reconciler checked
that the allocation could continue to run on the given node. Under
circumstances where a different core on the node became available before
this check was made, the selection process could compute this new core
as the core to run on, regardless of core the allocation was already
running on. The check takes into account other allocations running on
the node with reserved cores, but cannot check itself.

When this would happen for multiple allocations being evaluated in a
single plan, the selection process would see the other cores being
previously reserved but be unaware of the one it ran on, resulting in
the same core being chosen over and over for each allocation that was
being checked, and updated in the state store (but not on the node).
Once those cores were chosen and committed for multiple allocs, the node
appears to be exhausted on the cores dimension, and it would prevent any
additional allocations from being started on the node.

The reconciler check/computation for allocations that are being updated
in place and have resources.cores defined is effectively a check that
the node has the available cores to run on, not a computation that
should be changed. The fix still performs the check, but once it is
successful any existing ReservedCores are preserved. Because any changes
to this resource is considered a "destructive change", this can be
confidently preserved during the inplace update.

* Adjust reservedCores scheduler test

* Add changelog entry
2025-04-23 10:38:47 -07:00
Daniel Bennett
dbf44a6ed3 Merge pull request #25720 - Combined dependencies PR 2025-04-23 11:11:25 -04:00
Matt McQuillan
c349f1ddd3 Updating Jira Project Sync
Updating Jira Project
2025-04-23 09:57:48 -04:00
Matt McQuillan
0fc8e68460 Updating Jira Project
Switching from NET to NMD
2025-04-23 09:36:59 -04:00
Daniel Bennett
1fe1167c58 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/ember-cli-sass-11.0.1' into combined-pr-branch 2025-04-22 15:13:03 -04:00
Daniel Bennett
06d4898005 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/website/hashicorp/platform-cli-2.8.0' into combined-pr-branch 2025-04-22 15:13:02 -04:00
Daniel Bennett
2040bac97c Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/website/babel/traverse-7.24.7' into combined-pr-branch 2025-04-22 15:13:02 -04:00
Daniel Bennett
2bc8941c53 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/babel-loader-10.0.0' into combined-pr-branch 2025-04-22 15:13:01 -04:00
Daniel Bennett
4985884f54 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/website/prettier-3.5.3' into combined-pr-branch 2025-04-22 15:13:00 -04:00
Daniel Bennett
75bca06b2f Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/prismjs-1.30.0' into combined-pr-branch 2025-04-22 15:13:00 -04:00
Daniel Bennett
b3d234ef83 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/babel/helpers-7.26.10' into combined-pr-branch 2025-04-22 15:12:59 -04:00
Daniel Bennett
95e7dd5022 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/ember-qunit-9.0.2' into combined-pr-branch 2025-04-22 15:12:58 -04:00
Daniel Bennett
5e297e0622 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/image-size-1.2.1' into combined-pr-branch 2025-04-22 15:12:58 -04:00
Daniel Bennett
2ad0082d5d Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/ui/lint-staged-15.5.1' into combined-pr-branch 2025-04-22 15:12:57 -04:00
Daniel Bennett
cb733524d1 Merge remote-tracking branch 'origin/dependabot/go_modules/golang.org/x/crypto-0.37.0' into combined-pr-branch 2025-04-22 15:12:57 -04:00
Daniel Bennett
08023936e8 Merge remote-tracking branch 'origin/dependabot/go_modules/google.golang.org/protobuf-1.36.6' into combined-pr-branch 2025-04-22 15:12:56 -04:00
Daniel Bennett
c28ad7527f Merge remote-tracking branch 'origin/dependabot/go_modules/github.com/docker/cli-28.1.1incompatible' into combined-pr-branch 2025-04-22 15:12:56 -04:00
Daniel Bennett
0c4d8fa4e2 Merge remote-tracking branch 'origin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.29.14' into combined-pr-branch 2025-04-22 15:12:55 -04:00
Daniel Bennett
b51a37829f Merge remote-tracking branch 'origin/dependabot/go_modules/github.com/containernetworking/cni-1.3.0' into combined-pr-branch 2025-04-22 15:12:55 -04:00
Piotr Kazmierczak
df3b00bce0 acl: use WhoAmI RPC endpoint in /acl/token/self (#25547)
ResolveToken RPC endpoint was only used by the /acl/token/self API. We should migrate to the WI-aware WhoAmI instead.

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-04-22 17:53:39 +02:00
Daniel Bennett
c46521a80d cli: operator debug: respect NOMAD_REGION env var (#25716)
properly filter out regions other than the one specified
like the -namespace flag does
2025-04-21 17:06:50 -04:00
Michael Smithhisler
6036ab8b40 client: close namespace file handle and defensively lazy unmount (#25714) 2025-04-21 16:25:05 -04:00
dependabot[bot]
79a459ba49 chore(deps): bump github.com/containernetworking/cni from 1.2.3 to 1.3.0
Bumps [github.com/containernetworking/cni](https://github.com/containernetworking/cni) from 1.2.3 to 1.3.0.
- [Release notes](https://github.com/containernetworking/cni/releases)
- [Commits](https://github.com/containernetworking/cni/compare/v1.2.3...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/containernetworking/cni
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-20 09:37:28 +00:00
dependabot[bot]
e9f1cebcf2 chore(deps): bump github.com/aws/aws-sdk-go-v2/config
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.29.9 to 1.29.14.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.29.9...config/v1.29.14)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.29.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-20 09:37:22 +00:00
dependabot[bot]
bf3116fb3b chore(deps): bump github.com/docker/cli
Bumps [github.com/docker/cli](https://github.com/docker/cli) from 28.0.4+incompatible to 28.1.1+incompatible.
- [Commits](https://github.com/docker/cli/compare/v28.0.4...v28.1.1)

---
updated-dependencies:
- dependency-name: github.com/docker/cli
  dependency-version: 28.1.1+incompatible
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-20 09:36:21 +00:00
dependabot[bot]
eaa2ab810d chore(deps): bump google.golang.org/protobuf from 1.36.5 to 1.36.6
Bumps google.golang.org/protobuf from 1.36.5 to 1.36.6.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-version: 1.36.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-20 09:36:14 +00:00
dependabot[bot]
d144c912df chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.36.0 to 0.37.0.
- [Commits](https://github.com/golang/crypto/compare/v0.36.0...v0.37.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-20 09:36:09 +00:00
tehut
b11619010e Add priority flag to Dispatch CLI and API (#25622)
* Add priority flag to Dispatch CLI and DispatchOpts() helper to HTTP API
2025-04-18 13:24:52 -07:00
Tim Gross
88dc842729 testing: use Docker Hub registry mirror for CI (#25703)
As of April 1, Docker Hub rate limits tightened. With only 10 pulls/hr/IP, we're
likely to encounter test failures. Switch all Docker images getting pulled from
this repository to use the HashiCorp managed registry mirror.

Note that most of our tests in `drivers/docker` don't pull from the remote
registry but load a local image, while others will need to pull from the remote
and fetch different images depending on OS/arch. Refactor the definition of test
task configuration to make it clear which is which, and de-factor some false
sharing of setup functions.

Updates the E2E tests to use that registry by configuring the Docker
daemon. This required changing out a few container images that we don't have in
the registry, but these new images are all smaller. There are a couple of tests
that still use explicitly-tagged `docker.io` images or other third-party
registries, which have been left in place.

Ref: https://hashicorp.atlassian.net/browse/NET-12233

update E2E images to those in the registry mirror

fix windows and docklog test build

fix stopsignal test

mop-up

more mop-up
2025-04-18 14:21:49 -04:00
Tim Gross
c205688857 scheduler: fix state corruption from rescheduler tracker updates (#25698)
In #12319 we fixed a bug where updates to the reschedule tracker would be
dropped if the follow-up allocation failed to be placed by the scheduler in the
later evaluation. We did this by mutating the previous allocation's reschedule
tracker. But we did this without copying the previous allocation first and then
making sure the updated copy was in the plan. This is unfortunately unsafe and
corrupts the state store on the server where the scheduler ran; it may cause a
race condition in RPC handlers and it causes the server to be out of sync with
the other servers. This was discovered while trying to make all our tests
race-free, but likely impacts production users.

Copy the previous allocation before updating the reschedule tracker, and swap
out the updated allocation in the plan. This also requires that we include the
reschedule tracker in the "normalized" (stripped-down) allocations we send to
the leader as part of a plan.

Ref: https://github.com/hashicorp/nomad/pull/12319
Fixes: https://hashicorp.atlassian.net/browse/NET-12357
2025-04-18 08:42:54 -04:00
James Rasell
c85c723336 ci: Run core tests groups workflow on amd64 and arm64 runners. (#25695) 2025-04-17 15:16:29 +01:00
James Rasell
c44f847cbb ci: Compile on Ubuntu arm64 within core test workflow. (#25692)
Nomad is released as a Linux arm64 binary, so having a compilation
step on this OS/ARCH within our core test workflow will help
ensure basic arm64 problems do not get into our release branches.
2025-04-17 07:46:49 +01:00
Tim Gross
e3845207e0 update backport assistant to 0.5.7 (#25697)
Update BPA to avoid problems when requerying for reviewers.

Ref: https://github.com/hashicorp/backport-assistant/pull/152
Ref: https://hashicorp.atlassian.net/browse/NET-11804
2025-04-16 11:39:37 -04:00
dependabot[bot]
89172cdbda chore(deps): bump dompurify from 3.1.5 to 3.2.5 in /ui (#25601)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.5 to 3.2.5.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.5...3.2.5)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.2.5
  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>
2025-04-16 15:46:57 +02:00
Piotr Kazmierczak
1d3f08b63d ci: correct BPA image version (#25693) 2025-04-16 11:02:30 +02:00
Tim Gross
de8bc4fead update BPA to 0.5.6 (#25691)
Fixes logging issues with the errors we've been getting for backport failures,
which will help us further diagnose the problem.

Ref: https://hashicorp.atlassian.net/browse/NET-11804
2025-04-15 16:56:15 -04:00
Tim Gross
fa40cd89dd workflow test for builds and backports (#25688)
Remove a useless comment to run a test of the build and backport workflows.

Ref: https://hashicorp.atlassian.net/browse/NET-11804
Ref: https://hashicorp.atlassian.net/browse/NET-10556
2025-04-15 16:11:17 -04:00
Juana De La Cuesta
a121129155 Merge pull request #25689 from hashicorp/NOJIRA-upgrade
Add some more debug information in case of failure
2025-04-15 21:24:10 +02:00
Juanadelacuesta
2f02c90391 func: expand on some logs to get more info in case of a failure 2025-04-15 14:37:57 -04:00
Piotr Kazmierczak
6f7d789b1d ci: disable docker build summary (#25685) 2025-04-15 17:02:46 +02:00
Piotr Kazmierczak
b26995c3d5 ci: migrate runners to ubuntu-22.04 (#25651)
* ci: migrate runners to ubuntu-22.04
* find a supported build for custom-linux-xl
2025-04-14 16:12:10 -04:00
Piotr Kazmierczak
54414e6a7c ci: pin docker/build-push-action to a TSCCR approved version (#25678) 2025-04-14 17:50:43 +02:00
Arian van Putten
d28af58cbb agent: implement sd-notify reload correctly (#25636)
First of all, we should not send the unix time, but the monotonic time.
Second of all, RELOADING= and MONOTONIC_USEC fields should be sent in
*single* message not two separate messages.

From the man page of [systemd.service](https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html#Type=)

> notification message via sd_notify(3) that contains the "RELOADING=1" field in
> combination with "MONOTONIC_USEC=" set to the current monotonic time (i.e.
> CLOCK_MONOTONIC in clock_gettime(2)) in μs, formatted as decimal string.

[sd_notify](https://www.freedesktop.org/software/systemd/man/latest/sd_notify.html)
now has code samples of the protocol to clarify.

Without these changes, if you'd set
Type=notify-reload on the agen'ts systemd unit, systemd
would kill the service due to the service not responding to reload
correctly.
2025-04-14 11:38:56 -04:00
Tim Gross
016b024f2d fix duplicate changelog entries for 1.10.0 (#25674)
In https://github.com/hashicorp/nomad/pull/25653 we updated the changelog but in
review we missed that the "unreleased" section for 1.10.0 had been left in
place. Remove that.
2025-04-14 09:24:52 -04:00
Piotr Kazmierczak
c917cc19ee chore: consolidated dependabot updates for 2025-04-14 (#25670) 2025-04-14 10:37:40 +02:00
Piotr Kazmierczak
36e91be7ee build: use nomad-builder docker image to build Nomad (#25626)
This introduces a docker image based off of ubuntu:bionic that can be used to
compile Nomad binary against glibc 2.27.

The image cannot build JS assets, which must be created before we compile the
Go binary.
2025-04-14 09:27:17 +02:00
James Rasell
85c30dfd1e test: Remove use of "mitchellh/go-testing-interface" for stdlib. (#25640)
The stdlib testing package now includes this interface, so we can
remove our dependency on the external library.
2025-04-14 07:43:49 +01:00
dependabot[bot]
4cb5a8bc0b chore(deps-dev): bump lint-staged from 11.2.6 to 15.5.1 in /ui
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 11.2.6 to 15.5.1.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v11.2.6...v15.5.1)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 15.5.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-13 10:08:16 +00:00