Commit Graph

27545 Commits

Author SHA1 Message Date
Dmitrii Andreev
4f1e7f56d1 client: enhance CNI address handling for backward compatibility
Add fallback logic in cniToAllocNet to populate the Address field with the IPv6 address when no IPv4 address is available. This change ensures compatibility with existing code that relies on the Address field for service registration, particularly in scenarios where only IPv6 addresses are present.
2025-10-09 12:59:25 +03:00
Dmitrii Andreev
b9bda8f2c1 client: enhance CNI allocation tests for IPv6 and dualstack scenarios
Add multiple test cases to validate the behavior of CNI allocation when handling IPv6-only and dualstack configurations. The new tests ensure that the first address is selected correctly from multiple addresses across interfaces, maintaining consistent behavior with IPv4. This improves coverage for edge cases in CNI result processing and reinforces the recent fixes for IPv6 support.
2025-10-09 12:58:55 +03:00
Dmitrii Andreev
c588527ae4 added changelog entry 2025-10-09 12:56:29 +03:00
Dmitrii Andreev
1136fd342c client: fix IPv6-only CNI interface support
Fix a regression introduced in Nomad 1.9.0 where CNI bridge networking with
IPv6-only interfaces would fail with 'no interface with an address' error.

The issue was that while the code correctly populated the AddressIPv6 field
for IPv6 addresses, several validation checks only examined the Address field
(IPv4), causing IPv6-only configurations to be rejected.

Changes:
- Update interface selection logic in cniToAllocNet to accept interfaces with
  either IPv4 or IPv6 addresses (not just IPv4)
- Update fallback logic to check both Address and AddressIPv6 fields
- Update error check to only fail when both IPv4 and IPv6 are missing
- Update AllocNetworkStatus.IsZero() to check AddressIPv6 field

This allows CNI configurations with IPv6-only interfaces to work correctly,
restoring functionality from Nomad 1.8.x.

Fixes #26905
2025-10-08 18:12:14 +03:00
Dmitrii Andreev
d058761dc7 client: add test for IPv6-only CNI interfaces
Add a test case to verify that CNI results containing only IPv6 addresses
are handled correctly. This is a regression test for a bug introduced in
GH-23882 where IPv6-only interfaces would fail with 'no interface with an
address' error.

The test verifies that when a CNI plugin returns only an IPv6 address
(without IPv4), the allocation network status should be properly populated
with the IPv6 address in the AddressIPv6 field.
2025-10-08 18:12:13 +03:00
dependabot[bot]
df4e97dc94 chore(deps): bump github.com/hashicorp/vault/api from 1.20.0 to 1.22.0 (#26897)
Bumps [github.com/hashicorp/vault/api](https://github.com/hashicorp/vault) from 1.20.0 to 1.22.0.
- [Release notes](https://github.com/hashicorp/vault/releases)
- [Changelog](https://github.com/hashicorp/vault/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/vault/compare/v1.20.0...api/v1.22.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/vault/api
  dependency-version: 1.22.0
  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-10-08 10:00:47 -04:00
dependabot[bot]
d4694f1643 chore(deps): bump github.com/hashicorp/raft from 1.6.0 to 1.7.3 (#26898)
Bumps [github.com/hashicorp/raft](https://github.com/hashicorp/raft) from 1.6.0 to 1.7.3.
- [Release notes](https://github.com/hashicorp/raft/releases)
- [Changelog](https://github.com/hashicorp/raft/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/raft/compare/v1.6.0...v1.7.3)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/raft
  dependency-version: 1.7.3
  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-10-08 10:00:34 -04:00
dependabot[bot]
ee88f65316 chore(deps): bump github.com/aws/aws-sdk-go-v2/config (#26894)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.31.6 to 1.31.12.
- [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.31.6...config/v1.31.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.31.12
  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>
2025-10-08 14:01:18 +01:00
dependabot[bot]
91bed1fcc8 chore(deps): bump github.com/docker/cli (#26896)
Bumps [github.com/docker/cli](https://github.com/docker/cli) from 28.3.3+incompatible to 28.5.0+incompatible.
- [Commits](https://github.com/docker/cli/compare/v28.3.3...v28.5.0)

---
updated-dependencies:
- dependency-name: github.com/docker/cli
  dependency-version: 28.5.0+incompatible
  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-10-08 13:01:59 +01:00
dependabot[bot]
a143167903 chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds (#26895)
Bumps [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2) from 1.18.7 to 1.18.9.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.9/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.7...config/v1.18.9)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
  dependency-version: 1.18.9
  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>
2025-10-08 08:45:29 +01:00
Brendan MacDonell
26485c45a2 Add job_max_count option to keep Nomad server from running out of memory (#26858)
If a Nomad job is started with a large number of instances (e.g. 4 billion),
then the Nomad servers that attempt to schedule it will run out of memory and
crash. While it's unlikely that anyone would intentionally schedule a job with 4
billion instances, we have occasionally run into issues with bugs in external
automation. For example, an automated deployment system running on a test
environment had an off-by-one error, and deployed a job with count = uint32(-1),
causing the Nomad servers for that environment to run out of memory and crash.

To prevent this, this PR introduces a job_max_count Nomad server configuration
parameter. job_max_count limits the number of allocs that may be created from a
job. The default value is 50000 - this is low enough that a job with the maximum
possible number of allocs will not require much memory on the server, but is
still much higher than the number of allocs in the largest Nomad job we have
ever run.
2025-10-06 09:35:10 -04:00
Piotr Kazmierczak
48863bda8a client: upgrade consul-template to include template hashing bugfix (#26880)
This pulls latest consul-template to include the
https://github.com/hashicorp/consul-template/pull/2096 bugfix.
2025-10-03 15:18:42 +02:00
dependabot[bot]
dbdc6d522e chore(deps): bump github.com/hashicorp/consul/api from 1.32.1 to 1.32.4 (#26846)
Bumps [github.com/hashicorp/consul/api](https://github.com/hashicorp/consul) from 1.32.1 to 1.32.4.
- [Release notes](https://github.com/hashicorp/consul/releases)
- [Changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/consul/compare/api/v1.32.1...api/v1.32.4)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/consul/api
  dependency-version: 1.32.4
  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>
2025-10-03 11:23:02 +02:00
dependabot[bot]
91bd92191f chore(deps): bump github.com/hashicorp/consul/sdk from 0.16.2 to 0.16.3 (#26819)
Bumps [github.com/hashicorp/consul/sdk](https://github.com/hashicorp/consul) from 0.16.2 to 0.16.3.
- [Release notes](https://github.com/hashicorp/consul/releases)
- [Changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/consul/compare/sdk/v0.16.2...sdk/v0.16.3)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/consul/sdk
  dependency-version: 0.16.3
  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>
2025-10-03 10:13:04 +01:00
Chase Naples
2d6629b9dc build: add architecture detection to CNI makefile target (#26877)
The 'cni' make target was hardcoded to download amd64 CNI plugins,
which prevented users on arm64/aarch64 systems from using this target.

This change adds automatic architecture detection that maps the
system architecture (from uname -m) to the appropriate CNI plugin
architecture:
- x86_64 -> amd64 (existing behavior)
- aarch64 -> arm64 (new support)

The implementation uses the existing THIS_ARCH variable already
defined in the Makefile, ensuring consistency with other build
targets.

Fixes #26864
2025-10-03 10:47:49 +02:00
Piotr Kazmierczak
c7233854b9 build: upgrade to Go 1.25.1 (#26823) 2025-10-03 08:59:12 +02:00
James Rasell
bdf023afaa server: Log contextual server parts when Serf node joins or leaves. (#26848)
When a Nomad server joined or left the cluster via Serf, we emit
a log message to indicate this. It was previously using a single
kv context to detail the server name, dc, and address which likely
was created before the switch to hclog and use of contextual
logging.

This change splits the log message, so that each server part is
a kv entry, which will be easier to parse with log collecting
tools.
2025-10-03 07:30:49 +01:00
Allison Larson
e40164abce Add preserve-resources flag (#26841)
* Add preserve-resources flag when registering a job

* Add preserve-resources flag to website docs

* Add changelog

* Update tests, docs

* Preserve counts & resources in fsm

* Update doc

* Update preservation of resources/count to happen in StateStore
2025-10-02 13:56:59 -07:00
Piotr Kazmierczak
b22b7ab273 e2e: correction to assertions in system scheduler tests (#26875) 2025-10-02 21:10:46 +02:00
Michael Smithhisler
696ad4789e vault: default tlsSkipVerify to false (#26664)
The transit keyring uses the go-kms-wrapper for parsing the vault config
and errors if tlsSkipVerify is an empty string.

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-10-02 12:28:05 -04:00
Tim Gross
566164a321 state: nil-check waiting evals before attempting to cancel them (#26872)
When we attempt to drop unneeded evals from the eval broker, if the eval has
been GC'd before the check is made, we hit a nil pointer. Check that the eval
actually exists before attempting to remove it from the broker.

Fixes: https://github.com/hashicorp/nomad/issues/26871
2025-10-02 12:24:59 -04:00
Piotr Kazmierczak
3f7cf0b287 e2e: re-enable system scheduler tests (#26869)
Do not merge until #26868 lands.
2025-10-02 16:18:41 +02:00
Piotr Kazmierczak
f9b95ae896 scheduler: account for infeasible nodes when reconciling system jobs (#26868)
Node reconciler never took node feasibility into account. In cases when
there were nodes excluded from allocation placement due to constraints
not being met, for example, the desired total or desired canary numbers
were never updated in the reconciler to account for that. Thus,
deployments would never become successful.
2025-10-02 16:17:46 +02:00
James Rasell
c3dbb1c589 e2e: Add ability to skip known bad Consul versions in compat test. (#26867)
If the latest Consul version has known bugs that cause failures of
the test suite, it is useful to be able to skip this. Otherwise,
CI will fail on all PRs and release branches until a new version
is released.
2025-10-02 14:27:17 +01:00
Michael Smithhisler
f2b831a430 docs: add job spec and plugin authoring pages for secrets (#26529)
---------

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-10-01 10:46:12 -04:00
Piotr Kazmierczak
2f2a9eb4ce chore: manual go-getter update (#26861) 2025-10-01 10:34:09 +02:00
dependabot[bot]
c89e0dcb43 chore(deps): bump github.com/prometheus/client_golang (#26844)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.23.0 to 1.23.2.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.2)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-version: 1.23.2
  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>
2025-10-01 08:49:52 +02:00
Chris Roberts
1cf8d35245 docs: fix broken link for plugin guide (#26843) 2025-09-30 09:21:28 -05:00
Piotr Kazmierczak
eaa0fe0e27 scheduler: always set the right deployment status for system jobs that require promotion (#26851)
In cases where system jobs had the same amount of canary allocations
deployed as there were eligible nodes, the scheduler would incorrectly
mark the deployment as complete, as if auto promotion was set. This edge
case uncovered a bug in the setDeploymentStatusAndUpdates method, and
since we round up canary nodes, it may not be such an edge case
afterall.

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-09-30 09:18:59 +02:00
James Rasell
e6a04e06d1 acl: Check for duplicate or invalid keys when writing new policies (#26836)
ACL policies are parsed when creating, updating, or compiling the
resulting ACL object when used. This parsing was silently ignoring
duplicate singleton keys, or invalid keys which does not grant any
additional access, but is a poor UX and can be unexpected.

This change parses all new policy writes and updates, so that
duplicate or invalid keys return an error to the caller. This is
called strict parsing. In order to correctly handle upgrades of
clusters which have existing policies that would fall foul of the
change, a lenient parsing mode is also available. This allows
the policy to continue to be parsed and compiled after an upgrade
without the need for an operator to correct the policy document
prior to further use.

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-09-30 08:16:59 +01:00
James Rasell
250b8f9d07 server: Gate node identity generation on server min version. (#26847) 2025-09-29 15:17:00 +01:00
James Rasell
0f88530bd8 server: Gate node introduction generation on server min version. (#26849) 2025-09-29 14:30:40 +01:00
James Rasell
f5c563155e server: Only generate identities for nodes that meet min version. (#26842)
In a cluster where the Nomad servers have been upgraded before the
clients, the cluster leader will generate an identity for each
client at every heartbeat. The clients will not have the code path
to handle this response, so the object is thrown away. This wastes
server resources.

This change introduces a minimum version check to the logic which
decides whether an identity should be generated. In the situation
above, the leader will now decline to generate identities for Nomad
clients running pre-1.11 versions.
2025-09-26 14:38:39 +01:00
James Rasell
61a4a02166 docs: Add node identity concepts page and other missing items. (#26830)
Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-09-26 07:44:58 +01:00
Daniel Bennett
bdf08e1461 e2e: ui: fix playwright tag once and for all (#26840)
I don't ever want to see this error again:

```
Error: browserType.launch: Executable doesn't exist at /ms-playwright/chromium_headless_shell-1193/chrome-linux/headless_shell
╔══════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just updated to 1.55.1. ║
║ Please update docker image as well.                                  ║
║ -  current: mcr.microsoft.com/playwright:v1.55.0-jammy               ║
║ - required: mcr.microsoft.com/playwright:v1.55.1-jammy               ║
║                                                                      ║
║ <3 Playwright Team                                                   ║
╚══════════════════════════════════════════════════════════════════════╝

   at global-setup.js:20

  18 |   }
  19 |
> 20 |   const browser = await chromium.launch();
     |                                  ^
  21 |   const context = await browser.newContext({ ignoreHTTPSErrors: true });
  22 |   const page = await context.newPage();
  23 |   await page.goto(NOMAD_ADDR+'/ui/settings/tokens');
    at module.exports (/src/global-setup.js:20:34)
```

I'm sure this will be the end of it!
2025-09-25 13:02:49 -04:00
Tim Gross
9bc2190508 CSI: serialize node plugin RPCs per-volume (#26832)
In #26831 we're preventing unexpected node RPCs by ensuring that the volume
watcher only unpublishes when allocations are client-terminal.

To mitigate any remaining similar issues, add serialization of node plugin RPCs,
as we did for controller plugin RPCs in #17996 and as recommended ("SHOULD") by
the CSI specification. Here we can do per-volume serialization rather than
per-plugin serialization.

Reorder the methods of the `volumeManager` in the client so that each interface
method and its directly-associated helper methods read from top-to-bottom,
instead of a mix of directions.

Ref: https://github.com/hashicorp/nomad/pull/17996
Ref: https://github.com/hashicorp/nomad/pull/26831
2025-09-25 11:29:44 -04:00
Tim Gross
fbcdb125da end-to-end testing improvements for CSI (#26834)
While working on #26831 and #26832 I made some minor improvements to our
end-to-end test setup for CSI:

* bump the AWS EBS plugin versions to latest release (1.48.0)
* remove the unnnecessary `datacenters` field from the AWS EBS plugin jobs
* add a name tag to the EBS volumes we create
* add a user-specific name tag to the cluster name when using the makefile to
  deploy a cluster
* add volumes and other missing variables from the `provision-infra` module to
  the main E2E module

Ref: https://github.com/hashicorp/nomad/pull/26832
Ref: https://github.com/hashicorp/nomad/pull/26831
2025-09-25 09:27:15 -04:00
Tim Gross
40241b261b CSI: ensure only client-terminal allocs are treated as past claims (#26831)
The volume watcher checks whether any allocations that have claims are terminal
so that it knows if it's safe to unpublish the volume. This check was
considering a claim as unpublishable if the allocation was terminal on either
the server or client, rather than the client alone. In many circumstances this
is safe.

But if an allocation takes a while to stop (ex. it has a `shutdown_delay`), it's
possible for garbage collection to run in the window between when the alloc is
marked server-terminal and when the task is actually stopped. The server
unpublishes the volume which sends a node plugin RPC. The plugin unmounts the
volume while it's in use, and then unmounts it again when the allocation stops
and the CSI postrun hook runs. If the task writes to the volume during the
unmounting process, some providers end up in a broken state and the volume is
not usable unless it's detached and reattached.

Fix this by considering a claim a "past claim" only when the allocation is
client terminal. This way if garbage collection runs while we're waiting for
allocation shutdown, the alloc will only be server-terminal and we won't send
the extra node RPCs.

Fixes: https://github.com/hashicorp/nomad/issues/24130
Fixes: https://github.com/hashicorp/nomad/issues/25819
Ref: https://hashicorp.atlassian.net/browse/NMD-1001
2025-09-25 09:24:53 -04:00
James Rasell
c80c60965f node pool: Allow specifying node identity ttl in HCL or JSON spec. (#26825)
The node identity TTL defaults to 24hr but can be altered by
setting the node identity TTL parameter. In order to allow setting
and viewing the value, the field is now plumbed through the CLI
and HTTP API.

In order to parse the HCL, a new helper package has been created
which contains generic parsing and decoding functionality for
dealing with HCL that contains time durations. hclsimple can be
used when this functionality is not needed. In order to parse the
JSON, custom marshal and unmarshal functions have been created as
used in many other places.

The node pool init command has been updated to include this new
parameter, although commented out, so reference. The info command
now includes the TTL in its output too.
2025-09-24 14:20:34 +01:00
Aimee Ukasick
6d4c8b3efe Update CODEOWNERS (#26827)
change web-presence to web-devdot so web engineers not on the devdot team don't get assigned
2025-09-23 09:22:23 -05:00
Daniel Bennett
1d6fddd11f build: ui: setup-node v4.4.0 (#26826)
for actions/cache upgrade, specifically to account for
https://github.com/actions/toolkit/discussions/1890
2025-09-22 15:35:09 -04:00
dependabot[bot]
ccd497b46f chore(deps): bump github.com/shoenig/go-m1cpu from 0.1.6 to 0.1.7 (#26817)
Bumps [github.com/shoenig/go-m1cpu](https://github.com/shoenig/go-m1cpu) from 0.1.6 to 0.1.7.
- [Release notes](https://github.com/shoenig/go-m1cpu/releases)
- [Commits](https://github.com/shoenig/go-m1cpu/compare/v0.1.6...v0.1.7)

---
updated-dependencies:
- dependency-name: github.com/shoenig/go-m1cpu
  dependency-version: 0.1.7
  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>
2025-09-22 09:58:50 +02:00
dependabot[bot]
63e4376d3c chore(deps): bump golang.org/x/mod from 0.27.0 to 0.28.0 (#26814)
Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.27.0 to 0.28.0.
- [Commits](https://github.com/golang/mod/compare/v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-version: 0.28.0
  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-09-22 09:58:28 +02:00
Tim Gross
b5530128df docs: expand on allocation GC details (#26792)
Expand on the documentation of allocation garbage collection:
* Explain that server-side GC of allocations is tied to the GC of the
evaluation that spawned the allocation.
* Explain that server-side GC of allocations will force them to be immediately
GC'd on the client regardless of the client-side configurations.

Ref: https://github.com/hashicorp/nomad/issues/26765

Co-authored-by: Aimee Ukasick <Aimee.Ukasick@ibm.com>
Co-authored-by: Daniel Bennett <dbennett@hashicorp.com>
2025-09-19 12:17:17 -04:00
Aimee Ukasick
377674f93e Contributing README: Add section for creating an issue (#26805)
* Add section for creating an issue

* incorporate feedback

Co-authored-by: Tim Gross <tgross@hashicorp.com>

* Update contributing/README.md

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-09-19 10:49:54 -05:00
Piotr Kazmierczak
ceeee1f68c e2e: set longer job submission time for failing system jobs (#26809)
I cannot replicate this locally, but it appears that on CI some of our
system jobs take longer than the default 20s to finish deploying. This
PR is just to make sure this isn't the reason these tests fail.
2025-09-19 17:25:53 +02:00
Tim Gross
0367b60ca9 changelog for Nomad Enterprise 1.9.13+ent and 1.8.17+ent (#26806)
Due to the delayed release of Nomad Enterprise, we didn't have the changelog
entries for these two releases.
2025-09-19 11:22:58 -04:00
Piotr Kazmierczak
f767db5639 e2e: fix TestScaling/TestScaling_System (#26804) 2025-09-19 15:31:32 +02:00
James Rasell
8e553ad95b build: Add tzdata to Docker container final image. (#26794)
Nomad's periodic block includes a "time_zone" parameter which lets
operators set the time zone at which the next launch interval is
checked against. For this to work, Nomad needs to use the
"time.LoadLocation" which in-turn can use multiple TZ data sources.

When using the Docker image to trigger Nomad job registrations, it
currently does not have access to any TZ data, meaning it is only
aware of UTC. Adding the tzdata package contents to the release
image provides the required data for this to work.

It would have also been possible to set the "-tags" build tag when
releasing Nomad which would embed a copy of the timezone database
in the code. We decided against using the build tag approach as it
is a subtle way that we could introduce bugs that are very
difficult to track down and we prefer the commit approach.
2025-09-19 08:55:57 +01:00
ethel-hashicorp
6ea57a589d SMRE-733: Updates post-install text to properly reflect the updated IPLA blurb (#26791) 2025-09-19 07:35:58 +01:00