Commit Graph

18208 Commits

Author SHA1 Message Date
Tim Gross
09a27f9e18 csi: use a blocking initial connection with timeout (#7965)
The plugin supervisor lazily connects to plugins, but this means we
only get "Unavailable" back from the gRPC call in cases where the
plugin can never be reached (for example, if the Nomad client has the
wrong permissions for the socket).

This changeset improves the operator experience by switching to a
blocking `DialWithContext`. It eagerly connects so that we can
validate the connection is real and get a "failed to open" error in
case where Nomad can't establish the initial connection.
2020-05-15 08:17:11 -04:00
Tim Gross
103d873ebe csi: support for VolumeContext and VolumeParameters (#7957)
The MVP for CSI in the 0.11.0 release of Nomad did not include support
for opaque volume parameters or volume context. This changeset adds
support for both.

This also moves args for ControllerValidateCapabilities into a struct.
The CSI plugin `ControllerValidateCapabilities` struct that we turn
into a CSI RPC is accumulating arguments, so moving it into a request
struct will reduce the churn of this internal API, make the plugin
code more readable, and make this method consistent with the other
plugin methods in that package.
2020-05-15 08:16:01 -04:00
Chris Baker
f2210cedd9 Merge pull request #7972 from hashicorp/0-11-3-return-to-dev
post-release merge
2020-05-14 17:31:45 -05:00
Chris Baker
ba44430d83 Merge pull request #7973 from hashicorp/update-webiste-version
update website current version to 0.11.2
2020-05-14 17:31:36 -05:00
Chris Baker
0fbbb395a7 update website current version to 0.11.2 2020-05-14 22:03:43 +00:00
Chris Baker
96e77d3c0a release: prep for 0.11.3 dev cycle 2020-05-14 21:52:46 +00:00
Nomad Release Bot
de393e8c2b remove generated files 2020-05-14 21:25:38 +00:00
Nomad Release Bot
34c044e96b Release v0.11.2 2020-05-14 21:25:30 +00:00
Nomad Release bot
807cfebe90 Generate files for 0.11.2 release 2020-05-14 20:49:42 +00:00
Tim Gross
eb2f77a011 csi: use a blocking initial connection with timeout
The plugin supervisor lazily connects to plugins, but this means we
only get "Unavailable" back from the gRPC call in cases where the
plugin can never be reached (for example, if the Nomad client has the
wrong permissions for the socket).

This changeset improves the operator experience by switching to a
blocking `DialWithContext`. It eagerly connects so that we can
validate the connection is real and get a "failed to open" error in
case where Nomad can't establish the initial connection.
2020-05-14 15:59:19 -04:00
Chris Baker
32ea625389 updated changelog with #7959 2020-05-14 19:27:11 +00:00
Chris Baker
aa0cbf7876 Merge remote-tracking branch 'origin/master' into release-0.11.2 2020-05-14 19:26:03 +00:00
Buck Doyle
f491c86d91 Change exec URL-generation to use Ember get (#7963)
This fixes a bug in #7815 where you can’t open an exec window from
the allocation overview because accessing `allocation.job.plainId`
fails across the proxied relationship.
2020-05-14 14:09:09 -05:00
Mahmood Ali
82e977bc02 Merge pull request #7961 from hashicorp/b-always-validate-default-scheduler-config
always check `default_scheduler_config` config
2020-05-14 14:35:06 -04:00
Mahmood Ali
1d43126e00 always check default_scheduler_config config
Also, avoid early return on validation to avoid masking some validation
bugs in dev setup.
2020-05-14 14:16:12 -04:00
Jeff Escalante
1b54e065d4 final deps update, fix some anchor link aliases 2020-05-14 14:10:52 -04:00
Jeff Escalante
1ad7437c42 update dependencies, upgrade structure for latest nextjs-scripts, implement custom 404 page 2020-05-14 14:10:52 -04:00
Buck Doyle
086e598296 Add asset size workflow (#7864)
This uses a fork of the Ember Asset Size Action to report on changes to
the filesizes of the production UI build as a comment to the PR. The
fork includes fixes to make it work with a subdirectory (ui/ in our
case) and to make it update the PR comment if it exists vs posting
repeatedly to the thread.
2020-05-14 12:45:36 -05:00
Mahmood Ali
b771142f5a Merge pull request #7959 from hashicorp/b-deleted-vault-accessors
vault: ensure that token revocation is idempotent
2020-05-14 12:39:06 -04:00
Tim Gross
c514a5527a csi: refactor internal client field name to ExternalID (#7958)
The CSI plugins RPCs require the use of the storage provider's volume
ID, rather than the user-defined volume ID. Although changing the RPCs
to use the field name `ExternalID` risks breaking backwards
compatibility, we can use the `ExternalID` name internally for the
client and only use `VolumeID` at the RPC boundaries.
2020-05-14 11:56:07 -04:00
Mahmood Ali
ff3cf8f33b vault: ensure that token revocation is idempotent
This ensures that token revocation is idempotent and can handle when
tokens are revoked out of band.

Idempotency is important to handle some transient failures and retries.
Consider when a single token of a batch fails to be revoked, nomad would
retry revoking the entire batch; tokens already revoked should be
gracefully handled, otherwise, nomad may retry revoking the same
tokens forever.
2020-05-14 11:30:32 -04:00
Mahmood Ali
1f78c55e6f vault: failing test for repeated revocation 2020-05-14 11:30:29 -04:00
Tim Gross
89972866d3 e2e: upgrade CNI to 0.8.6 (#7956) 2020-05-14 09:29:11 -04:00
Chris Baker
74f2e443cd prepare for 0.11.2 2020-05-14 00:04:55 +00:00
Chris Baker
54987b3e58 Merge pull request #7952 from hashicorp/d/ui-changelog-0.11.2
Changelog additions for bugs and improvements to the UI
2020-05-13 18:54:10 -05:00
Chris Baker
1f4a9dfa7d Merge pull request #7915 from hashicorp/b-scaling-api-missing-count
the api.ScalingEvent struct was missing the .Count field
2020-05-13 18:52:38 -05:00
Michael Lange
caff2b096d Changelog additions for bugs and improvements to the UI 2020-05-13 15:40:10 -07:00
Chris Baker
50e060809e added changelog entry 2020-05-13 20:46:06 +00:00
Chris Baker
e6b14ed35c the api.ScalingEvent struct was missing the .Count field 2020-05-13 20:44:53 +00:00
Chris Baker
5bd876acb0 Merge pull request #7950 from hashicorp/docs-dst
docs: clarify periodic dst behavior
2020-05-13 15:44:41 -05:00
Chris Baker
770a7a60ea Merge pull request #7948 from hashicorp/changelog_stop_after_client_disconnect
changelog entry for `stop_after_client_disconnect`
2020-05-13 15:43:17 -05:00
Tim Gross
55cf0a6e43 changelog entry for stop_after_client_disconnect 2020-05-13 16:41:59 -04:00
Seth Hoenig
da944fb30c changelog entry for aws cpu perf (#7949)
* changelog entry for `stop_after_client_disconnect`
* changelog entry for aws cpu perf

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2020-05-13 16:39:34 -04:00
Tim Gross
2209ef3342 docs for stop_on_client_disconnect stanza (#7938) 2020-05-13 16:39:24 -04:00
Lang Martin
cd6d34425f server: stop after client disconnect (#7939)
* jobspec, api: add stop_after_client_disconnect

* nomad/state/state_store: error message typo

* structs: alloc methods to support stop_after_client_disconnect

1. a global AllocStates to track status changes with timestamps. We
   need this to track the time at which the alloc became lost
   originally.

2. ShouldClientStop() and WaitClientStop() to actually do the math

* scheduler/reconcile_util: delayByStopAfterClientDisconnect

* scheduler/reconcile: use delayByStopAfterClientDisconnect

* scheduler/util: updateNonTerminalAllocsToLost comments

This was setup to only update allocs to lost if the DesiredStatus had
already been set by the scheduler. It seems like the intention was to
update the status from any non-terminal state, and not all lost allocs
have been marked stop or evict by now

* scheduler/testing: AssertEvalStatus just use require

* scheduler/generic_sched: don't create a blocked eval if delayed

* scheduler/generic_sched_test: several scheduling cases
2020-05-13 16:39:04 -04:00
Michael Schurter
1b3e969355 docs: clarify periodic dst behavior 2020-05-13 13:24:35 -07:00
Chris Baker
e3f9bebad1 Merge pull request #7945 from hashicorp/docs-cronexpr-dst-fix
Document daylight saving handling
2020-05-13 14:13:29 -05:00
Chris Baker
ab8057903a changelog: reordered alphabetically 2020-05-13 19:12:21 +00:00
Michael Lange
1e7f1871bd Merge pull request #7942 from hashicorp/b-ui/csi-alloc-relationships
UI: CSI Bug, Imperatively load controller/node plugin allocations
2020-05-13 10:20:09 -07:00
Michael Lange
5456147e94 Merge pull request #7911 from hashicorp/f-ui/csi-availability-gauge
UI: CSI Availability Gauges
2020-05-13 10:18:17 -07:00
Mahmood Ali
a8e2da894c update changelog
[ci skip]
2020-05-13 12:54:10 -04:00
Mahmood Ali
71037b454b Merge pull request #7947 from hashicorp/b-docker-image-cleanup
docker: Fix docker image gc tracking
2020-05-13 12:50:59 -04:00
Mahmood Ali
72c08e0591 docker: Fix docker image gc tracking
This fixes a bug where docker images may not be GCed.  The cause of the
bug is that we track the task using `task.ID+task.Name` on task start
but remove on plain `task.ID`.

This haromize the two paths by using `task.ID`, as it's unique enough
and it's also used in the `loadImage` path (path when loading an image
from a local tarball instead of dockerhub).
2020-05-13 12:33:17 -04:00
Michael Lange
0a258b1a9f Test coverage for the gauge chart 2020-05-13 08:36:05 -07:00
Michael Lange
b3475add53 Adjust gauge chart stories 2020-05-13 08:36:05 -07:00
Michael Lange
83cd585682 Add gauge charts to the plugin detail page to measure availability 2020-05-13 08:36:05 -07:00
Michael Lange
df3c24f968 Bottom aligned columns variant 2020-05-13 08:36:05 -07:00
Michael Lange
4e7354117a Add gauge chart stories 2020-05-13 08:36:05 -07:00
Michael Lange
fe26e904bb Style the gauge chart component 2020-05-13 08:36:05 -07:00
Michael Lange
72a928c5ec Treat null and undefined equally 2020-05-13 08:36:04 -07:00