vendor: update google/cadvisor and opencontainers/runc
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
1
vendor/github.com/google/cadvisor/accelerators/BUILD
generated
vendored
1
vendor/github.com/google/cadvisor/accelerators/BUILD
generated
vendored
@@ -7,6 +7,7 @@ go_library(
|
||||
importpath = "github.com/google/cadvisor/accelerators",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//vendor/github.com/google/cadvisor/container:go_default_library",
|
||||
"//vendor/github.com/google/cadvisor/info/v1:go_default_library",
|
||||
"//vendor/github.com/google/cadvisor/stats:go_default_library",
|
||||
"//vendor/github.com/mindprince/gonvml:go_default_library",
|
||||
|
24
vendor/github.com/google/cadvisor/accelerators/nvidia.go
generated
vendored
24
vendor/github.com/google/cadvisor/accelerators/nvidia.go
generated
vendored
@@ -24,6 +24,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/google/cadvisor/container"
|
||||
info "github.com/google/cadvisor/info/v1"
|
||||
"github.com/google/cadvisor/stats"
|
||||
|
||||
@@ -48,18 +49,23 @@ var sysFsPCIDevicesPath = "/sys/bus/pci/devices/"
|
||||
|
||||
const nvidiaVendorID = "0x10de"
|
||||
|
||||
func NewNvidiaManager() stats.Manager {
|
||||
func NewNvidiaManager(includedMetrics container.MetricSet) stats.Manager {
|
||||
if !includedMetrics.Has(container.AcceleratorUsageMetrics) {
|
||||
klog.V(2).Info("NVIDIA GPU metrics disabled")
|
||||
return &stats.NoopManager{}
|
||||
}
|
||||
|
||||
manager := &nvidiaManager{}
|
||||
err := manager.setup()
|
||||
if err != nil {
|
||||
klog.Warningf("NVidia GPU metrics will not be available: %s", err)
|
||||
klog.Warningf("NVIDIA GPU metrics will not be available: %s", err)
|
||||
manager.Destroy()
|
||||
return &stats.NoopManager{}
|
||||
}
|
||||
return manager
|
||||
}
|
||||
|
||||
// setup initializes NVML if nvidia devices are present on the node.
|
||||
// setup initializes NVML if NVIDIA devices are present on the node.
|
||||
func (nm *nvidiaManager) setup() error {
|
||||
if !detectDevices(nvidiaVendorID) {
|
||||
return fmt.Errorf("no NVIDIA devices found")
|
||||
@@ -104,21 +110,21 @@ var initializeNVML = func(nm *nvidiaManager) error {
|
||||
nm.nvmlInitialized = true
|
||||
numDevices, err := gonvml.DeviceCount()
|
||||
if err != nil {
|
||||
return fmt.Errorf("GPU metrics would not be available. Failed to get the number of nvidia devices: %v", err)
|
||||
return fmt.Errorf("GPU metrics would not be available. Failed to get the number of NVIDIA devices: %v", err)
|
||||
}
|
||||
if numDevices == 0 {
|
||||
return nil
|
||||
}
|
||||
klog.V(1).Infof("NVML initialized. Number of nvidia devices: %v", numDevices)
|
||||
klog.V(1).Infof("NVML initialized. Number of NVIDIA devices: %v", numDevices)
|
||||
nm.nvidiaDevices = make(map[int]gonvml.Device, numDevices)
|
||||
for i := 0; i < int(numDevices); i++ {
|
||||
device, err := gonvml.DeviceHandleByIndex(uint(i))
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed to get nvidia device handle %d: %v", i, err)
|
||||
return fmt.Errorf("Failed to get NVIDIA device handle %d: %v", i, err)
|
||||
}
|
||||
minorNumber, err := device.MinorNumber()
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed to get nvidia device minor number: %v", err)
|
||||
return fmt.Errorf("Failed to get NVIDIA device minor number: %v", err)
|
||||
}
|
||||
nm.nvidiaDevices[int(minorNumber)] = device
|
||||
}
|
||||
@@ -135,7 +141,7 @@ func (nm *nvidiaManager) Destroy() {
|
||||
}
|
||||
}
|
||||
|
||||
// GetCollector returns a collector that can fetch nvidia gpu metrics for nvidia devices
|
||||
// GetCollector returns a collector that can fetch NVIDIA gpu metrics for NVIDIA devices
|
||||
// present in the devices.list file in the given devicesCgroupPath.
|
||||
func (nm *nvidiaManager) GetCollector(devicesCgroupPath string) (stats.Collector, error) {
|
||||
nc := &nvidiaCollector{}
|
||||
@@ -165,7 +171,7 @@ func (nm *nvidiaManager) GetCollector(devicesCgroupPath string) (stats.Collector
|
||||
for _, minor := range nvidiaMinorNumbers {
|
||||
device, ok := nm.nvidiaDevices[minor]
|
||||
if !ok {
|
||||
return &stats.NoopCollector{}, fmt.Errorf("nvidia device minor number %d not found in cached devices", minor)
|
||||
return &stats.NoopCollector{}, fmt.Errorf("NVIDIA device minor number %d not found in cached devices", minor)
|
||||
}
|
||||
nc.devices = append(nc.devices, device)
|
||||
}
|
||||
|
Reference in New Issue
Block a user