open-nomad/drivers/docker
Mahmood Ali 0b7085ba3a driver: allow disabling log collection
Operators commonly have docker logs aggregated using various tools and
don't need nomad to manage their docker logs.  Worse, Nomad uses a
somewhat heavy docker api call to collect them and it seems to cause
problems when a client runs hundreds of log collections.

Here we add a knob to disable log aggregation completely for nomad.
When log collection is disabled, we avoid running logmon and
docker_logger for the docker tasks in this implementation.

The downside here is once disabled, `nomad logs ...` commands and API
no longer return logs and operators must corrolate alloc-ids with their
aggregated log info.

This is meant as a stop gap measure.  Ideally, we'd follow up with at
least two changes:

First, we should optimize behavior when we can such that operators don't
need to disable docker log collection.  Potentially by reverting to
using pre-0.9 syslog aggregation in linux environments, though with
different trade-offs.

Second, when/if logs are disabled, nomad logs endpoints should lookup
docker logs api on demand.  This ensures that the cost of log collection
is paid sparingly.
2019-12-08 14:15:03 -05:00
..
cmd
docklog comment on use of init() for plugin handlers 2019-06-18 20:54:55 -04:00
test-resources/docker docker: periodically reconcile containers 2019-10-17 08:36:01 -04:00
util docker: Support stats on Windows 2019-02-22 14:19:58 +01:00
config.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
config_test.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
coordinator.go docker: add additional commens 2019-07-31 01:03:20 -04:00
coordinator_test.go
driver.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
driver_darwin_test.go
driver_default.go driver/docker: use default network mode 2019-07-31 21:07:46 +03:00
driver_linux_test.go tests: IsTravis() -> IsCI() 2019-02-20 08:21:03 -05:00
driver_pre09.go client: fix bug during 0.8 state up grade that causes external drivers to fail 2019-01-30 14:22:29 -05:00
driver_test.go docker: set default cpu cfs period (#6737) 2019-11-19 19:05:15 -05:00
driver_unix_test.go volumes: Add support for mount propagation 2019-10-14 14:09:58 +02:00
driver_windows.go driver/docker: use default network mode 2019-07-31 21:07:46 +03:00
driver_windows_test.go chore: General Cleanup 2019-01-17 18:43:14 +01:00
fingerprint.go Only start reconciler once in main driver 2019-10-18 14:43:23 -04:00
fingerprint_test.go docker: report unhealthy in unsupported Windows (#5356) 2019-02-27 08:10:23 -05:00
handle.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
network.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
progress.go
progress_test.go
reconciler.go add timeouts for docker reconciler docker calls 2019-10-18 15:31:13 -04:00
reconciler_test.go docker label refactoring and additional tests 2019-10-17 10:45:13 -04:00
state.go
stats.go docker: improve stats names and comments 2019-04-02 09:18:38 -07:00
stats_test.go docker: improve stats names and comments 2019-04-02 09:18:38 -07:00
utils.go utils: add missing error info in case of cmd failure (#6355) 2019-09-24 09:33:27 -04:00
utils_test.go driver/docker: Support volumes field in Windows 2019-04-25 09:02:44 -04:00
utils_unix_test.go docker: Test cleanup for windows 2019-01-17 18:43:14 +01:00
utils_windows_test.go driver/docker: Support volumes field in Windows 2019-04-25 09:02:44 -04:00
win32_volume_parse.go driver/docker: support unix destination mount path in windows 2019-08-01 19:54:08 +03:00