Commit Graph

18487 Commits

Author SHA1 Message Date
Mahmood Ali
a4e77ab80d update docs 2020-05-12 11:07:12 -04:00
Mahmood Ali
9aa10cc4cd use allow_runtimes for consistency
Other allow lists use allow_ prefix (e.g. allow_caps, allow_privileged).
2020-05-12 11:03:08 -04:00
Mahmood Ali
0f499a37ef Apply suggestions from code review
Co-authored-by: Tim Gross <tgross@hashicorp.com>
2020-05-12 10:56:47 -04:00
Mahmood Ali
e393e71ef8 more tests 2020-05-12 10:14:54 -04:00
Mahmood Ali
88ec571375 Add a knob to restrict docker runtimes 2020-05-12 10:14:43 -04:00
Chris Baker
a12cfc8060 Merge pull request #7928 from hashicorp/license-drop-tags
remove tags from api struct
2020-05-12 08:40:02 -05:00
Tim Gross
a28f18ea1d csi: support Secrets parameter in CSI RPCs (#7923)
CSI plugins can require credentials for some publishing and
unpublishing workflow RPCs. Secrets are configured at the time of
volume registration, stored in the volume struct, and then passed
around as an opaque map by Nomad to the plugins.
2020-05-11 17:12:51 -04:00
Drew Bailey
9dca54c45d remove tags from api struct 2020-05-11 16:38:35 -04:00
Tim Gross
d197a2a4c0 changelog entries for 0.11.2 CSI bugfixes and improvements (#7926) 2020-05-11 16:13:25 -04:00
Buck Doyle
61cddb4c01 Add changelog entry for exec ACL-checking (#7925) 2020-05-11 15:04:48 -05:00
Buck Doyle
8c3a210839 Add ACL-checking to turn off exec button (#7919)
This closes #7453. It adds an abstraction to handle the common
needs of ability-determination.
2020-05-11 14:43:17 -05:00
Mahmood Ali
55fa55c37f Merge pull request #7924 from hashicorp/b-codecgen-flags
Clarify Msgpack handling of json tags
2020-05-11 15:04:36 -04:00
Drew Bailey
572713d799 Merge pull request #7922 from hashicorp/disable-future-commands
disable license cli commands
2020-05-11 14:35:12 -04:00
Mahmood Ali
88808b2d30 When serializing msgpack, only consider codec tag
When serializing structs with msgpack, only consider type tags of
`codec`.

Hashicorp/go-msgpack (based on ugorji/go) defaults to interpretting
`codec` tag if it's available, but falls to using `json` if `codec`
isn't present.

This behavior is surprising in cases where we want to serialize json
differently from msgpack, e.g. serializing `ConsulExposeConfig`.
2020-05-11 14:14:10 -04:00
Mahmood Ali
4d271ce595 codec: we use hashicorp/go-msgpack exclusively
No need to maintain two msgpack handles!
2020-05-11 14:05:29 -04:00
Drew Bailey
92e8e1ace2 disable license cli commands 2020-05-11 13:49:29 -04:00
Seth Hoenig
b1e15ea0a4 Merge pull request #7921 from hashicorp/f-upgrade-e2e-consul
e2e: upgrade consul in packer setup to 1.7.3 from 1.6.1
2020-05-11 11:21:07 -06:00
Seth Hoenig
fd17d7edf5 e2e: upgrade consul in packer setup to 1.7.3 from 1.6.1
There have been a number of bug fixes and features particularly around
Connect that will help us in Nomad's e2e tests. Upgrade Consul in our
packer builder so e2e can make use of the new version.
2020-05-11 11:17:28 -06:00
Buck Doyle
8fb57c408c Add assertions for title-area buttons (#7836)
This closes #7452.
2020-05-11 11:29:30 -05:00
Mahmood Ali
521eed273b Add tests for running allocation client count (#7906)
* Add tests for running allocation client count

* remove redundant assertions
2020-05-11 12:28:31 -04:00
Tim Gross
338fd20bd2 csi: log fallthrough on invalid node IDs for client RPC (#7918)
When a CSI client RPC is given a specific node for a controller but
the lookup fails (because the node is gone or is an older version), we
fallthrough to select a node from all those available. This adds
logging to this case to aid in diagnostics.
2020-05-11 12:26:10 -04:00
Michael Lange
bda9e8408a Merge pull request #7896 from hashicorp/f-ui/csi-namespace-issue
UI: CSI namespace bugs
2020-05-11 09:22:32 -07:00
Tim Gross
3d6c088023 volumewatcher: stop watcher goroutines when there's no work (#7909)
The watcher goroutines will be automatically started if a volume has
updates, but when idle we shouldn't keep a goroutine running and
taking up memory.
2020-05-11 09:32:05 -04:00
Mahmood Ali
3ee7379b10 Merge pull request #7912 from hashicorp/f-scheduler-algorithm-followup
Scheduler Algorithm Defaults handling and docs
2020-05-11 09:30:58 -04:00
Mahmood Ali
9b83d2bd35 Merge pull request #7913 from hashicorp/deflake-TestTaskTemplateManager_BlockedEvents
Deflake TestTaskTemplateManager_BlockedEvents test
2020-05-11 09:30:44 -04:00
Mahmood Ali
22b5b96105 Merge pull request #7914 from hashicorp/b-csi-fix-slice-initialization
Fix slice initialization
2020-05-11 09:27:01 -04:00
Tim Gross
8192aa602e Periodic GC for volume claims (#7881)
This changeset implements a periodic garbage collection of CSI volumes
with missing allocations. This can happen in a scenario where a node
update fails partially and the allocation updates are written to raft
but the evaluations to GC the volumes are dropped. This feature will
cover this edge case and ensure that upgrades from 0.11.0 and 0.11.1
get any stray claims cleaned up.
2020-05-11 08:20:50 -04:00
James Rasell
62316a45c7 Merge pull request #7916 from hashicorp/changelog-7903
changelog: add entry for GH-7902
2020-05-11 13:15:58 +02:00
James Rasell
22478c5a90 changelog: add entry for GH-7902 2020-05-11 09:26:43 +02:00
James Rasell
64c4b49715 Merge pull request #7903 from hashicorp/b-gh-7902
api: validate scale count value is not negative.
2020-05-11 09:17:01 +02:00
Mahmood Ali
05ceecc2d9 Fix slice initialization 2020-05-09 21:35:42 -04:00
Mahmood Ali
aa3bc28f9c tests: ease debugging TestClientEndpoint_CreateNodeEvals
TestClientEndpoint_CreateNodeEvals flakes a bit but its output is very
confusing, as `structs.Evaluations` overrides GoString.

Here, we emit the entire struct of the evaluation, and hopefully we'll
figure out the problem the next time it happens
2020-05-09 16:04:32 -04:00
Mahmood Ali
a8124b247f avoid logging after a test completes 2020-05-09 14:40:00 -04:00
Mahmood Ali
8e655086ed Deflake TestTaskTemplateManager_BlockedEvents test
This change deflakes TestTaskTemplateManager_BlockedEvents test, because
it is expecting a number of events without accounting for transitional
state.

The test TestTaskTemplateManager_BlockedEvents attempts to ensure that a
template rendering emits blocked events for missing template ksys.

It works by setting a template that requires keys 0,1,2,3,4 and then
eventually sets keys 0,1,2,3 and ensures that we get a final event indicating
that keys 3 and 4 are still missing.

The test waits to get a blocked event for the final state, but it can
fail if receives a blocked event for a transitional state (e.g. one
reporting 2,3,4,5 are missing).

This fixes the test by ensuring that it waits until the final message
before assertion.

Also, it clarifies the intent of the test with stricter assertions and
additional comments.
2020-05-09 14:09:39 -04:00
Mahmood Ali
ad72ee93c9 handle upgrade path and defaults
Ensure that `""` Scheduler Algorithm gets explicitly set to binpack on
upgrades or on API handling when user misses the value.

The scheduler already treats `""` value as binpack.  This PR merely
ensures that the operator API returns the effective value.
2020-05-09 12:34:08 -04:00
Mahmood Ali
e9fe8a98df Document scheduler algorithm 2020-05-09 12:12:38 -04:00
Michael Lange
804029c9a2 The active namespace is now shared between jobs and storage 2020-05-08 17:35:27 -07:00
Michael Lange
c5b1fd3aa7 Changing namespaces now situationally redirects to jobs or volumes
Changing namespaces can be done anywhere in the app even though many
Nomad resources aren't namespace-sensitive (e.g., clients, plugins).

A user changing namespaces is an intent to reset context, "now I want
to begin a task that relates to Namespace X". Where that task begins
used to always be the Jobs list, since it was the only namespace
sensitive resource. Now with CSI Volumes, "square 1" is Volumes if the
namespace is changed from a storage page.
2020-05-08 17:35:27 -07:00
Michael Lange
d6986b70f0 Merge pull request #7895 from hashicorp/f-ui/csi-search-and-filter
UI: CSI Searchable volumes and plugins lists
2020-05-08 17:34:24 -07:00
Tim Gross
a334ba3555 volumewatcher: set maximum batch size for raft update (#7907)
The `volumewatcher` has a 250ms batch window so claim updates will not
typically be large enough to risk exceeding the maximum raft message
size. But large jobs might have enough volume claims that this could
be a danger. Set a maximum batch size of 100 messages per
batch (roughly 33K), as a very conservative safety/robustness guard.

Co-authored-by: Chris Baker <1675087+cgbaker@users.noreply.github.com>
2020-05-08 16:53:57 -04:00
Seth Hoenig
b6fc382d60 Merge pull request #7891 from hashicorp/docs-improve-connect-examples
docs: improve some connect examples
2020-05-08 09:50:31 -06:00
Tim Gross
0940a50eaf volume_mount doc tweak (#7900) 2020-05-08 11:14:16 -04:00
Seth Hoenig
320a757323 Merge pull request #7892 from hashicorp/f-e2e-connect-use-expose-service-check
e2e: set an expose service check in connect e2e testcase
2020-05-08 09:00:35 -06:00
James Rasell
3c6235b6df api: validate scale count value is not negative.
An operator could submit a scale request including a negative count
value. This negative value caused the Nomad server to panic. The
fix adds validation to the submitted count, returning an error to
the caller if it is negative.
2020-05-08 16:51:40 +02:00
Michael Lange
79327c9d96 Introduce shallow to plugin factories to speed up tests 2020-05-07 17:29:42 -07:00
Michael Lange
dc8c125202 Searchable plugins 2020-05-07 17:25:24 -07:00
Michael Lange
a4ea5b16e5 Searchable volumes 2020-05-07 16:57:51 -07:00
Mahmood Ali
6319db4115 Update current DST and some code style issues 2020-05-07 19:27:05 -04:00
Mahmood Ali
702d69ff3a Update cronexpr to point to hashicorp/cronexpr 2020-05-07 17:50:45 -04:00
Mahmood Ali
fc2e6717de tests for periodic job scheduling and DST 2020-05-07 17:36:59 -04:00