Lang Martin
0c4a45fa16
executor_linux pass the command to lookupTaskBin to get path
2019-05-08 10:01:20 -04:00
Lang Martin
9688710c10
executor/* Launch log at top of Launch is more explicit, trace
2019-05-07 17:01:05 -04:00
Lang Martin
538f387d8d
move lookupTaskBin to executor_linux, for os dependency clarity
2019-05-07 16:58:27 -04:00
Lang Martin
2ea860a087
driver_test leave cat in the test, but add cat to the chroot
2019-05-07 16:14:01 -04:00
Lang Martin
bc5eaf6cdb
executor_test cleanup old lookupBin tests
2019-05-04 10:21:59 -04:00
Lang Martin
8a7b5c6830
executor lookupTaskBin also does PATH expansion, anchored in taskDIR
2019-05-03 16:22:09 -04:00
Lang Martin
512bc52af5
executor_linux_test test PATH lookup inside the container
2019-05-03 16:21:58 -04:00
Lang Martin
7a2fdf7a2d
executor and executor_linux debug launch prep and process start
2019-05-03 14:42:57 -04:00
Lang Martin
103d37d4f9
executor_linux_test new TestExecutor_EscapeContainer
2019-05-03 14:38:42 -04:00
Lang Martin
c16f82bb9a
executor_test test for more edges of lookupBin behavior
2019-05-03 11:55:19 -04:00
Lang Martin
83930dcb9c
executor_linux call new lookupTaskBin
2019-05-03 11:55:19 -04:00
Lang Martin
4538014cc3
executor split up lookupBin
2019-05-03 11:55:19 -04:00
Mahmood Ali
6747195682
comment on using init() for libcontainer handling
2019-04-19 09:49:04 -04:00
Mahmood Ali
9bf54eae97
comment what refer to
2019-04-19 09:49:04 -04:00
Mahmood Ali
b6af5c9dca
Move libcontainer helper to executor package
2019-04-19 09:49:04 -04:00
Mahmood Ali
244544b735
an alternative order
2019-04-02 20:00:54 -04:00
Mahmood Ali
d441cdd52f
try not without checking stat first
2019-04-02 19:55:44 -04:00
Mahmood Ali
9adab75ac8
basic test for #4809
2019-04-02 19:50:35 -04:00
Michael Schurter
800bd848c1
Merge pull request #5504 from hashicorp/b-exec-path
...
executor/linux: make chroot binary paths absolute
2019-04-02 14:09:50 -07:00
Michael Schurter
56048bda0a
executor/linux: comment this bizarre code
2019-04-02 11:25:45 -07:00
Michael Schurter
21e895e2e7
Revert "executor/linux: add defensive checks to binary path"
...
This reverts commit cb36f4537e .
2019-04-02 11:17:12 -07:00
Michael Schurter
cb36f4537e
executor/linux: add defensive checks to binary path
2019-04-02 09:40:53 -07:00
Michael Schurter
254901a51e
executor/linux: make chroot binary paths absolute
...
Avoid libcontainer.Process trying to lookup the binary via $PATH as the
executor has already found where the binary is located.
2019-04-01 15:45:31 -07:00
Mahmood Ali
1450197936
comment configureTLogging
2019-04-01 16:52:58 -04:00
Mahmood Ali
714c41185c
rename fifo methods for clarity
2019-04-01 16:52:58 -04:00
Mahmood Ali
48259078df
avoid opening files just to close them
2019-04-01 13:24:18 -04:00
Mahmood Ali
3fb377ae6e
Add test cases for waiting on children
...
Also, make the test use files just like in the non-test case.
2019-04-01 13:24:18 -04:00
Michael Schurter
e162e3b631
Update drivers/shared/executor/executor_test.go
...
Co-Authored-By: notnoop <mahmood@notnoop.com >
2019-03-31 20:34:24 -04:00
Mahmood Ali
d5eea3424a
fix test setup
2019-03-26 09:15:22 -04:00
Mahmood Ali
f57cf5a365
test kill wait
2019-03-26 09:15:22 -04:00
Mahmood Ali
a0d025e90d
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
Nick Ethier
d9d90fa5f0
Merge pull request #5429 from hashicorp/b-blocking-executor-shutdown
...
executor: block shutdown on process exiting
2019-03-19 15:18:01 -04:00
Mahmood Ali
989175fc59
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
Nick Ethier
c2c984ea50
executor: block shutdown on process exiting
2019-03-15 23:50:17 -04:00
Mahmood Ali
eb5ab38ae5
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
Iskander (Alex) Sharipov
7cf58d08c1
drivers/shared/executor: fix strings.Replace call
...
strings.Replace call with n=0 argument makes no sense
as it will do nothing. Probably -1 is intended.
Signed-off-by: Iskander Sharipov <quasilyte@gmail.com >
2019-03-02 00:33:17 +03:00
Michael Schurter
c9fe5d26b3
plugins: squelch context Canceled error logs
...
As far as I can tell this is the most straightforward and resilient way
to skip error logging on context cancellation with grpc streams. You
cannot compare the error against context.Canceled directly as it is of
type `*status.statusError`. The next best solution I found was:
```go
resp, err := stream.Recv()
if code, ok := err.(interface{ Code() code.Code }); ok {
if code.Code == code.Canceled {
return
}
}
```
However I think checking ctx.Err() directly makes the code much easier
to read and is resilient against grpc API changes.
2019-02-21 15:32:18 -08:00
Mahmood Ali
bd90b8db77
CVE-2019-5736: Update libcontainer depedencies ( #5334 )
...
* CVE-2019-5736: Update libcontainer depedencies
Libcontainer is vulnerable to a runc container breakout, that was
reported as CVE-2019-5736[1]. Upgrading vendored libcontainer with the fix.
The runc changes are captured in 369b920277 .
[1] https://seclists.org/oss-sec/2019/q1/119
2019-02-19 20:21:18 -05:00
Alex Dadgar
ecec3d38de
Nomad 0.9.0-beta1 generated code
2019-01-30 10:49:44 -08:00
Nick Ethier
8aa451806b
executor: fix bug and add tests for incorrect stats timestamp reporting
2019-01-28 21:57:45 -05:00
Nick Ethier
5304c6125a
drivers/docker: handle shutdown of upgraded tasks correctly
2019-01-24 14:21:59 -05:00
Alex Dadgar
95297c608c
goimports
2019-01-22 15:44:31 -08:00
Nick Ethier
994c66f7d7
drivers: use consts for task handle version
2019-01-18 18:31:01 -05:00
Nick Ethier
07cdedec2f
driver: add pre09 migration logic
2019-01-18 18:31:01 -05:00
Nick Ethier
2118d94b2d
executor: add pre 0.9 client and wrapper
2019-01-18 18:30:58 -05:00
Mahmood Ali
9f7619344e
Merge pull request #5190 from hashicorp/f-memory-usage
...
Track Basic Memory Usage as reported by cgroups
2019-01-18 16:46:02 -05:00
Danielle Tomlinson
9cf6e1ae27
Merge pull request #5192 from hashicorp/dani/executor-close
...
executor: Always close stdout/stderr fifos
2019-01-15 17:49:04 +01:00
Danielle Tomlinson
17dbace46b
executor: Always close stdout/stderr fifos
2019-01-15 16:47:27 +01:00
Mahmood Ali
2cc4466573
propogate logs to executor plugin
2019-01-15 08:25:03 -05:00
Alex Dadgar
109c5ef650
Merge pull request #5173 from hashicorp/b-log-levels
...
Plugins use parent loggers
2019-01-14 16:14:30 -08:00