devicemanager: fix golangci-lint errors

This commit is contained in:
Ed Bartosh
2025-09-26 16:43:05 +03:00
parent bb91913017
commit a20b34aa82
4 changed files with 60 additions and 25 deletions

View File

@@ -84,7 +84,10 @@ func TestNewEndpoint(t *testing.T) {
}
p, e := esetup(tCtx, t, devs, socket, "mock", func(logger klog.Logger, n string, d []*pluginapi.Device) {})
defer ecleanup(logger, p, e)
defer func() {
err := ecleanup(logger, p, e)
require.NoError(t, err)
}()
}
func TestRun(t *testing.T) {
@@ -139,7 +142,10 @@ func TestRun(t *testing.T) {
}
p, e := esetup(tCtx, t, devs, socket, "mock", callback)
defer ecleanup(logger, p, e)
defer func() {
err := ecleanup(logger, p, e)
require.NoError(t, err)
}()
go e.client.Run(tCtx)
// Wait for the first callback to be issued.
@@ -165,7 +171,10 @@ func TestAllocate(t *testing.T) {
callbackCount++
callbackChan <- callbackCount
})
defer ecleanup(logger, p, e)
defer func() {
err := ecleanup(logger, p, e)
require.NoError(t, err)
}()
resp := new(pluginapi.AllocateResponse)
contResp := new(pluginapi.ContainerAllocateResponse)
@@ -216,7 +225,10 @@ func TestGetPreferredAllocation(t *testing.T) {
callbackCount++
callbackChan <- callbackCount
})
defer ecleanup(logger, p, e)
defer func() {
err := ecleanup(logger, p, e)
require.NoError(t, err)
}()
resp := &pluginapi.PreferredAllocationResponse{
ContainerResponses: []*pluginapi.ContainerPreferredAllocationResponse{
@@ -283,7 +295,9 @@ func esetup(ctx context.Context, t *testing.T, devs []*pluginapi.Device, socket,
return p, e
}
func ecleanup(logger klog.Logger, p *plugin.Stub, e *endpointImpl) {
p.Stop(logger)
e.client.Disconnect(logger)
func ecleanup(logger klog.Logger, p *plugin.Stub, e *endpointImpl) error {
if err := p.Stop(logger); err != nil {
return err
}
return e.client.Disconnect(logger)
}

View File

@@ -112,9 +112,11 @@ func TestNewManagerImplStart(t *testing.T) {
require.NoError(t, err)
defer os.RemoveAll(socketDir)
m, _, p := setup(tCtx, t, []*pluginapi.Device{}, func(_ klog.Logger, n string, d []*pluginapi.Device) {}, socketName, pluginSocketName)
cleanup(logger, m, p)
err = cleanup(logger, m, p)
require.NoError(t, err)
// Stop should tolerate being called more than once.
cleanup(logger, m, p)
err = cleanup(logger, m, p)
require.NoError(t, err)
}
func TestNewManagerImplStartProbeMode(t *testing.T) {
@@ -123,7 +125,8 @@ func TestNewManagerImplStartProbeMode(t *testing.T) {
require.NoError(t, err)
defer os.RemoveAll(socketDir)
m, _, p, _ := setupInProbeMode(tCtx, t, []*pluginapi.Device{}, func(_ klog.Logger, n string, d []*pluginapi.Device) {}, socketName, pluginSocketName)
cleanup(logger, m, p)
err = cleanup(logger, m, p)
require.NoError(t, err)
}
// Tests that the device plugin manager correctly handles registration and re-registration by
@@ -148,7 +151,8 @@ func TestDevicePluginReRegistration(t *testing.T) {
for _, preStartContainerFlag := range []bool{false, true} {
for _, getPreferredAllocationFlag := range []bool{false, true} {
m, ch, p1 := setup(tCtx, t, devs, nil, socketName, pluginSocketName)
p1.Register(tCtx, socketName, testResourceName, "")
err = p1.Register(tCtx, socketName, testResourceName, "")
require.NoError(t, err)
select {
case <-ch:
@@ -164,7 +168,8 @@ func TestDevicePluginReRegistration(t *testing.T) {
p2 := plugin.NewDevicePluginStub(logger, devs, pluginSocketName+".new", testResourceName, preStartContainerFlag, getPreferredAllocationFlag)
err = p2.Start(tCtx)
require.NoError(t, err)
p2.Register(tCtx, socketName, testResourceName, "")
err = p2.Register(tCtx, socketName, testResourceName, "")
require.NoError(t, err)
select {
case <-ch:
@@ -181,7 +186,8 @@ func TestDevicePluginReRegistration(t *testing.T) {
p3 := plugin.NewDevicePluginStub(logger, devsForRegistration, pluginSocketName+".third", testResourceName, preStartContainerFlag, getPreferredAllocationFlag)
err = p3.Start(tCtx)
require.NoError(t, err)
p3.Register(tCtx, socketName, testResourceName, "")
err = p3.Register(tCtx, socketName, testResourceName, "")
require.NoError(t, err)
select {
case <-ch:
@@ -193,9 +199,12 @@ func TestDevicePluginReRegistration(t *testing.T) {
resourceAllocatable = allocatable[v1.ResourceName(testResourceName)]
require.Equal(t, resourceCapacity.Value(), resourceAllocatable.Value(), "capacity should equal to allocatable")
require.Equal(t, int64(1), resourceAllocatable.Value(), "Devices of plugin previously registered should be removed.")
p2.Stop(logger)
p3.Stop(logger)
cleanup(logger, m, p1)
err = p2.Stop(logger)
require.NoError(t, err)
err = p3.Stop(logger)
require.NoError(t, err)
err = cleanup(logger, m, p1)
require.NoError(t, err)
}
}
}
@@ -268,9 +277,12 @@ func TestDevicePluginReRegistrationProbeMode(t *testing.T) {
resourceAllocatable = allocatable[v1.ResourceName(testResourceName)]
require.Equal(t, resourceCapacity.Value(), resourceAllocatable.Value(), "capacity should equal to allocatable")
require.Equal(t, int64(1), resourceAllocatable.Value(), "Devices of previous registered should be removed")
p2.Stop(logger)
p3.Stop(logger)
cleanup(logger, m, p1)
err = p2.Stop(logger)
require.NoError(t, err)
err = p3.Stop(logger)
require.NoError(t, err)
err = cleanup(logger, m, p1)
require.NoError(t, err)
}
func setupDeviceManager(t *testing.T, devs []*pluginapi.Device, callback monitorCallback, socketName string,
@@ -342,9 +354,11 @@ func setupInProbeMode(ctx context.Context, t *testing.T, devs []*pluginapi.Devic
return m, updateChan, p, pm
}
func cleanup(logger klog.Logger, m Manager, p *plugin.Stub) {
p.Stop(logger)
m.Stop(logger)
func cleanup(logger klog.Logger, m Manager, p *plugin.Stub) error {
if err := p.Stop(logger); err != nil {
return err
}
return m.Stop(logger)
}
func TestUpdateCapacityAllocatable(t *testing.T) {
@@ -449,7 +463,8 @@ func TestUpdateCapacityAllocatable(t *testing.T) {
// Stops resourceName2 endpoint. Verifies its stopTime is set, allocate and
// preStartContainer calls return errors.
e2.client.Disconnect(logger)
err = e2.client.Disconnect(logger)
require.NoError(t, err)
as.False(e2.stopTime.IsZero())
_, err = e2.allocate(tCtx, []string{"Device1"})
reflect.DeepEqual(err, fmt.Errorf(errEndpointStopped, e2))
@@ -1843,7 +1858,10 @@ func TestGetTopologyHintsWithUpdates(t *testing.T) {
for _, test := range testCases {
t.Run(test.description, func(t *testing.T) {
m, _ := setupDeviceManager(t, nil, nil, socketName, topology, logger)
defer m.Stop(logger)
defer func() {
err := m.Stop(logger)
require.NoError(t, err)
}()
mimpl := m.(*wrappedManagerImpl)
wg := sync.WaitGroup{}

View File

@@ -56,7 +56,9 @@ func (s *server) DeRegisterPlugin(pluginName, endpoint string) {
logger.V(2).Info("Deregistering plugin", "plugin", pluginName, "endpoint", endpoint)
client := s.getClient(pluginName)
if client != nil {
s.disconnectClient(logger, pluginName, client)
if err := s.disconnectClient(logger, pluginName, client); err != nil {
logger.Error(err, "disconnecting client", "plugin", pluginName, "endpoing", endpoint)
}
}
}

View File

@@ -292,6 +292,7 @@ func (m *Stub) Register(ctx context.Context, kubeletEndpoint, resourceName strin
ctxDial, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
//nolint:staticcheck // SA1019: grpc.DialContext is deprecated: use NewClient instead.
conn, err := grpc.DialContext(ctxDial, kubeletEndpoint,
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithBlock(),