mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-06 20:13:43 +09:00
GPUNode is the hoster's per-node view of GPUs and the binder's source of device health, so something on each node has to report it. The agent reads the GPU functions from sysfs and what kubelet's device plugins make of them from the pod-resources API. Plugins report devices by PCI address, mdev UUID or IOMMU group, so each ID is resolved through sysfs by its shape rather than by knowing the plugin. A group counts only through functions bound to vfio, so the plain indexes NVIDIA's container plugin may report do not read as groups. GPUs of NVIDIA's container plugin, reported by NVML UUID, cannot be placed through sysfs, but their resource name still joins resourceNames, since pods request GPUs by it. pod-resources carries no health; kubelet lists only healthy devices as allocatable, which is what the agent reads health from, and it counts them per function, because an mdev parent serves several. A device named by its IOMMU group counts once, on the group's lowest-addressed GPU, however many GPUs the group holds. Pods in a final phase are skipped because kubelet 1.32 and 1.33 still list them with devices a new pod may hold. The binder writes conditions into the same status, so the agent only merge-patches its own fields, and it writes no GPUNode but its own node's. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <f@lex.la>
149 lines
6.8 KiB
AMPL
149 lines
6.8 KiB
AMPL
// This is a generated file. Do not edit directly.
|
|
|
|
module github.com/cozystack/cozystack
|
|
|
|
go 1.27.1
|
|
|
|
require (
|
|
github.com/cert-manager/cert-manager v1.19.6
|
|
github.com/cozystack/cozystack-scheduler/pkg/apis v0.1.1
|
|
github.com/emicklei/dot v1.11.0
|
|
github.com/fluxcd/helm-controller/api v1.5.1
|
|
github.com/fluxcd/pkg/apis/kustomize v1.15.0
|
|
github.com/fluxcd/pkg/apis/meta v1.26.0
|
|
github.com/fluxcd/source-controller/api v1.8.5
|
|
github.com/fluxcd/source-watcher/api/v2 v2.1.1
|
|
github.com/go-logr/logr v1.4.4
|
|
github.com/go-logr/zapr v1.3.0
|
|
github.com/go-task/slim-sprig/v3 v3.0.0
|
|
github.com/onsi/ginkgo/v2 v2.33.0
|
|
github.com/onsi/gomega v1.43.1
|
|
github.com/prometheus/client_golang v1.24.1
|
|
github.com/robfig/cron/v3 v3.0.1
|
|
github.com/spf13/cobra v1.10.2
|
|
github.com/spf13/pflag v1.0.10
|
|
github.com/vmware-tanzu/velero v1.18.3
|
|
go.uber.org/zap v1.28.0
|
|
gomodules.xyz/jsonpatch/v2 v2.5.0
|
|
google.golang.org/grpc v1.83.2
|
|
k8s.io/api v0.37.1
|
|
k8s.io/apiextensions-apiserver v0.37.1
|
|
k8s.io/apimachinery v0.37.1
|
|
k8s.io/apiserver v0.37.1
|
|
k8s.io/client-go v0.37.1
|
|
k8s.io/component-base v0.37.1
|
|
k8s.io/klog/v2 v2.140.0
|
|
k8s.io/kube-openapi v0.0.0-20260721132016-d427ff9ee9ad
|
|
k8s.io/kubelet v0.37.1
|
|
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3
|
|
sigs.k8s.io/container-object-storage-interface-api v0.1.0
|
|
sigs.k8s.io/controller-runtime v0.25.1
|
|
sigs.k8s.io/gateway-api v1.4.1
|
|
sigs.k8s.io/randfill v1.0.0
|
|
sigs.k8s.io/structured-merge-diff/v6 v6.4.2
|
|
sigs.k8s.io/yaml v1.6.0
|
|
)
|
|
|
|
require (
|
|
cel.dev/expr v0.25.3 // indirect
|
|
github.com/Masterminds/semver/v3 v3.5.0 // indirect
|
|
github.com/NYTimes/gziphandler v1.1.1 // indirect
|
|
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/blang/semver/v4 v4.0.0 // indirect
|
|
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/coreos/go-semver v0.3.1 // indirect
|
|
github.com/coreos/go-systemd/v22 v22.7.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/dustin/go-humanize v1.1.0 // indirect
|
|
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
|
|
github.com/evanphx/json-patch v5.9.11+incompatible // indirect
|
|
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
|
|
github.com/felixge/httpsnoop v1.1.0 // indirect
|
|
github.com/fluxcd/pkg/apis/acl v0.11.0 // indirect
|
|
github.com/fsnotify/fsnotify v1.10.1 // indirect
|
|
github.com/fxamacker/cbor/v2 v2.9.4 // indirect
|
|
github.com/gkampitakis/go-snaps v0.5.23 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-openapi/jsonpointer v1.0.1 // indirect
|
|
github.com/go-openapi/jsonreference v1.0.2 // indirect
|
|
github.com/go-openapi/swag v0.29.2 // indirect
|
|
github.com/go-openapi/swag/cmdutils v0.29.2 // indirect
|
|
github.com/go-openapi/swag/conv v0.29.2 // indirect
|
|
github.com/go-openapi/swag/fileutils v0.29.2 // indirect
|
|
github.com/go-openapi/swag/jsonutils v0.29.2 // indirect
|
|
github.com/go-openapi/swag/loading v0.29.2 // indirect
|
|
github.com/go-openapi/swag/mangling v0.29.2 // indirect
|
|
github.com/go-openapi/swag/netutils v0.29.2 // indirect
|
|
github.com/go-openapi/swag/pools v0.29.2 // indirect
|
|
github.com/go-openapi/swag/stringutils v0.29.2 // indirect
|
|
github.com/go-openapi/swag/typeutils v0.29.2 // indirect
|
|
github.com/go-openapi/swag/yamlutils v0.29.2 // indirect
|
|
github.com/go-openapi/testify/enable/yaml/v2 v2.8.0 // indirect
|
|
github.com/go-openapi/testify/v2 v2.8.0 // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/google/cel-go v0.29.2 // indirect
|
|
github.com/google/gnostic-models v0.7.1 // indirect
|
|
github.com/google/go-cmp v0.7.0 // indirect
|
|
github.com/google/pprof v0.0.0-20260906184651-6331bc6350fe // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.4 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0 // indirect
|
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/klauspost/compress v1.20.0 // indirect
|
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
github.com/moby/spdystream v0.5.1 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/prometheus/client_model v0.6.3 // indirect
|
|
github.com/prometheus/common v0.71.0 // indirect
|
|
github.com/prometheus/procfs v0.22.0 // indirect
|
|
github.com/rogpeppe/go-internal v1.16.0 // indirect
|
|
github.com/sirupsen/logrus v1.10.2 // indirect
|
|
github.com/tidwall/match v1.2.0 // indirect
|
|
github.com/x448/float16 v0.8.4 // indirect
|
|
go.etcd.io/etcd/api/v3 v3.7.0 // indirect
|
|
go.etcd.io/etcd/client/pkg/v3 v3.7.0 // indirect
|
|
go.etcd.io/etcd/client/v3 v3.7.0 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.71.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.71.0 // indirect
|
|
go.opentelemetry.io/otel v1.46.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.46.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.46.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.46.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.46.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.46.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v1.11.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.yaml.in/yaml/v2 v2.4.4 // indirect
|
|
go.yaml.in/yaml/v3 v3.0.5 // indirect
|
|
golang.org/x/crypto v0.57.0 // indirect
|
|
golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba // indirect
|
|
golang.org/x/mod v0.41.0 // indirect
|
|
golang.org/x/net v0.59.0 // indirect
|
|
golang.org/x/oauth2 v0.37.0 // indirect
|
|
golang.org/x/sync v0.23.0 // indirect
|
|
golang.org/x/sys v0.48.0 // indirect
|
|
golang.org/x/term v0.46.0 // indirect
|
|
golang.org/x/text v0.42.0 // indirect
|
|
golang.org/x/time v0.16.0 // indirect
|
|
golang.org/x/tools v0.50.0 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20260921155816-b14227669459 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20260921155816-b14227669459 // indirect
|
|
google.golang.org/protobuf v1.36.12 // indirect
|
|
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
|
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
|
|
k8s.io/kms v0.37.1 // indirect
|
|
k8s.io/streaming v0.37.1 // indirect
|
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.36.0 // indirect
|
|
sigs.k8s.io/json v0.0.0-20260909141634-11ed52e25bc5 // indirect
|
|
)
|