This project is mirrored from https://gitee.com/mirrors/nomad.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
- 10 Apr, 2019 7 commits
-
-
Mahmood Ali authored
-
Mahmood Ali authored
-
Mahmood Ali authored
-
Mahmood Ali authored
-
Mahmood Ali authored
-
Mahmood Ali authored
-
Mahmood Ali authored
nvidia library use of dynamic library seems to conflict with alpine and musl based OSes. This adds a `nonvidia` tag to allow compiling nomad for alpine images. The nomad releases currently only support glibc based OS environments, so we default to compiling with nvidia.
-
- 05 Apr, 2019 1 commit
-
-
Nick Ethier authored
-
- 29 Mar, 2019 1 commit
-
-
Michael Schurter authored
As far as I can tell Nomad itself does not use the container name after container creation, so this should be safe. OP: https://groups.google.com/d/topic/nomad-tool/kYkyERfVRXE/discussion v0.8.7 code: https://github.com/hashicorp/nomad/blob/v0.8.7/client/driver/docker.go#L1530-L1531
-
- 28 Feb, 2019 2 commits
-
-
Mahmood Ali authored
-
Mahmood Ali authored
Docker uses the term logging `driver` in its public documentations: in `docker` daemon config[1], `docker run` arguments [2] and in docker compose file[3]. Interestingly, docker used `type` in its API [4] instead of everywhere else. It's unfortunate that Nomad used `type` modeling after the Docker API rather than the user facing documents. Nomad using `type` feels very non-user friendly as it's disconnected from how Docker markets the flag and shows internal representation instead. Here, we rectify the situation by introducing `driver` field and prefering it over `type` in logging. [1] https://docs.docker.com/config/containers/logging/configure/ [2] https://docs.docker.com/engine/reference/run/#logging-drivers---log-driver [3] https://docs.docker.com/compose/compose-file/#logging [4] https://docs.docker.com/engine/api/v1.39/#operation/ContainerCreate
-
- 25 Feb, 2019 1 commit
-
-
Danielle Tomlinson authored
This commit causes the docker driver to return undetected before it first establishes a connection to the docker daemon. This fixes a bug where hosts without docker installed would return as unhealthy, rather than undetected.
-
- 22 Feb, 2019 1 commit
-
-
Danielle Tomlinson authored
-
- 20 Feb, 2019 2 commits
-
-
Danielle Tomlinson authored
Currently if a docker_logger cannot be reattached to, we will leak the container that was being used. This is problematic if e.g using static ports as it means you can never recover your task, or if a service is expensive to run and will then be running without supervision.
-
Danielle Tomlinson authored
Sometimes the nomad docker_logger may be killed by a service manager when restarting the client for upgrades or reliability reasons. Currently if this happens, we leak the users container and try to reschedule over it. This commit adds a new step to the recovery process that will spawn a new docker logger process that will fetch logs from _the current timestamp_. This is to avoid restarting users tasks because our logging sidecar has failed.
-
- 14 Feb, 2019 1 commit
-
-
Danielle Tomlinson authored
Windows Docker daemon does not support SIGINT, SIGTERM is the semantic equivalent that allows for graceful shutdown before being followed up by a SIGKILL.
-
- 23 Jan, 2019 1 commit
-
-
Nick Ethier authored
-
- 22 Jan, 2019 1 commit
-
-
Alex Dadgar authored
-
- 18 Jan, 2019 2 commits
-
-
Nick Ethier authored
-
Nick Ethier authored
-
- 17 Jan, 2019 1 commit
-
-
Nick Ethier authored
-
- 16 Jan, 2019 3 commits
-
-
Preetha Appan authored
-
Preetha Appan authored
Changes logging warnings/errors only if the state changes from healthy to unhealthy
-
Preetha Appan authored
-
- 15 Jan, 2019 3 commits
-
-
Nick Ethier authored
-
oleksii.shyman authored
- docker fingerprint issues a docker api system info call to get the list of supported OCI runtimes. - OCI runtimes are reported as comma separated list of names - docker driver is aware of GPU runtime presence - docker driver throws an error when user tries to run container with GPU, when GPU runtime is not present - docker GPU runtime name is configurable
-
Danielle Tomlinson authored
Previously, we did not attempt to stop Docker Logger processes until DestroyTask, which means that under many circumstances, we will never successfully close the plugin client. This commit terminates the plugin process when `run` terminates, or when `DestroyTask` is called. Steps to repro: ``` $ nomad agent -dev $ nomad init $ nomad run example.nomad $ nomad stop example $ ps aux | grep nomad # See docker logger process running $ signal the dev agent $ ps aux | grep nomad # See docker logger process running ```
-
- 14 Jan, 2019 1 commit
-
-
Mahmood Ali authored
Track current memory usage, `memory.usage_in_bytes`, in addition to `memory.max_memory_usage_in_bytes` and friends. This number is closer what Docker reports. Related to https://github.com/hashicorp/nomad/issues/5165 .
-
- 12 Jan, 2019 1 commit
-
-
Nick Ethier authored
plugins/driver: update driver interface to support streaming stats client/tr: use streaming stats api TODO: * how to handle errors and closed channel during stats streaming * prevent tight loop if Stats(ctx) returns an error drivers: update drivers TaskStats RPC to handle streaming results executor: better error handling in stats rpc docker: better control and error handling of stats rpc driver: allow stats to return a recoverable error
-
- 08 Jan, 2019 3 commits
-
-
Mahmood Ali authored
Re-export the ResourceUsage structs in drivers package to avoid drivers directly depending on the internal client/structs package directly. I attempted moving the structs to drivers, but that caused some import cycles that was a bit hard to disentagle. Alternatively, I added an alias here that's sufficient for our purposes of avoiding external drivers depend on internal packages, while allowing us to restructure packages in future without breaking source compatibility.
-
Mahmood Ali authored
-
Danielle Tomlinson authored
This implements the InternalPluginDriver interface in each driver, and calls the cancellation fn for their respective eventers. This fixes a per task goroutine leak during test suite execution.
-
- 19 Dec, 2018 1 commit
-
-
Nick Ethier authored
-
- 18 Dec, 2018 1 commit
-
-
Danielle Tomlinson authored
Currently the docker driver does not remove tasks from its state map when destroying the task, which leads to issues when restarting tasks in place, and leaks expired handles over time.
-
- 11 Dec, 2018 1 commit
-
-
Mahmood Ali authored
When volumes.enable flag is off in Docker driver, disable all mounts of paths outside alloc dir.
-
- 05 Dec, 2018 2 commits
-
-
Mahmood Ali authored
-
Mahmood Ali authored
-
- 30 Nov, 2018 2 commits
-
-
Danielle Tomlinson authored
-
Danielle Tomlinson authored
As part of deprecating legacy drivers, we're moving the env package to a new drivers/shared tree, as it is used by the modern docker and rkt driver packages, and is useful for 3rd party plugins.
-
- 27 Nov, 2018 1 commit
-
-
Mahmood Ali authored
This allows the container to be tagged with a user friendly image name (e.g. `redis:3.2`) rather than the image ID (e.g. `sha256:87856cc39862cec77541d68382e4867d7ccb29a85a17221446c857ddaebca916`). Useful for human debugging, as well as some debugging and image scanning tools. This risks two bad changes: 1. Discrepancy in image resolution between docker and Nomad's image loader. * I checked the image creation paths in Nomad, and noticed that we either pulled the image or inspect the image with the user provided name. 2. A race in image tagging where the tag is modified between image loading and container creation. * I, personally, don't think this case is cause for concern, as it is analogous to the task running a bit later. As long as the image is still present, creating the container should be good.
-