2020-05-30 14:29:47 +00:00
|
|
|
module github.com/hashicorp/nomad
|
|
|
|
|
2022-05-16 23:15:41 +00:00
|
|
|
go 1.18
|
2020-05-30 14:29:47 +00:00
|
|
|
|
2022-01-12 16:25:54 +00:00
|
|
|
// Pinned dependencies are noted in github.com/hashicorp/nomad/issues/11826
|
2020-05-30 14:29:47 +00:00
|
|
|
replace (
|
|
|
|
github.com/Microsoft/go-winio => github.com/endocrimes/go-winio v0.4.13-0.20190628114223-fb47a8b41948
|
2021-10-14 21:23:38 +00:00
|
|
|
github.com/hashicorp/go-discover => github.com/hashicorp/go-discover v0.0.0-20210818145131-c573d69da192
|
2020-10-21 14:21:13 +00:00
|
|
|
github.com/hashicorp/hcl => github.com/hashicorp/hcl v1.0.1-0.20201016140508-a07e7d50bbee
|
2020-05-30 14:29:47 +00:00
|
|
|
)
|
|
|
|
|
2022-01-12 16:25:54 +00:00
|
|
|
// Nomad is built using the current source of the API module
|
|
|
|
replace github.com/hashicorp/nomad/api => ./api
|
|
|
|
|
2020-05-30 14:29:47 +00:00
|
|
|
require (
|
|
|
|
github.com/LK4D4/joincontext v0.0.0-20171026170139-1724345da6d5
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/Microsoft/go-winio v0.4.17
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
2021-11-15 10:55:50 +00:00
|
|
|
github.com/armon/go-metrics v0.3.10
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/aws/aws-sdk-go v1.42.27
|
2021-03-11 21:39:55 +00:00
|
|
|
github.com/container-storage-interface/spec v1.4.0
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/containerd/go-cni v1.1.1
|
|
|
|
github.com/containernetworking/cni v1.0.1
|
2022-01-24 14:40:30 +00:00
|
|
|
github.com/containernetworking/plugins v1.0.1
|
|
|
|
github.com/coreos/go-iptables v0.6.0
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/coreos/go-semver v0.3.0
|
2022-04-04 14:25:02 +00:00
|
|
|
github.com/creack/pty v1.1.18
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/docker/cli v20.10.3-0.20220113150236-6e2838e18645+incompatible
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/docker/distribution v2.7.1+incompatible
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/docker/docker v20.10.12+incompatible
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/docker/go-units v0.4.0
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/docker/libnetwork v0.8.0-dev.2.0.20210525090646-64b7a4574d14
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/dustin/go-humanize v1.0.0
|
|
|
|
github.com/elazarl/go-bindata-assetfs v1.0.1-0.20200509193318-234c15e7648f
|
2022-04-26 17:43:25 +00:00
|
|
|
github.com/fatih/color v1.13.0 // indirect
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/fsouza/go-dockerclient v1.6.5
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/golang/protobuf v1.5.2
|
2021-10-27 13:39:16 +00:00
|
|
|
github.com/golang/snappy v0.0.4
|
2022-05-31 15:06:39 +00:00
|
|
|
github.com/google/go-cmp v0.5.8
|
2022-01-12 21:17:16 +00:00
|
|
|
github.com/gorilla/handlers v1.5.1
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/gorilla/websocket v1.4.2
|
2021-05-20 23:19:39 +00:00
|
|
|
github.com/gosuri/uilive v0.0.4
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.2.1-0.20200228141219-3ce3d519df39
|
2020-09-13 07:50:43 +00:00
|
|
|
github.com/hashicorp/consul v1.7.8
|
2022-04-22 16:58:54 +00:00
|
|
|
github.com/hashicorp/consul-template v0.29.0
|
2022-06-02 22:43:58 +00:00
|
|
|
github.com/hashicorp/consul/api v1.13.0
|
2021-07-22 14:26:20 +00:00
|
|
|
github.com/hashicorp/consul/sdk v0.8.0
|
2020-09-01 15:48:28 +00:00
|
|
|
github.com/hashicorp/cronexpr v1.1.1
|
2022-02-16 16:40:30 +00:00
|
|
|
github.com/hashicorp/go-bexpr v0.1.11
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de
|
2021-06-17 20:30:00 +00:00
|
|
|
github.com/hashicorp/go-cleanhttp v0.5.2
|
2020-11-13 23:18:36 +00:00
|
|
|
github.com/hashicorp/go-connlimit v0.3.0
|
2020-10-21 14:21:13 +00:00
|
|
|
github.com/hashicorp/go-cty-funcs v0.0.0-20200930094925-2721b1e36840
|
2021-10-14 21:23:38 +00:00
|
|
|
// NOTE: update the version for github.com/hashicorp/go-discover in the
|
|
|
|
// `replace` block as well to prevent other dependencies from pulling older
|
|
|
|
// versions.
|
2021-10-01 11:27:39 +00:00
|
|
|
github.com/hashicorp/go-discover v0.0.0-20210818145131-c573d69da192
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/go-envparse v0.0.0-20180119215841-310ca1881b22
|
2022-05-03 22:38:32 +00:00
|
|
|
github.com/hashicorp/go-getter v1.6.1
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/hashicorp/go-hclog v1.2.0
|
|
|
|
github.com/hashicorp/go-immutable-radix v1.3.1
|
2021-09-15 00:26:45 +00:00
|
|
|
github.com/hashicorp/go-memdb v1.3.2
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/go-msgpack v1.1.5
|
2021-07-27 20:33:18 +00:00
|
|
|
github.com/hashicorp/go-multierror v1.1.1
|
2021-09-07 07:27:00 +00:00
|
|
|
github.com/hashicorp/go-plugin v1.4.3
|
2022-02-24 14:34:54 +00:00
|
|
|
github.com/hashicorp/go-secure-stdlib/listenerutil v0.1.4
|
2022-04-05 18:18:10 +00:00
|
|
|
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/go-sockaddr v1.0.2
|
|
|
|
github.com/hashicorp/go-syslog v1.0.0
|
2021-07-20 17:55:31 +00:00
|
|
|
github.com/hashicorp/go-uuid v1.0.2
|
2022-02-03 21:41:10 +00:00
|
|
|
github.com/hashicorp/go-version v1.4.0
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/golang-lru v0.5.4
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/hashicorp/hcl v1.0.1-vault-3
|
2022-05-16 23:15:41 +00:00
|
|
|
github.com/hashicorp/hcl/v2 v2.9.2-0.20220525143345-ab3cae0737bc
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/logutils v1.0.0
|
2022-01-13 00:45:05 +00:00
|
|
|
github.com/hashicorp/memberlist v0.3.1
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hashicorp/net-rpc-msgpackrpc v0.0.0-20151116020338-a14192a58a69
|
2022-04-22 16:58:54 +00:00
|
|
|
github.com/hashicorp/nomad/api v0.0.0-20220407202126-2eba643965c4
|
2022-02-16 22:20:22 +00:00
|
|
|
github.com/hashicorp/raft v1.3.5
|
2022-02-16 16:30:03 +00:00
|
|
|
github.com/hashicorp/raft-boltdb/v2 v2.2.0
|
2022-02-24 22:34:56 +00:00
|
|
|
github.com/hashicorp/serf v0.9.7
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/hashicorp/vault/api v1.4.1
|
|
|
|
github.com/hashicorp/vault/sdk v0.4.1
|
|
|
|
github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/hpcloud/tail v1.0.1-0.20170814160653-37f427138745
|
2021-11-17 15:41:21 +00:00
|
|
|
github.com/kr/pretty v0.3.0
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/kr/text v0.2.0
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/mattn/go-colorable v0.1.12
|
2022-02-24 22:34:56 +00:00
|
|
|
github.com/miekg/dns v1.1.41
|
2022-02-24 14:34:54 +00:00
|
|
|
github.com/mitchellh/cli v1.1.2
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/mitchellh/colorstring v0.0.0-20150917214807-8631ce90f286
|
2022-01-25 16:43:36 +00:00
|
|
|
github.com/mitchellh/copystructure v1.2.0
|
2021-07-23 15:27:47 +00:00
|
|
|
github.com/mitchellh/go-glint v0.0.0-20210722152315-6515ceb4a127
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b
|
2021-05-20 23:19:39 +00:00
|
|
|
github.com/mitchellh/go-testing-interface v1.14.1
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/mitchellh/hashstructure v1.1.0
|
2022-01-24 18:16:15 +00:00
|
|
|
github.com/mitchellh/mapstructure v1.4.3
|
2022-01-25 16:43:36 +00:00
|
|
|
github.com/mitchellh/reflectwalk v1.0.2
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/moby/sys/mount v0.3.0
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/moby/sys/mountinfo v0.6.0
|
2022-06-26 13:38:16 +00:00
|
|
|
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/opencontainers/runc v1.0.3
|
|
|
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
|
2020-08-07 01:54:15 +00:00
|
|
|
github.com/posener/complete v1.2.3
|
2022-01-19 17:40:19 +00:00
|
|
|
github.com/prometheus/client_golang v1.12.0
|
|
|
|
github.com/prometheus/common v0.32.1
|
2022-01-24 20:35:06 +00:00
|
|
|
github.com/rs/cors v1.8.2
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/ryanuber/columnize v2.1.1-0.20170703205827-abc90934186a+incompatible
|
|
|
|
github.com/ryanuber/go-glob v1.0.0
|
|
|
|
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529
|
2022-01-27 18:30:35 +00:00
|
|
|
github.com/shirou/gopsutil/v3 v3.21.12
|
2022-06-09 15:43:54 +00:00
|
|
|
github.com/shoenig/test v0.2.6
|
2020-05-30 14:29:47 +00:00
|
|
|
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c
|
2022-06-24 15:33:57 +00:00
|
|
|
github.com/stretchr/testify v1.7.5
|
2021-03-31 14:57:02 +00:00
|
|
|
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
|
2021-04-07 20:16:49 +00:00
|
|
|
github.com/zclconf/go-cty v1.8.0
|
2020-10-21 14:21:13 +00:00
|
|
|
github.com/zclconf/go-cty-yaml v1.0.2
|
2022-02-16 16:30:03 +00:00
|
|
|
go.etcd.io/bbolt v1.3.5
|
2021-10-05 16:04:09 +00:00
|
|
|
go.uber.org/goleak v1.1.12
|
2022-05-16 23:15:41 +00:00
|
|
|
golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167
|
2022-06-09 15:43:54 +00:00
|
|
|
golang.org/x/exp v0.0.0-20220609121020-a51bd0440498
|
2022-03-16 23:33:20 +00:00
|
|
|
golang.org/x/net v0.0.0-20220225172249-27dd8689420f
|
2021-10-05 16:04:09 +00:00
|
|
|
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
2022-05-03 22:38:32 +00:00
|
|
|
golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e
|
2022-03-16 23:33:20 +00:00
|
|
|
golang.org/x/time v0.0.0-20220224211638-0e9765cccd65
|
|
|
|
google.golang.org/grpc v1.45.0
|
2022-03-23 14:39:28 +00:00
|
|
|
google.golang.org/protobuf v1.27.1
|
2020-05-30 14:29:47 +00:00
|
|
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
|
|
|
|
gopkg.in/tomb.v2 v2.0.0-20140626144623-14b3d72120e8
|
2022-01-31 20:49:05 +00:00
|
|
|
oss.indeed.com/go/libtime v1.5.0
|
2021-11-05 19:34:24 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
require (
|
2021-11-17 16:14:44 +00:00
|
|
|
cloud.google.com/go v0.97.0 // indirect
|
|
|
|
cloud.google.com/go/storage v1.18.2 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/Azure/azure-sdk-for-go v56.3.0+incompatible // indirect
|
|
|
|
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/Azure/go-autorest/autorest v0.11.20 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/adal v0.9.15 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/Azure/go-autorest/autorest/azure/auth v0.5.1 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/azure/cli v0.4.0 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/validation v0.3.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/BurntSushi/toml v1.0.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/DataDog/datadog-go v3.2.0+incompatible // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
2022-02-24 14:34:54 +00:00
|
|
|
github.com/Masterminds/semver v1.5.0 // indirect
|
|
|
|
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/Microsoft/hcsshim v0.8.23 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/VividCortex/ewma v1.1.1 // indirect
|
|
|
|
github.com/agext/levenshtein v1.2.1 // indirect
|
|
|
|
github.com/apparentlymart/go-cidr v1.0.1 // indirect
|
|
|
|
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
|
|
|
github.com/armon/go-radix v1.0.0 // indirect
|
|
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
|
|
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
|
|
|
|
github.com/bgentry/speakeasy v0.1.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/bits-and-blooms/bitset v1.2.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/bmatcuk/doublestar v1.1.5 // indirect
|
2022-02-23 20:15:12 +00:00
|
|
|
github.com/boltdb/bolt v1.3.1 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/census-instrumentation/opencensus-proto v0.3.0 // indirect
|
|
|
|
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/checkpoint-restore/go-criu/v5 v5.3.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/cheggaaa/pb/v3 v3.0.5 // indirect
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/cilium/ebpf v0.8.1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible // indirect
|
|
|
|
github.com/circonus-labs/circonusllhist v0.1.3 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect
|
|
|
|
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/containerd/cgroups v1.0.2 // indirect
|
|
|
|
github.com/containerd/console v1.0.3 // indirect
|
|
|
|
github.com/containerd/containerd v1.5.9 // indirect
|
|
|
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
|
|
github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba // indirect
|
|
|
|
github.com/digitalocean/godo v1.10.0 // indirect
|
|
|
|
github.com/dimchansky/utfbom v1.1.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/docker/docker-credential-helpers v0.6.4 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/docker/go-connections v0.4.0 // indirect
|
|
|
|
github.com/docker/go-metrics v0.0.1 // indirect
|
|
|
|
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/envoyproxy/go-control-plane v0.10.0 // indirect
|
|
|
|
github.com/envoyproxy/protoc-gen-validate v0.6.2 // indirect
|
2022-01-12 21:17:16 +00:00
|
|
|
github.com/felixge/httpsnoop v1.0.1 // indirect
|
2022-01-27 18:30:35 +00:00
|
|
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
2022-01-31 20:49:05 +00:00
|
|
|
github.com/gojuno/minimock/v3 v3.0.6 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/golang-jwt/jwt/v4 v4.0.0 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/google/btree v1.0.0 // indirect
|
|
|
|
github.com/google/go-querystring v0.0.0-20170111101155-53e6ce116135 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/google/uuid v1.3.0 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/googleapis/gax-go/v2 v2.1.1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/gookit/color v1.3.1 // indirect
|
|
|
|
github.com/gophercloud/gophercloud v0.1.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/gorilla/mux v1.8.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
|
|
github.com/hashicorp/go-safetemp v1.0.0 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect
|
|
|
|
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.4 // indirect
|
2022-02-24 14:34:54 +00:00
|
|
|
github.com/hashicorp/go-secure-stdlib/reloadutil v0.1.1 // indirect
|
|
|
|
github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1 // indirect
|
2022-02-24 22:34:56 +00:00
|
|
|
github.com/hashicorp/mdns v1.0.4 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443 // indirect
|
2022-02-24 14:34:54 +00:00
|
|
|
github.com/huandu/xstrings v1.3.2 // indirect
|
|
|
|
github.com/imdario/mergo v0.3.12 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 // indirect
|
2022-02-24 14:34:54 +00:00
|
|
|
github.com/jefferai/isbadcipher v0.0.0-20190226160619-51d2077c035f // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
|
|
github.com/joyent/triton-go v0.0.0-20190112182421-51ffac552869 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/klauspost/compress v1.13.6 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/linode/linodego v0.7.1 // indirect
|
2022-01-27 18:30:35 +00:00
|
|
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
2021-11-17 14:16:12 +00:00
|
|
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/mattn/go-runewidth v0.0.7 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
|
|
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
2022-02-16 16:40:30 +00:00
|
|
|
github.com/mitchellh/pointerstructure v1.2.1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
|
|
|
github.com/mrunalp/fileutils v0.5.0 // indirect
|
|
|
|
github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2 // indirect
|
|
|
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/oklog/run v1.1.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
github.com/opencontainers/image-spec v1.0.2 // indirect
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/opencontainers/selinux v1.10.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
2022-04-02 00:24:02 +00:00
|
|
|
github.com/pkg/errors v0.9.1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
2022-01-27 18:30:35 +00:00
|
|
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/prometheus/client_model v0.2.0 // indirect
|
2022-01-19 17:40:19 +00:00
|
|
|
github.com/prometheus/procfs v0.7.3 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03 // indirect
|
2021-11-17 15:41:21 +00:00
|
|
|
github.com/rogpeppe/go-internal v1.6.1 // indirect
|
client: enable support for cgroups v2
This PR introduces support for using Nomad on systems with cgroups v2 [1]
enabled as the cgroups controller mounted on /sys/fs/cgroups. Newer Linux
distros like Ubuntu 21.10 are shipping with cgroups v2 only, causing problems
for Nomad users.
Nomad mostly "just works" with cgroups v2 due to the indirection via libcontainer,
but not so for managing cpuset cgroups. Before, Nomad has been making use of
a feature in v1 where a PID could be a member of more than one cgroup. In v2
this is no longer possible, and so the logic around computing cpuset values
must be modified. When Nomad detects v2, it manages cpuset values in-process,
rather than making use of cgroup heirarchy inheritence via shared/reserved
parents.
Nomad will only activate the v2 logic when it detects cgroups2 is mounted at
/sys/fs/cgroups. This means on systems running in hybrid mode with cgroups2
mounted at /sys/fs/cgroups/unified (as is typical) Nomad will continue to
use the v1 logic, and should operate as before. Systems that do not support
cgroups v2 are also not affected.
When v2 is activated, Nomad will create a parent called nomad.slice (unless
otherwise configured in Client conifg), and create cgroups for tasks using
naming convention <allocID>-<task>.scope. These follow the naming convention
set by systemd and also used by Docker when cgroups v2 is detected.
Client nodes now export a new fingerprint attribute, unique.cgroups.version
which will be set to 'v1' or 'v2' to indicate the cgroups regime in use by
Nomad.
The new cpuset management strategy fixes #11705, where docker tasks that
spawned processes on startup would "leak". In cgroups v2, the PIDs are
started in the cgroup they will always live in, and thus the cause of
the leak is eliminated.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Closes #11289
Fixes #11705 #11773 #11933
2022-02-28 22:24:01 +00:00
|
|
|
github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/sirupsen/logrus v1.8.1 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d // indirect
|
2022-06-24 15:33:57 +00:00
|
|
|
github.com/stretchr/objx v0.4.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/tencentcloud/tencentcloud-sdk-go v1.0.162 // indirect
|
|
|
|
github.com/tj/go-spin v1.1.0 // indirect
|
2022-01-27 18:30:35 +00:00
|
|
|
github.com/tklauser/go-sysconf v0.3.9 // indirect
|
|
|
|
github.com/tklauser/numcpus v0.3.0 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
github.com/ulikunitz/xz v0.5.10 // indirect
|
2022-01-24 14:40:30 +00:00
|
|
|
github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 // indirect
|
|
|
|
github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect
|
|
|
|
github.com/vmihailenco/tagparser v0.1.1 // indirect
|
|
|
|
github.com/vmware/govmomi v0.18.0 // indirect
|
2022-01-27 18:30:35 +00:00
|
|
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
go.opencensus.io v0.23.0 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
go.uber.org/atomic v1.9.0 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
golang.org/x/text v0.3.7 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
2021-11-17 16:14:44 +00:00
|
|
|
google.golang.org/api v0.60.0 // indirect
|
|
|
|
google.golang.org/appengine v1.6.7 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106 // indirect
|
2021-11-05 19:34:24 +00:00
|
|
|
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
|
|
|
|
gopkg.in/fsnotify.v1 v1.4.7 // indirect
|
|
|
|
gopkg.in/resty.v1 v1.12.0 // indirect
|
2022-03-16 23:33:20 +00:00
|
|
|
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
2022-01-14 15:46:06 +00:00
|
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
2022-06-24 15:33:57 +00:00
|
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
2020-05-30 14:29:47 +00:00
|
|
|
)
|