Commit Graph

16486 Commits

Author SHA1 Message Date
Mahmood Ali 52af6e973b Refactor circleci CI scripts
This adopts pattern used by Vault, where we split CircleCI yaml config
into multiple files that get packed and translated to 2.0.

This has two motivations: First, to ease translating config to CircleCI
2.0 so it can run on Enterprise private repository.  Second and most
importantly, it also adding Enterprise specific jobs in separate files
with reduced config file merging conflict resolution.
2019-11-20 15:02:08 -05:00
Mahmood Ali 45e91394ae build-deps-image no longer runs
This is a remenant of the time we used a custom hashicorp docker image for CI.
Currently, we use the official golang image, so no longer need the job
or manage the dockerhub credentials.
2019-11-20 14:57:48 -05:00
Mahmood Ali 29a457cbdd Ignore ci workflow in stable-website
`stable-website` branch is only meant for updating the nomadproject.io
website, and the backend tests are irrelevant.  Also, the ci workflow
uses up the plans containers and may delay website deployments by 20
minutes or more while we are cutting a release.
2019-11-20 14:57:45 -05:00
Mahmood Ali 7f1e9d8485 low case references 2019-11-20 14:56:42 -05:00
Tim Gross 11e0403173
ci: add build-binaries job for artifact storage (#6741) 2019-11-20 14:45:20 -05:00
Michael Schurter 4c7452bdab docs: add #6370 to changelog 2019-11-20 08:46:20 -08:00
Michael Schurter ecf970b5a5
Merge pull request #6370 from pmcatominey/tls-server-name
command: add -tls-server-name flag
2019-11-20 08:44:54 -08:00
Michael Schurter 3d95122a11 docs: changelog entry for #6606 2019-11-20 08:41:36 -08:00
Preetha 4a26156c24
Merge pull request #6562 from hashicorp/b-ui/codemirror-update
UI: Update ivy-codemirror to unreleased commit
2019-11-20 10:40:43 -06:00
Michael Schurter 3ff19f1ada
Merge pull request #6606 from hashicorp/r-go1.12.13
release: switch to Go 1.12.13
2019-11-20 08:37:02 -08:00
Preetha 42c1c85285
Merge pull request #6421 from hashicorp/b-acl-bootstrap-codes
api: acl bootstrap errors aren't 500
2019-11-20 10:36:08 -06:00
Preetha Appan 5f24ccbaa8 Update changelog 2019-11-20 10:19:05 -06:00
Preetha be4a51d5b8
Merge pull request #6349 from hashicorp/b-host-stats
client: Return empty values when host stats fail
2019-11-20 10:13:02 -06:00
Michael Schurter 1ba0daa577 release: switch to Go 1.12.13 2019-11-20 10:09:52 -05:00
Nick Ethier 729dd9018c
docker: set default cpu cfs period (#6737)
* docker: set default cpu cfs period

Co-Authored-By: Michael Schurter <mschurter@hashicorp.com>
2019-11-19 19:05:15 -05:00
Buck Doyle 7e3188a4ea
CLI: Remove duplicated error output (#6738) 2019-11-19 16:05:53 -06:00
Buck Doyle 56d9005b07
Docs: fix broken alloc signal link (#6731) 2019-11-19 16:05:35 -06:00
Buck Doyle 941231db51
Docs: add missing exec command to alloc listing (#6730) 2019-11-19 15:17:21 -06:00
Mahmood Ali c838145c29 changelog GH-6684 2019-11-19 16:07:41 -05:00
Mahmood Ali 7fb4c35831 comments and casing 2019-11-19 16:03:55 -05:00
Mahmood Ali 2982878aaa
Merge pull request #6722 from hashicorp/b-always-destroy-executor
Always destroy exec container on cleanup
2019-11-19 15:55:55 -05:00
Mahmood Ali 97974c4b13
Merge pull request #6684 from hashicorp/b-nomad-exec-stdout-tty
nomad exec: check stdout for tty as well
2019-11-19 15:55:21 -05:00
Mahmood Ali 01b220a4a7 changelog 2019-11-19 15:54:11 -05:00
Mahmood Ali 97d0fd009d 404 if token isn't found 2019-11-19 15:52:53 -05:00
Mahmood Ali 6f8bb5e90b api: acl bootstrap errors aren't 500
Noticed that ACL endpoints return 500 status code for user errors.  This
is confusing and can lead to false monitoring alerts.

Here, I introduce a concept of RPCCoded errors to be returned by RPC
that signal a code in addition to error message.  Codes for now match
HTTP codes to ease reasoning.

```
$ nomad acl bootstrap
Error bootstrapping: Unexpected response code: 500 (ACL bootstrap already done (reset index: 9))

$ nomad acl bootstrap
Error bootstrapping: Unexpected response code: 400 (ACL bootstrap already done (reset index: 9))
```
2019-11-19 15:51:57 -05:00
Mahmood Ali bc893829bc changelog and comment 2019-11-19 15:51:08 -05:00
Michael Schurter 6f64e52d61
Merge pull request #6699 from hashicorp/f-semver-constraints
Add new "semver" constraint
2019-11-19 12:18:43 -08:00
Drew Bailey cd6d71914a
Merge pull request #6732 from hashicorp/inplace-update-constraint
Removes checking constraints for inplace update
2019-11-19 14:06:22 -05:00
Michael Schurter be00d0cc41 test: assert semvers are *not* compared lexically 2019-11-19 10:59:40 -08:00
Drew Bailey 876618b5d2
Removes checking constraints for inplace update 2019-11-19 13:34:41 -05:00
Michael Schurter 260c26e9c4 docs: document semver constraint operator 2019-11-19 10:26:25 -08:00
Buck Doyle 676b84c735
Docs: correct that exec task flag is not optional (#6729)
The task is required, not optional, there’s no default as was described.
2019-11-19 11:20:07 -06:00
Michael Schurter 796758b8a5 core: add semver constraint
The existing version constraint uses logic optimized for package
managers, not schedulers, when checking prereleases:

- 1.3.0-beta1 will *not* satisfy ">= 0.6.1"
- 1.7.0-rc1 will *not* satisfy ">= 1.6.0-beta1"

This is due to package managers wishing to favor final releases over
prereleases.

In a scheduler versions more often represent the earliest release all
required features/APIs are available in a system. Whether the constraint
or the version being evaluated are prereleases has no impact on
ordering.

This commit adds a new constraint - `semver` - which will use Semver
v2.0 ordering when evaluating constraints. Given the above examples:

- 1.3.0-beta1 satisfies ">= 0.6.1" using `semver`
- 1.7.0-rc1 satisfies ">= 1.6.0-beta1" using `semver`

Since existing jobspecs may rely on the old behavior, a new constraint
was added and the implicit Consul Connect and Vault constraints were
updated to use it.
2019-11-19 08:40:19 -08:00
Michael Schurter 98321f9729 vendor: update go-version to include NewSemver 2019-11-19 08:40:18 -08:00
Tim Gross e012c2b5bf
Infrastructure for Windows e2e testing (#6584)
Includes:
* baseline Windows AMI
* initial pass at Terraform configurations
* OpenSSH for Windows

Using OpenSSH is a lot nicer for Nomad developers than winrm would be,
plus it lets us avoid passing around the Windows password in the
clear.

Note that now we're copying up all the provisioning scripts and
configs as a zipped bundle because TF's file provisioner dies in the
middle of pushing up multiple files (whereas `scp -r` works fine).

We're also running all the provisioning scripts inside the userdata by
polling for the zip file to show up (gross!). This is because
`remote-exec` provisioners are failing on Windows with the same symptoms as:

https://github.com/hashicorp/terraform/issues/17728

If we can't fix this, it'll prevent us from having multiple Windows
clients running until TF supports count interpolation in the
`template_file`, which is planned for a later 0.12 release.
2019-11-19 11:06:10 -05:00
Tim Gross 1829f437a7
doc: clarify that gcc-go is not supported (#6726) 2019-11-19 11:02:55 -05:00
Tim Gross 1210261fe2
hclfmt nomad jobspecs (#6724) 2019-11-19 10:36:41 -05:00
Chris Baker 926d2f8e78
Merge pull request #6725 from hashicorp/bug-plugin-launcher-setconfig-error
SetConfig bug in plugin launcher tool
2019-11-19 09:22:19 -06:00
Chris Baker 943c4f083e the plugin launcher tool was passing the wrong byte array into
SetConfig, resulting in msgpack decoding errors
2019-11-19 14:53:34 +00:00
Lang Martin 85bedfde3c CHANGELOG: gcs support 2019-11-19 09:18:26 -05:00
Lang Martin aa985ebe21
getter: allow the gcs download scheme (#6692) 2019-11-19 09:10:56 -05:00
Drew Bailey be040f85f5
Merge pull request #6703 from hashicorp/b-affinity-constraint-inplace-update
Check for changes to affinity, constraints and spread during update
2019-11-19 08:48:58 -05:00
Drew Bailey 4f06d60c92
update changelog 2019-11-19 08:29:43 -05:00
Drew Bailey e44a66d7fc
DOCS: Spread stanza does not exist on task
Fixes documentation inaccuracy for spread stanza placement. Spreads can
only exist on the top level job struct or within a group.

comment about nil assumption
2019-11-19 08:26:36 -05:00
Drew Bailey 07e3164bf9
Check for changes to affinity and constraints
Adds checks for affinity and constraint changes when determining if we
should update inplace.

refactor to check all levels at once

check for spread changes when checking inplace update
2019-11-19 08:26:34 -05:00
Mahmood Ali ea221cfe87 always destroy 2019-11-18 21:31:29 -05:00
Mahmood Ali abd700bf8f Add tests for orphaned processes 2019-11-18 21:31:29 -05:00
Nick Ethier bd454a4c6f
client: improve group service stanza interpolation and check_re… (#6586)
* client: improve group service stanza interpolation and check_restart support

Interpolation can now be done on group service stanzas. Note that some task runtime specific information
that was previously available when the service was registered poststart of a task is no longer available.

The check_restart stanza for checks defined on group services will now properly restart the allocation upon
check failures if configured.
2019-11-18 13:04:01 -05:00
Luiz Aoqui a046a96d5e
update CHANGELOG 2019-11-15 15:45:38 -05:00
Luiz Aoqui e499c5bddc
Merge pull request #6698 from hashicorp/f-add-drain-start-time
api: add `StartedAt` in `Node.DrainStrategy`
2019-11-15 15:38:38 -05:00