Commit Graph

14910 Commits

Author SHA1 Message Date
Michael Schurter
4e3468babd Merge pull request #5492 from hashicorp/f-allocated-mem
client: expose allocated memory per task
2019-05-13 13:31:22 -07:00
Jasmine Dahilig
fd5c3a8173 fix update to changelog 2019-05-13 13:14:01 -07:00
Jasmine Dahilig
772e8d6b94 update CHANGELOG with datacenter config validation https://github.com/hashicorp/nomad/pull/5665 2019-05-13 13:10:29 -07:00
Jasmine Dahilig
2d23f904cd Merge pull request #5665 from hashicorp/b-empty-datacenters
add non-empty string validation for datacenters
2019-05-13 10:23:26 -07:00
Mahmood Ali
12114354ab Merge pull request #5668 from hashicorp/flaky-test-20190430
fix flaky test by allowing for call invocation overhead
2019-05-13 12:33:44 -04:00
Lang Martin
a732cd1f06 Merge pull request #5642 from hashicorp/b-network-fingerprinting-ipv4
network fingerprinting multiple IPs on the configured network device
2019-05-13 11:46:53 -04:00
Mahmood Ali
166a5c7b29 Merge pull request #5690 from hashicorp/f-nomad-exec-part-04-rkt
implement nomad exec for rkt
2019-05-13 10:03:55 -04:00
Mahmood Ali
494642b11c typo: "atleast" -> "at least" 2019-05-13 10:01:19 -04:00
Mahmood Ali
bfac34d9c5 implement nomad exec for rkt
Implement the streaming exec handler for the rkt driver
2019-05-12 18:59:00 -04:00
Danielle
9b6e5c1fd4 Merge pull request #5685 from jweissig/patch-9
docs: fixed typo
2019-05-11 21:00:47 +02:00
Justin Weissig
ffe06cb57f docs: fixed typo
Fixed typo: programatic/programmatic
2019-05-11 10:40:39 -07:00
Mahmood Ali
c25b247fa4 Merge pull request #5634 from hashicorp/f-nomad-exec-parts-03-executors
nomad exec part 3: executor based drivers
2019-05-10 21:24:23 -04:00
Mahmood Ali
7f76aedfae use pty/tty terminology similar to github.com/kr/pty 2019-05-10 19:17:14 -04:00
Mahmood Ali
f6a4b8810a vendor github.com/kr/pty 2019-05-10 19:17:14 -04:00
Mahmood Ali
74e5e20c0b drivers: implement streaming exec for executor based drivers
These simply delegate call to backend executor.
2019-05-10 19:17:14 -04:00
Mahmood Ali
976bfbc41a executors: implement streaming exec
Implements streamign exec handling in both executors (i.e. universal and
libcontainer).

For creation of TTY, some incidental complexity leaked in.  The universal
executor uses github.com/kr/pty for creation of TTYs.

On the other hand, libcontainer expects a console socket and for libcontainer to
create the underlying console object on process start.  The caller can then use
`libcontainer.utils.RecvFd()` to get tty master end.

I chose github.com/kr/pty for managing TTYs here.  I tried
`github.com/containerd/console` package (which is already imported), but the
package did not work as expected on macOS.
2019-05-10 19:17:14 -04:00
Mahmood Ali
efc4249f85 executor: scaffolding for executor grpc handling
Prepare executor to handle streaming exec API calls that reuse drivers protobuf
structs.
2019-05-10 19:17:14 -04:00
Mahmood Ali
152d6426aa Merge pull request #5674 from hashicorp/b-ui/flaky-client-detail-test
UI: Fixed flaky client-detail test
2019-05-10 18:51:00 -04:00
Michael Schurter
3c19af4bfd client: expose allocated memory per task
Related to #4280

This PR adds
`client.allocs.<job>.<group>.<alloc>.<task>.memory.allocated` as a gauge
in bytes to metrics to ease calculating how close a task is to OOMing.

```
'nomad.client.allocs.memory.allocated.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 268435456.000
'nomad.client.allocs.memory.cache.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 5677056.000
'nomad.client.allocs.memory.kernel_max_usage.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 0.000
'nomad.client.allocs.memory.kernel_usage.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 0.000
'nomad.client.allocs.memory.max_usage.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 8908800.000
'nomad.client.allocs.memory.rss.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 876544.000
'nomad.client.allocs.memory.swap.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 0.000
'nomad.client.allocs.memory.usage.example.cache.6d98cbaf-d6bc-2a84-c63f-bfff8905a9d8.redis.rusty': 8208384.000
```
2019-05-10 11:12:12 -07:00
Charlie Voiselle
85a60d284c Merge pull request #5683 from hashicorp/docs-describe-sched-restart
Added Sparrow link
2019-05-10 11:25:27 -04:00
Lang Martin
c7071a12e3 client improve a comment in updateNetworks 2019-05-10 11:25:04 -04:00
Danielle
1dd63883a5 stalebot: Add 'thinking' as an exempt label (#5684) 2019-05-10 11:00:35 -04:00
Danielle
291b306581 Merge pull request #5375 from hashicorp/dani/stale-issues
Setup probot/stale
2019-05-10 16:53:05 +02:00
Charlie Voiselle
40742affae Added Sparrow link 2019-05-10 10:35:21 -04:00
Charlie Voiselle
bab982484e Added info about scheduler fail and success cases (#5675)
* Added info about scheduler fail and success cases

* fix "and and"; copypasta

* Moving links to bottom for consistency

* Adopted @schmichael wording
2019-05-10 10:26:43 -04:00
Mahmood Ali
197114c017 Merge pull request #5682 from hashicorp/b-fix-website-links-20180510
Fix website links
2019-05-10 10:08:27 -04:00
Mahmood Ali
13474bca4d update links to use new canonical location 2019-05-10 09:41:19 -04:00
Mahmood Ali
11d25fdbca Add redirects for restructing done in GH-5667
https://github.com/hashicorp/nomad/pull/5667 restructured lots of
guides; this adds redirects to ensure that old links work.
2019-05-10 09:41:18 -04:00
Danielle
2530103a47 Merge pull request #5677 from jweissig/patch-8
doc: wording
2019-05-10 12:16:33 +02:00
Justin Weissig
915b78309a doc: wording
Fixed wording: "as show below" -> "as shown below".
2019-05-10 00:12:55 -07:00
Mahmood Ali
5abbee5d39 Merge pull request #5632 from hashicorp/f-nomad-exec-parts-01-base
nomad exec part 1: plumbing and docker driver
2019-05-09 18:09:27 -04:00
Mahmood Ali
980e4f5866 add e2e tests for nomad exec 2019-05-09 16:49:08 -04:00
Mahmood Ali
6168cc59be add api support for nomad exec
Adds nomad exec support in our API, by hitting the websocket endpoint.

We introduce API structs that correspond to the drivers streaming exec structs.

For creating the websocket connection, we reuse the transport setting from api
http client.
2019-05-09 16:49:08 -04:00
Mahmood Ali
67160a6302 drivers/docker: implement streaming exec 2019-05-09 16:49:08 -04:00
Mahmood Ali
3a77502cae Add basic drivers conformance tests
Add consolidated testing package to serve as conformance tests for all drivers.
2019-05-09 16:49:08 -04:00
Mahmood Ali
f908d6bcf5 vendor github.com/gorilla/websocket 2019-05-09 16:49:08 -04:00
Mahmood Ali
bfb4f0ca2d agent: add websocket handler for nomad exec
This adds a websocket endpoint for handling `nomad exec`.

The endpoint is a websocket interface, as we require a bi-directional
streaming (to handle both input and output), which is not very appropriate for
plain HTTP 1.0. Using websocket makes implementing the web ui a bit simpler. I
considered using golang http hijack capability to treat http request as a plain
connection, but the web interface would be too complicated potentially.

Furthermore, the API endpoint operates against the raw core nomad exec streaming
datastructures, defined in protobuf, with json serializer.  Our APIs use json
interfaces in general, and protobuf generates json friendly golang structs.
Reusing the structs here simplify interface and reduce conversion overhead.
2019-05-09 16:49:08 -04:00
Mahmood Ali
a77a3ba9b0 server: server forwarding logic for nomad exec endpoint 2019-05-09 16:49:08 -04:00
Mahmood Ali
979a6a1778 implement client endpoint of nomad exec
Add a client streaming RPC endpoint for processing nomad exec tasks, by invoking
the relevant task handler for execution.
2019-05-09 16:49:08 -04:00
Mahmood Ali
cb4ad3fb45 drivers/mock: implement nomad exec interface 2019-05-09 16:49:08 -04:00
Mahmood Ali
94ed649489 implemment streaming exec handling in driver grpc handlers
Also add a helper that converts the adapts the high level interface to the
low-level interface of nomad exec interfaces.
2019-05-09 16:49:08 -04:00
Yishan Lin
ac76fc2fdf Merge pull request #5667 from hashicorp/yishan/revised-nomadproject-structure
Revised NomadProject Structure
2019-05-09 13:03:50 -07:00
Charlie Voiselle
764b80eca0 Adopted @schmichael wording 2019-05-09 16:01:25 -04:00
Yishan Lin
eddf8a247e Merge branch 'master' into yishan/revised-nomadproject-structure 2019-05-09 12:59:53 -07:00
Charlie Voiselle
16874f337a Moving links to bottom for consistency 2019-05-09 15:38:43 -04:00
Charlie Voiselle
16a58e65f9 fix "and and"; copypasta 2019-05-09 15:03:51 -04:00
Charlie Voiselle
72d6bb9f8d Added info about scheduler fail and success cases 2019-05-09 14:53:45 -04:00
Mahmood Ali
2fd32a2f31 Merge pull request #5660 from hashicorp/b-remove-EmitNodeEventsResponse-index
remove Index field from EmitNodeEventsResponse
2019-05-09 14:12:29 -04:00
Michael Lange
f88c4d7648 Fixed flaky client-detail test
Since one allocation is preempted, the alloc factory creates a new alloc
that wasn't guaranteed to be running. When it is the first alloc row in
the table, then the alloc row detail test fails because non-running
allocs don't have metrics. The fix was to manually update all the alloc
clientStatuses.
2019-05-09 10:26:55 -07:00
Yishan Lin
cbfc68ee1c Changed from "Container Management" to "Container Orchestration"
Removed Terraform mention in integrations without existing guide.
2019-05-09 10:14:01 -07:00