Commit Graph

23698 Commits

Author SHA1 Message Date
Ashlee M Boyer
faa5b4cf65 docs: Fixing heading order, adding text for links in /docs/ecosystem (#14549)
* Fixing heading order, adding text for links

* Apply suggestions from code review

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

* Applying more suggestions from code review

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2022-09-13 10:59:02 -04:00
Seth Hoenig
2530086050 Merge pull request #14553 from hashicorp/f-nsd-check-watcher
servicedisco: implement check_restart support for nomad service checks
2022-09-13 09:55:51 -05:00
Tim Gross
7bdca2e30b changelog entry for variables (#14509) 2022-09-13 10:25:26 -04:00
Tim Gross
93a147e482 docs: include path in ACL requirements for variables (#14561)
Also add links to the ACL policy reference and variables concepts docs near the
top of the page.
2022-09-13 10:21:29 -04:00
Tim Gross
9ea8ca4aa5 docs: variables HTTP API documentation (#14516) 2022-09-13 10:18:26 -04:00
Charlie Voiselle
ce03548d84 var: Correct 0-index CAS Deletes (#14555)
* Add missing 0 case for VarDeleteCAS, more comments
* Add tests for VarDeleteCAS
2022-09-13 10:12:08 -04:00
James Rasell
d4e1faa9b3 api: update keyring comment to reflect correct feature name. (#14558) 2022-09-13 10:05:03 -04:00
Seth Hoenig
e94782527a servicedisco: implement check_restart for nomad service checks
This PR implements support for check_restart for checks registered
in the Nomad service provider.

Unlike Consul, Nomad service checks never report a "warning" status,
and so the check_restart.ignore_warnings configuration is not valid
for Nomad service checks.
2022-09-13 08:59:23 -05:00
Tim Gross
0437bf384b docs: keyring HTTP API documentation (#14513) 2022-09-13 09:46:54 -04:00
Seth Hoenig
a3971f89a7 Merge pull request #14546 from hashicorp/f-refactor-check-watcher
client: refactor check watcher to be reusable
2022-09-13 07:32:32 -05:00
James Rasell
ea56e11e96 e2e: do not assume clean cluster when checking return objects. (#14557) 2022-09-13 14:25:19 +02:00
Phil Renaud
79e177dada [ui] Service health check in-session history (#14515)
* Preliminary version

* Addition of a filtering helper and more styling for service check history

* Fixed-widths on table cols

* Account for new rows in test

* Explanation for magic numbers
2022-09-12 22:10:43 -04:00
Charlie Voiselle
df04cd15d6 Variables CLI documentation (#14249) 2022-09-12 16:44:31 -04:00
Tim Gross
776f2c0a2d variables: restrict allowed paths for variables (#14547)
Restrict variable paths to RFC3986 URL-safe characters that don't conflict with
the use of characters "@" and "." in `template` blocks. This prevents users from
writing variables that will require tricky templating syntax or that they simply
won't be able to use.

Also restrict the length so that a user can't make queries in the state store
unusually expensive (as they are O(k) on the key length).
2022-09-12 16:37:33 -04:00
Tim Gross
6574717c55 docs: update template for Nomad Variables (#14527) 2022-09-12 16:36:18 -04:00
Tim Gross
31c8e9c062 variables: change spec file extension to match rename (#14552)
Also fixes a typo in the `var put` help text.
2022-09-12 16:26:18 -04:00
Charlie Voiselle
33aab65b2b Update flags to align with other var commands. (#14550) 2022-09-12 15:26:12 -04:00
Phil Renaud
9b6fdcc826 On window blur, immediately hide keyboard hints (#14529)
* On window blur, immediately hide keyboard hints

* De-param
2022-09-12 15:10:43 -04:00
Seth Hoenig
aab1ae646e client: refactor check watcher to be reusable
This PR refactors agent/consul/check_watcher into client/serviceregistration,
and abstracts away the Consul-specific check lookups.

In doing so we should be able to reuse the existing check watcher logic for
also watching NSD checks in a followup PR.

A chunk of consul/unit_test.go is removed - we'll cover that in e2e tests
in a follow PR if needed. In the long run I'd like to remove this whole file.
2022-09-12 10:13:31 -05:00
Phil Renaud
a62a6542e0 [ui] Service Discovery: provide a quick link to the Consul UI if available (#14537)
* Test for aggregate service health and consul agg service health

* If a consul UI link is present, show a nice little link

* Also add to job services page

* Reallocate consul url in mock
2022-09-12 10:00:30 -04:00
James Rasell
23dd15819a acl: fix encoding expiration time in ACL token list API. (#14542) 2022-09-12 15:50:35 +02:00
Derek Strickland
6bca91e749 job_endpoint: check spec for all regions (#14519)
* job_endpoint: check spec for all regions
2022-09-12 09:24:26 -04:00
Charlie Voiselle
39a3fd652c Vars: CLI commands for var get, var put, var purge (#14400)
* Includes updates to `var init`
2022-09-09 17:55:20 -04:00
Tim Gross
8ff79d8a2d CI: make make check clean on macOS (#14528)
Running `make check` on macOS identifies some dead code because the code is used
only with the Linux build tag. Move this code into appropriately-tagged code
files.
2022-09-09 12:26:34 -04:00
James Rasell
d2acbd8bdf changelog: add entry for #14320 (#14518) 2022-09-09 17:25:50 +02:00
Seth Hoenig
87f5eea52b Merge pull request #14464 from tonytrg/remove-dead-code
Removing reference to non existant test-website task in makefile
2022-09-09 09:35:33 -05:00
Seth Hoenig
b12f0df776 Merge pull request #14525 from hashicorp/cleanup-workload-restart-interface
cleanup: consolidate interfaces for workload restarting
2022-09-09 09:22:30 -05:00
Seth Hoenig
b1ca985f1e Merge pull request #14520 from hashicorp/f-ec2info-from-makefile
build: make ec2info command usable from GNUMakefile
2022-09-09 09:03:10 -05:00
Seth Hoenig
52b3273b5d cleanup: consolidate interfaces for workload restarting
This PR combines two of the same interface definitions around workload restarting
2022-09-09 08:59:04 -05:00
Seth Hoenig
fbec815e41 build: make ec2info command usable from GNUMakefile
The ec2info was never intuitive to run - needing to set the AWS
envinronment variables, cd'ing into tools/ec2info, and knowing
to invoke the command.

This PR makes it so we can run ec2info just by running
make ec2info

The command now also checks for the AWS environment variables being
set, and provides a useful error if they are not.
2022-09-09 08:48:12 -05:00
Tim Gross
0c82b1dec9 remove root keyring install API (#14514)
* keyring rotate API should require put/post method
* remove keyring install API
2022-09-09 08:50:35 -04:00
James Rasell
1db203f416 e2e: fixup service discovery and ACL expiration tests. (#14517)
The NSD checks tests were racey, whereby the check may not have
been triggered by the time it was queried. This change wraps the
check so it can account for this.

This removes the current ACL expiration GC section in order to get
the tests passing and allow more time to investigate the test. I
have full confidence the feature is working as expected and have
tested extensively locally.
2022-09-09 14:27:40 +02:00
James Rasell
ac5f63f21e deps: update armon/go-metrics to v0.4.1 (#14493) 2022-09-09 09:20:55 +02:00
Phil Renaud
c83e52e469 Merge pull request #14495 from hashicorp/ui-services-checks-uniq-by-alloc
[ui] Service health checks unique by allocation
2022-09-08 17:00:04 -04:00
Phil Renaud
7b31757ed6 Reflect alloc-id-having mocks in tests 2022-09-08 16:03:56 -04:00
Charlie Voiselle
61a6dbcfcb Add client scheduling eligibility to heartbeat (#14483) 2022-09-08 14:31:36 -04:00
Phil Renaud
b69219d228 Lintfixes 2022-09-08 13:54:50 -04:00
Tim Gross
f2186be02c CSI: failed allocation should not block its own controller unpublish (#14484)
A Nomad user reported problems with CSI volumes associated with failed
allocations, where the Nomad server did not send a controller unpublish RPC.

The controller unpublish is skipped if other non-terminal allocations on the
same node claim the volume. The check has a bug where the allocation belonging
to the claim being freed was included in the check incorrectly. During a normal
allocation stop for job stop or a new version of the job, the allocation is
terminal. But allocations that fail are not yet marked terminal at the point in
time when the client sends the unpublish RPC to the server.

For CSI plugins that support controller attach/detach, this means that the
controller will not be able to detach the volume from the allocation's host and
the replacement claim will fail until a GC is run. This changeset fixes the
conditional so that the claim's own allocation is not included, and makes the
logic easier to read. Include a test case covering this path.

Also includes two minor extra bugfixes:

* Entities we get from the state store should always be copied before
altering. Ensure that we copy the volume in the top-level unpublish workflow
before handing off to the steps.

* The list stub object for volumes in `nomad/structs` did not match the stub
object in `api`. The `api` package also did not include the current
readers/writers fields that are expected by the UI. True up the two objects and
add the previously undocumented fields to the docs.
2022-09-08 13:30:05 -04:00
Phil Renaud
2a8c8c2bac Index check only using alloc-specific ones too 2022-09-08 12:03:08 -04:00
Phil Renaud
f81faa9c48 Move uniquing to the sidebar itself 2022-09-08 11:31:38 -04:00
James Rasell
6a6e4a3634 client: fix RPC forwarding when querying checks for alloc. (#14498)
When querying the checks for an allocation, the request must be
forwarded to the agent that is running the allocation. If the
initial request is made to a server agent, the request can be made
directly to the client agent running the allocation. If the
request is made to a client agent not running the alloc, the
request needs to be forwarded to a server and then the correct
client.
2022-09-08 16:55:23 +02:00
Seth Hoenig
1d9c9964f9 Merge pull request #14497 from hashicorp/b-guard-random-stagger
helper: guard against negative inputs into random stagger
2022-09-08 09:44:56 -05:00
Tim Gross
3dab0249b4 test: fix concurrent map access in TestStatsFetcher (#14496)
The map of in-flight RPCs gets cleared by a goroutine in the test without first
locking it to make sure that it's not being accessed concurrently by the stats
fetcher itself. This can cause a panic in tests.
2022-09-08 10:41:15 -04:00
Seth Hoenig
75b30c2210 helper: guard against negative inputs into random stagger
This PR modifies RandomStagger to protect against negative input
values. If the given interval is negative, the value returned will
be somewhere in the stratosphere. Instead, treat negative inputs
like zero, returning zero.
2022-09-08 09:17:48 -05:00
James Rasell
22403d357c e2e: fixup token expiration test to account for longer forced GC. (#14491) 2022-09-08 14:43:04 +02:00
Michael Schurter
cde9f6c594 docs: add quota panic fix changelog entry (#14485)
See https://github.com/hashicorp/nomad-enterprise/pull/839 for original
(Enterprise only)
2022-09-07 17:04:46 -07:00
Phil Renaud
dd44596c36 Midway point on only showing alloc-specific checks 2022-09-07 15:35:58 -04:00
Phil Renaud
0029de8a5f Merge pull request #14408 from hashicorp/f-ui/service-discovery
Service discovery in the Nomad UI
2022-09-07 13:40:09 -04:00
Phil Renaud
e9169e1b07 Remove an unused internal test comment 2022-09-07 13:39:04 -04:00
Phil Renaud
9a1d72109c Further unused test deletion 2022-09-07 10:34:09 -04:00