mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
* client/fingerprint: correctly fingerprint E/P cores of Apple Silicon chips This PR adds detection of asymetric core types (Power & Efficiency) (P/E) when running on M1/M2 Apple Silicon CPUs. This functionality is provided by shoenig/go-m1cpu which makes use of the Apple IOKit framework to read undocumented registers containing CPU performance data. Currently working on getting that functionality merged upstream into gopsutil, but gopsutil would still not support detecting P vs E cores like this PR does. Also refactors the CPUFingerprinter code to handle the mixed core types, now setting power vs efficiency cpu attributes. For now the scheduler is still unaware of mixed core types - on Apple platforms tasks cannot reserve cores anyway so it doesn't matter, but at least now the total CPU shares available will be correct. Future work should include adding support for detecting P/E cores on the latest and upcoming Intel chips, where computation of total cpu shares is currently incorrect. For that, we should also include updating the scheduler to be core-type aware, so that tasks of resources.cores on Linux platforms can be assigned the correct number of CPU shares for the core type(s) they have been assigned. node attributes before cpu.arch = arm64 cpu.modelname = Apple M2 Pro cpu.numcores = 12 cpu.reservablecores = 0 cpu.totalcompute = 1000 node attributes after cpu.arch = arm64 cpu.frequency.efficiency = 2424 cpu.frequency.power = 3504 cpu.modelname = Apple M2 Pro cpu.numcores.efficiency = 4 cpu.numcores.power = 8 cpu.reservablecores = 0 cpu.totalcompute = 37728 * fingerprint/cpu: follow up cr items
289 lines
14 KiB
Modula-2
289 lines
14 KiB
Modula-2
module github.com/hashicorp/nomad
|
|
|
|
go 1.20
|
|
|
|
// Pinned dependencies are noted in github.com/hashicorp/nomad/issues/11826
|
|
replace (
|
|
github.com/Microsoft/go-winio => github.com/endocrimes/go-winio v0.4.13-0.20190628114223-fb47a8b41948
|
|
github.com/hashicorp/hcl => github.com/hashicorp/hcl v1.0.1-0.20201016140508-a07e7d50bbee
|
|
)
|
|
|
|
// Nomad is built using the current source of the API module
|
|
replace github.com/hashicorp/nomad/api => ./api
|
|
|
|
require (
|
|
github.com/LK4D4/joincontext v0.0.0-20171026170139-1724345da6d5
|
|
github.com/Microsoft/go-winio v0.6.0
|
|
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
|
github.com/armon/go-metrics v0.4.1
|
|
github.com/aws/aws-sdk-go v1.44.184
|
|
github.com/container-storage-interface/spec v1.7.0
|
|
github.com/containerd/go-cni v1.1.7
|
|
github.com/containernetworking/cni v1.1.2
|
|
github.com/containernetworking/plugins v1.2.0
|
|
github.com/coreos/go-iptables v0.6.0
|
|
github.com/creack/pty v1.1.18
|
|
github.com/docker/cli v23.0.1+incompatible
|
|
github.com/docker/distribution v2.8.1+incompatible
|
|
github.com/docker/docker v20.10.23+incompatible
|
|
github.com/docker/go-units v0.5.0
|
|
github.com/docker/libnetwork v0.8.0-dev.2.0.20210525090646-64b7a4574d14
|
|
github.com/dustin/go-humanize v1.0.0
|
|
github.com/elazarl/go-bindata-assetfs v1.0.1-0.20200509193318-234c15e7648f
|
|
github.com/fsouza/go-dockerclient v1.7.9
|
|
github.com/golang/protobuf v1.5.2
|
|
github.com/golang/snappy v0.0.4
|
|
github.com/google/go-cmp v0.5.9
|
|
github.com/gorilla/handlers v1.5.1
|
|
github.com/gorilla/websocket v1.5.0
|
|
github.com/gosuri/uilive v0.0.4
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
|
|
github.com/hashicorp/cap v0.2.0
|
|
github.com/hashicorp/consul-template v0.29.6-0.20221026140134-90370e07bf62
|
|
github.com/hashicorp/consul/api v1.18.0
|
|
github.com/hashicorp/consul/sdk v0.13.0
|
|
github.com/hashicorp/cronexpr v1.1.1
|
|
github.com/hashicorp/go-bexpr v0.1.11
|
|
github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de
|
|
github.com/hashicorp/go-cleanhttp v0.5.2
|
|
github.com/hashicorp/go-connlimit v0.3.0
|
|
github.com/hashicorp/go-cty-funcs v0.0.0-20200930094925-2721b1e36840
|
|
github.com/hashicorp/go-discover v0.0.0-20220621183603-a413e131e836
|
|
github.com/hashicorp/go-envparse v0.0.0-20180119215841-310ca1881b22
|
|
github.com/hashicorp/go-getter v1.7.0
|
|
github.com/hashicorp/go-hclog v1.4.0
|
|
github.com/hashicorp/go-immutable-radix/v2 v2.0.0
|
|
github.com/hashicorp/go-kms-wrapping/v2 v2.0.5
|
|
github.com/hashicorp/go-memdb v1.3.4
|
|
github.com/hashicorp/go-msgpack v1.1.5
|
|
github.com/hashicorp/go-multierror v1.1.1
|
|
github.com/hashicorp/go-plugin v1.4.9
|
|
github.com/hashicorp/go-secure-stdlib/listenerutil v0.1.4
|
|
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2
|
|
github.com/hashicorp/go-set v0.1.9
|
|
github.com/hashicorp/go-sockaddr v1.0.2
|
|
github.com/hashicorp/go-syslog v1.0.0
|
|
github.com/hashicorp/go-uuid v1.0.3
|
|
github.com/hashicorp/go-version v1.6.0
|
|
github.com/hashicorp/golang-lru/v2 v2.0.1
|
|
github.com/hashicorp/hcl v1.0.1-vault-3
|
|
github.com/hashicorp/hcl/v2 v2.9.2-0.20220525143345-ab3cae0737bc
|
|
github.com/hashicorp/hil v0.0.0-20210521165536-27a72121fd40
|
|
github.com/hashicorp/logutils v1.0.0
|
|
github.com/hashicorp/memberlist v0.5.0
|
|
github.com/hashicorp/net-rpc-msgpackrpc v0.0.0-20151116020338-a14192a58a69
|
|
github.com/hashicorp/nomad/api v0.0.0-20221006174558-2aa7e66bdb52
|
|
github.com/hashicorp/raft v1.3.11
|
|
github.com/hashicorp/raft-autopilot v0.1.6
|
|
github.com/hashicorp/raft-boltdb/v2 v2.2.2
|
|
github.com/hashicorp/serf v0.10.1
|
|
github.com/hashicorp/vault/api v1.8.3
|
|
github.com/hashicorp/vault/sdk v0.7.0
|
|
github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87
|
|
github.com/hpcloud/tail v1.0.1-0.20170814160653-37f427138745
|
|
github.com/kr/pretty v0.3.1
|
|
github.com/kr/text v0.2.0
|
|
github.com/mattn/go-colorable v0.1.13
|
|
github.com/miekg/dns v1.1.50
|
|
github.com/mitchellh/cli v1.1.5
|
|
github.com/mitchellh/colorstring v0.0.0-20150917214807-8631ce90f286
|
|
github.com/mitchellh/copystructure v1.2.0
|
|
github.com/mitchellh/go-glint v0.0.0-20210722152315-6515ceb4a127
|
|
github.com/mitchellh/go-homedir v1.1.0
|
|
github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b
|
|
github.com/mitchellh/go-testing-interface v1.14.2-0.20210821155943-2d9075ca8770
|
|
github.com/mitchellh/hashstructure v1.1.0
|
|
github.com/mitchellh/mapstructure v1.5.0
|
|
github.com/mitchellh/reflectwalk v1.0.2
|
|
github.com/moby/sys/mount v0.3.3
|
|
github.com/moby/sys/mountinfo v0.6.2
|
|
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6
|
|
github.com/opencontainers/runc v1.1.4
|
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
|
|
github.com/posener/complete v1.2.3
|
|
github.com/prometheus/client_golang v1.14.0
|
|
github.com/prometheus/common v0.39.0
|
|
github.com/rs/cors v1.8.3
|
|
github.com/ryanuber/columnize v2.1.2+incompatible
|
|
github.com/ryanuber/go-glob v1.0.0
|
|
github.com/shirou/gopsutil/v3 v3.23.1
|
|
github.com/shoenig/go-landlock v0.1.5
|
|
github.com/shoenig/go-m1cpu v0.1.4
|
|
github.com/shoenig/test v0.6.3
|
|
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c
|
|
github.com/stretchr/testify v1.8.1
|
|
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
|
|
github.com/zclconf/go-cty v1.12.1
|
|
github.com/zclconf/go-cty-yaml v1.0.3
|
|
go.etcd.io/bbolt v1.3.6
|
|
go.uber.org/goleak v1.2.1
|
|
golang.org/x/crypto v0.7.0
|
|
golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a
|
|
golang.org/x/sync v0.1.0
|
|
golang.org/x/sys v0.6.0
|
|
golang.org/x/time v0.0.0-20220224211638-0e9765cccd65
|
|
google.golang.org/grpc v1.53.0
|
|
google.golang.org/protobuf v1.28.1
|
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
|
|
gopkg.in/tomb.v2 v2.0.0-20140626144623-14b3d72120e8
|
|
oss.indeed.com/go/libtime v1.6.0
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go v0.107.0 // indirect
|
|
cloud.google.com/go/compute v1.15.1 // indirect
|
|
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
|
cloud.google.com/go/iam v0.8.0 // indirect
|
|
cloud.google.com/go/storage v1.27.0 // indirect
|
|
github.com/Azure/azure-sdk-for-go v56.3.0+incompatible // indirect
|
|
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
|
github.com/Azure/go-autorest/autorest v0.11.20 // indirect
|
|
github.com/Azure/go-autorest/autorest/adal v0.9.15 // indirect
|
|
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
|
|
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
|
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
|
github.com/BurntSushi/toml v1.2.1 // indirect
|
|
github.com/DataDog/datadog-go v3.2.0+incompatible // indirect
|
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
|
github.com/Masterminds/semver v1.5.0 // indirect
|
|
github.com/Masterminds/semver/v3 v3.1.1 // indirect
|
|
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
|
github.com/Masterminds/sprig/v3 v3.2.1
|
|
github.com/Microsoft/hcsshim v0.9.6 // indirect
|
|
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
|
|
github.com/bmatcuk/doublestar v1.1.5 // indirect
|
|
github.com/boltdb/bolt v1.3.1 // indirect
|
|
github.com/brianvoe/gofakeit/v6 v6.20.1
|
|
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
|
github.com/checkpoint-restore/go-criu/v5 v5.3.0 // indirect
|
|
github.com/cheggaaa/pb/v3 v3.0.5 // indirect
|
|
github.com/cilium/ebpf v0.9.1 // indirect
|
|
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible // indirect
|
|
github.com/circonus-labs/circonusllhist v0.1.3 // indirect
|
|
github.com/containerd/cgroups v1.0.4 // indirect
|
|
github.com/containerd/console v1.0.3 // indirect
|
|
github.com/containerd/containerd v1.6.18 // indirect
|
|
github.com/coreos/go-oidc/v3 v3.1.0 // indirect
|
|
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
|
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
|
|
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
|
|
github.com/docker/docker-credential-helpers v0.6.4 // indirect
|
|
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
|
|
github.com/fatih/color v1.13.0 // indirect
|
|
github.com/felixge/httpsnoop v1.0.1 // indirect
|
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/gojuno/minimock/v3 v3.0.6 // indirect
|
|
github.com/golang-jwt/jwt/v4 v4.4.3
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/google/btree v1.0.0 // indirect
|
|
github.com/google/go-querystring v0.0.0-20170111101155-53e6ce116135 // indirect
|
|
github.com/google/uuid v1.3.0 // indirect
|
|
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.7.0 // indirect
|
|
github.com/gookit/color v1.3.1 // indirect
|
|
github.com/gophercloud/gophercloud v0.1.0 // indirect
|
|
github.com/gorilla/mux v1.8.0 // indirect
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
|
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
github.com/hashicorp/go-safetemp v1.0.0 // indirect
|
|
github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect
|
|
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect
|
|
github.com/hashicorp/go-secure-stdlib/reloadutil v0.1.1 // indirect
|
|
github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2 // indirect
|
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
github.com/hashicorp/mdns v1.0.4 // indirect
|
|
github.com/hashicorp/vault/api/auth/kubernetes v0.3.0 // indirect
|
|
github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443 // indirect
|
|
github.com/huandu/xstrings v1.3.2 // indirect
|
|
github.com/imdario/mergo v0.3.13 // indirect
|
|
github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 // indirect
|
|
github.com/jefferai/isbadcipher v0.0.0-20190226160619-51d2077c035f // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/joyent/triton-go v0.0.0-20190112182421-51ffac552869 // indirect
|
|
github.com/klauspost/compress v1.15.11 // indirect
|
|
github.com/linode/linodego v0.7.1 // indirect
|
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
|
github.com/mattn/go-isatty v0.0.16 // indirect
|
|
github.com/mattn/go-runewidth v0.0.12 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
|
github.com/mitchellh/pointerstructure v1.2.1
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
|
github.com/mrunalp/fileutils v0.5.0 // indirect
|
|
github.com/muesli/reflow v0.3.0
|
|
github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2 // indirect
|
|
github.com/oklog/run v1.1.0 // indirect
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
|
github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect
|
|
github.com/opencontainers/selinux v1.10.1 // indirect
|
|
github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c // indirect
|
|
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
|
github.com/prometheus/client_model v0.3.0 // indirect
|
|
github.com/prometheus/procfs v0.8.0 // indirect
|
|
github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03 // indirect
|
|
github.com/rivo/uniseg v0.2.0 // indirect
|
|
github.com/rogpeppe/go-internal v1.9.0 // indirect
|
|
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect
|
|
github.com/seccomp/libseccomp-golang v0.10.0 // indirect
|
|
github.com/shopspring/decimal v1.2.0 // indirect
|
|
github.com/sirupsen/logrus v1.9.0 // indirect
|
|
github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d // indirect
|
|
github.com/spf13/cast v1.3.1 // indirect
|
|
github.com/stretchr/objx v0.5.0 // indirect
|
|
github.com/tencentcloud/tencentcloud-sdk-go v1.0.162 // indirect
|
|
github.com/tj/go-spin v1.1.0 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.11 // indirect
|
|
github.com/tklauser/numcpus v0.6.0 // indirect
|
|
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 // indirect
|
|
github.com/ulikunitz/xz v0.5.10 // indirect
|
|
github.com/vishvananda/netlink v1.2.1-beta.2 // indirect
|
|
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74 // indirect
|
|
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
|
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
|
go.opencensus.io v0.24.0 // indirect
|
|
go.uber.org/atomic v1.9.0 // indirect
|
|
golang.org/x/mod v0.8.0 // indirect
|
|
golang.org/x/net v0.8.0 // indirect
|
|
golang.org/x/oauth2 v0.4.0 // indirect
|
|
golang.org/x/term v0.6.0 // indirect
|
|
golang.org/x/text v0.8.0 // indirect
|
|
golang.org/x/tools v0.6.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
|
google.golang.org/api v0.103.0 // indirect
|
|
google.golang.org/appengine v1.6.7 // indirect
|
|
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
|
|
gopkg.in/fsnotify.v1 v1.4.7 // indirect
|
|
gopkg.in/resty.v1 v1.12.0 // indirect
|
|
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
kernel.org/pub/linux/libs/security/libcap/psx v1.2.66 // indirect
|
|
)
|