Commit graph

14457 commits

Author SHA1 Message Date
Preetha fac6d8c918
Merge pull request #5405 from hashicorp/e2e_metrics
Prometheus metrics for the e2e environment
2019-03-21 09:30:12 -05:00
Preetha Appan bf8483c960
remove stray println 2019-03-21 09:23:37 -05:00
Michael Schurter 9b1f6a028d
Merge pull request #5247 from hashicorp/test-state-corruption
Test state corruption
2019-03-21 07:18:29 -07:00
Michael Schurter 555d6d35ce test: skip slow state test without flag 2019-03-21 07:17:02 -07:00
Michael Schurter cd87afd15f e2e: add NomadAgent and basic client state test
The e2e test code is absolutely hideous and leaks processes and files
on disk. NomadAgent seems useful, but the clientstate e2e tests are very
messy and slow. The last test "Corrupt" is probably the most useful as
it explicitly corrupts the state file whereas the other tests attempt to
reproduce steps thought to cause corruption in earlier releases of
Nomad.
2019-03-21 07:14:34 -07:00
Nick Ethier b252d712df
logmon: fix test assertion 2019-03-20 21:37:17 -04:00
Nick Ethier 83936bea3c
logmon: fix logmon handling in driver test harness 2019-03-20 21:14:08 -04:00
Michael Schurter f1ce2fa1ec
Merge pull request #5443 from hashicorp/f-systemd-fixes
docs: sync systemd unit files; update deploy guide
2019-03-20 10:40:53 -07:00
Michael Schurter 3c78271ea2 docs: remove partial sig/checksum verification
Point users to security doc instead. Right now it takes a lot of
explaining to describe to users exactly how to validate the binary and
what the output of the tools used means.

For example, this is the output when validating according to the
instructions in this guide and the linked doc:

```
vagrant@linux:/tmp$ gpg --verify nomad_0.8.7_SHA256SUMS.sig
nomad_0.8.7_SHA256SUMS
gpg: Signature made Fri 11 Jan 2019 09:47:56 PM UTC using RSA key ID
348FFC4C
gpg: Good signature from "HashiCorp Security <security@hashicorp.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the
owner.
Primary key fingerprint: 91A6 E7F8 5D05 C656 30BE  F189 5185 2D87 348F
FC4C
vagrant@linux:/tmp$ shasum -a 256 -c nomad_0.8.7_SHA256SUMS
shasum: ./nomad_0.8.7_darwin_amd64.zip:
./nomad_0.8.7_darwin_amd64.zip: FAILED open or read
shasum: ./nomad_0.8.7_linux_386.zip: No such file or directory
./nomad_0.8.7_linux_386.zip: FAILED open or read
shasum: ./nomad_0.8.7_linux_amd64-lxc.zip: No such file or directory
./nomad_0.8.7_linux_amd64-lxc.zip: FAILED open or read
./nomad_0.8.7_linux_amd64.zip: OK
shasum: ./nomad_0.8.7_linux_arm64.zip: No such file or directory
./nomad_0.8.7_linux_arm64.zip: FAILED open or read
shasum: ./nomad_0.8.7_linux_arm.zip: No such file or directory
./nomad_0.8.7_linux_arm.zip: FAILED open or read
shasum: ./nomad_0.8.7_windows_386.zip: No such file or directory
./nomad_0.8.7_windows_386.zip: FAILED open or read
shasum: ./nomad_0.8.7_windows_amd64.zip: No such file or directory
./nomad_0.8.7_windows_amd64.zip: FAILED open or read
shasum: WARNING: 7 listed files could not be read
```

There are only two lines that matter in all of that output:

```
...
gpg: Good signature from "HashiCorp Security <security@hashicorp.com>"
...
./nomad_0.8.7_linux_amd64.zip: OK
...
```

I feel like trying to teach users how to use and interpret these tools
in our deployment guide may be as likely to reduce confidence as
increase it.
2019-03-20 09:36:29 -07:00
Mahmood Ali d9a3c92610
doc: fix tls_cipher_suites type (#5441)
tls_cipher_suites only accept a comma-separated string, as evident in:

0535dfd414/nomad/structs/config/tls.go (L61)
d37ed5c193/helper/tlsutil/config.go (L405)
2019-03-20 12:17:38 -04:00
Mahmood Ali 32454b9fde update some changelog items 2019-03-20 11:20:25 -04:00
Mahmood Ali 4c3dbd2f84
Don't use "datacenter" in a confusing way
Co-Authored-By: schmichael <michael.schurter@gmail.com>
2019-03-20 08:08:37 -07:00
Michael Schurter d63c2aefd9
Merge pull request #5450 from hashicorp/docs-changelog
docs: add #5381 to changelog
2019-03-20 07:53:49 -07:00
Nick Ethier c1f5011181
logmon: remove sleeps from tests 2019-03-20 10:45:09 -04:00
Michael Schurter d920812750 docs: add #5381 to changelog 2019-03-20 07:05:05 -07:00
Mahmood Ali eb88e36593
Merge pull request #5430 from HashedDan/server-typo
server: inconsistent receiver notation corrected
2019-03-20 08:48:17 -04:00
Mahmood Ali 2a7b18aec4
Revert "executor: synchronize exitState accesses" (#5449)
Reverts hashicorp/nomad#5433

Apparently, channel communications can constitute Happens-Before even for proximate variables, so this syncing isn't necessary.

> _The closing of a channel happens before a receive that returns a zero value because the channel is closed._
https://golang.org/ref/mem#tmp_7
2019-03-20 07:33:05 -04:00
Mahmood Ali d4ed7aecbf
Merge pull request #5435 from hashicorp/release-scripts-20190318
Scripts for automating binary building
2019-03-20 07:26:10 -04:00
Mahmood Ali 4a9f29c1a6 release: Upgrade to use 1.11.6 golang on macOS
To correspond to the Linux scripts in 855761a5dff9b447152e8ea75a410aafa46e66dc
2019-03-19 21:18:44 -04:00
Mahmood Ali 7f911555b5 Add some release script comments 2019-03-19 21:18:27 -04:00
Michael Schurter 30db07cccb docs: sync systemd unit files; update deploy guide
The systemd configs spread across our repo were fairly out of sync. This
should get them on our best practices.

The deployment guide also had some strange things like running Nomad as
a non-root user. It would be fine for servers but completely breaks
clients. For simplicity I simply removed the non-root user references.
2019-03-19 15:18:12 -07:00
Nick Ethier 505e36ff7a
Merge pull request #5429 from hashicorp/b-blocking-executor-shutdown
executor: block shutdown on process exiting
2019-03-19 15:18:01 -04:00
Nick Ethier e14041bdec
logmon: add tests for rotation and open/closing of fifos 2019-03-19 14:41:23 -04:00
Nick Ethier dc18b8928a
logmon: make Start rpc idempotent and simplify hook 2019-03-19 14:02:36 -04:00
Michael Schurter 2214421bb0
Merge pull request #5436 from hashicorp/f-vagrant-go1.11.6
vagrant: upgrade to Go 1.11.6
2019-03-19 08:20:13 -07:00
Michael Schurter 849865caff vagrant: upgrade to Go 1.11.6 2019-03-18 13:38:00 -07:00
Nick Ethier ac7fbee1b8
logmon:add static check for logmon exited hook 2019-03-18 15:59:43 -04:00
Mahmood Ali 88288a1819 accept macos host as a env-var with a default 2019-03-18 15:05:32 -04:00
Mahmood Ali 77cd7f8e13 use bash set long form 2019-03-18 14:34:09 -04:00
Mahmood Ali 1bc81dc6e3 ensure node is present in PATH 2019-03-18 14:31:31 -04:00
Mahmood Ali e2c7b550cf
Merge pull request #5433 from hashicorp/b-exit-state-lock
executor: synchronize exitState accesses
2019-03-18 13:50:16 -04:00
Mahmood Ali 4832c77363 scripts: only shellcheck shell scripts 2019-03-18 08:45:25 -04:00
Mahmood Ali 49f807f72c handle when no files are generated 2019-03-18 08:29:25 -04:00
Mahmood Ali 4db32eb084 initial attempt at building mac 2019-03-18 08:29:25 -04:00
Mahmood Ali 67bb6c839c remove chown 2019-03-18 08:29:22 -04:00
Mahmood Ali a1776dba34 executor: synchronize exitState accesses
exitState is set in `wait()` goroutine but accessed in a different
`Wait()` goroutine, so accesses must be synchronized by a lock.
2019-03-17 11:56:58 -04:00
Mahmood Ali 67b6758bed Add a Docker release scripts
Also tease out some dev and docker bits from Vagrant scripts to ease
sharing with Docker script
2019-03-17 10:37:36 -04:00
Mahmood Ali d61e73afb8
Merge pull request #5425 from sarcasticadmin/sa/freebsd-vagrant-fix
Freebsd vagrant fixes
2019-03-16 21:00:03 -04:00
HashedDan caad68e799 server: inconsistent receiver notation corrected
Signed-off-by: HashedDan <georgedanielmangum@gmail.com>
2019-03-16 17:53:53 -05:00
Nick Ethier 7dc3d83634
client/logmon: restart log collection correctly when a task is restarted 2019-03-15 23:59:18 -04:00
Nick Ethier 7418d09cf0
executor: block shutdown on process exiting 2019-03-15 23:50:17 -04:00
Omar Khawaja 2eab3db0dc
AWS env update (#5423)
* update versions of all products and add consul-template

* update client and server user_data scripts

* modify README.md and terraform.tfvars

* fix typo in consul-template system unit file

* update AMI id
2019-03-15 15:55:34 -04:00
Mahmood Ali 78a5913433
Merge pull request #5415 from hashicorp/b-fix-libcontainer-panic
fix possible panic in libcontainer shim init
2019-03-15 15:29:57 -04:00
Omar Khawaja 5327904f54
Portworx guide (#5399)
* skeleton

* configure portworx

* destroy and redeploy mysql with data intact

* rename all directories and references from persistent storage to stateful workloads

* add considerations and remove references to StorageOS

* update wording and headings

* create portworx volume externally and modify jobfile to reflect that

* fix typo

* Update website/source/guides/stateful-workloads/portworx.html.md

Co-Authored-By: Omar-Khawaja <Omar-Khawaja@users.noreply.github.com>

* Update website/source/guides/stateful-workloads/portworx.html.md

Co-Authored-By: Omar-Khawaja <Omar-Khawaja@users.noreply.github.com>
2019-03-15 11:33:46 -04:00
Robert James Hernandez 8d07f59740 Update vagrant box to freebsd 11.2 STABLE
Freebsd 11.1 went EOL 9/30/18:
https://lists.freebsd.org/pipermail/freebsd-announce/2018-September/001842.html

Was seeing a failure with shared object "libdl.so.1" not found which
is required for bash
2019-03-14 18:36:30 -07:00
Mahmood Ali 8ec49fc133
Handle when cannot fetch docker logs (#5420)
Fix #5418

When using a docker logger that doesn't support log streaming through
API, currently docker logger runs a tight loop of Docker API calls
unexpectedly. This change ensures we stop fetching logs early.

Also, this adds some basic backoff strategy when Docker API logging
fails unexpectedly, to avoid accidentally DoSing the docker daemon.
2019-03-14 16:23:11 -04:00
Mahmood Ali fb55717b0c
Regenerate Proto files (#5421)
Noticed that the protobuf files are out of sync with ones generated by 1.2.0 protoc go plugin.

The cause for these files seem to be related to release processes, e.g. [0.9.0-beta1 preperation](ecec3d38de (diff-da4da188ee496377d456025c2eab4e87)), and [0.9.0-beta3 preperation](b849d84f2f).

This restores the changes to that of the pinned protoc version and fails build if protobuf files are out of sync.  Sample failing Travis job is that of the first commit change: https://travis-ci.org/hashicorp/nomad/jobs/506285085
2019-03-14 10:56:27 -04:00
Robert James Hernandez 0dec6fa13c Set shell to sh and networking to host dhcp
Set shell to sh which is present by default on freebsd. Also set
networking to host dhcp due to limitations with NFS sharing:
https://github.com/hashicorp/vagrant/issues/9063
2019-03-13 20:58:25 -07:00
Robert James Hernandez 754f11d799 Fix freebsd vagrant priv config for vim-tiny 2019-03-13 19:21:59 -07:00
Preetha bbec988bdc
Merge pull request #5413 from hashicorp/b-alloc-metrics
Fix bug with score metadata overridden during inplace upgrades
2019-03-13 13:29:04 -05:00