Skip to content

Commit d28c28c

Browse files
committed
Only warn when pcieRoot can't be determined
Signed-off-by: Jon Huhn <[email protected]>
1 parent 99d4278 commit d28c28c

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

cmd/gpu-kubelet-plugin/deviceinfo.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ type GpuInfo struct {
4141
driverVersion string
4242
cudaDriverVersion string
4343
pcieBusID string
44-
pcieRootAttr deviceattribute.DeviceAttribute
44+
pcieRootAttr *deviceattribute.DeviceAttribute
4545
migProfiles []*MigProfileInfo
4646
}
4747

@@ -56,7 +56,7 @@ type MigDeviceInfo struct {
5656
ciProfileInfo *nvml.ComputeInstanceProfileInfo
5757
ciInfo *nvml.ComputeInstanceInfo
5858
pcieBusID string
59-
pcieRootAttr deviceattribute.DeviceAttribute
59+
pcieRootAttr *deviceattribute.DeviceAttribute
6060
}
6161

6262
type MigProfileInfo struct {
@@ -125,14 +125,16 @@ func (d *GpuInfo) GetDevice() resourceapi.Device {
125125
"pcieBusID": {
126126
StringValue: &d.pcieBusID,
127127
},
128-
d.pcieRootAttr.Name: d.pcieRootAttr.Value,
129128
},
130129
Capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{
131130
"memory": {
132131
Value: *resource.NewQuantity(int64(d.memoryBytes), resource.BinarySI),
133132
},
134133
},
135134
}
135+
if d.pcieRootAttr != nil {
136+
device.Attributes[d.pcieRootAttr.Name] = d.pcieRootAttr.Value
137+
}
136138
return device
137139
}
138140

@@ -179,7 +181,6 @@ func (d *MigDeviceInfo) GetDevice() resourceapi.Device {
179181
"pcieBusID": {
180182
StringValue: &d.pcieBusID,
181183
},
182-
d.pcieRootAttr.Name: d.pcieRootAttr.Value,
183184
},
184185
Capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{
185186
"multiprocessors": {
@@ -199,5 +200,8 @@ func (d *MigDeviceInfo) GetDevice() resourceapi.Device {
199200
Value: *resource.NewQuantity(1, resource.BinarySI),
200201
}
201202
}
203+
if d.pcieRootAttr != nil {
204+
device.Attributes[d.pcieRootAttr.Name] = d.pcieRootAttr.Value
205+
}
202206
return device
203207
}

cmd/gpu-kubelet-plugin/nvlib.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,11 @@ func (l deviceLib) getGpuInfo(index int, device nvdev.Device) (*GpuInfo, error)
201201
return nil, fmt.Errorf("error getting PCIe bus ID for device %d: %w", index, err)
202202
}
203203

204-
pcieRootAttr, err := deviceattribute.GetPCIeRootAttributeByPCIBusID(pcieBusID)
205-
if err != nil {
206-
return nil, fmt.Errorf("error getting PCIe root for device %d: %w", index, err)
204+
var pcieRootAttr *deviceattribute.DeviceAttribute
205+
if attr, err := deviceattribute.GetPCIeRootAttributeByPCIBusID(pcieBusID); err == nil {
206+
pcieRootAttr = &attr
207+
} else {
208+
klog.Warningf("error getting PCIe root for device %d, continuing without attribute: %v", index, err)
207209
}
208210

209211
var migProfiles []*MigProfileInfo

0 commit comments

Comments
 (0)