Skip to content

Commit cec004c

Browse files
committed
lint: enable wsl check
Fixes: intel#392 Signed-off-by: Ed Bartosh <[email protected]>
1 parent 8058d3c commit cec004c

File tree

80 files changed

+784
-55
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+784
-55
lines changed

.golangci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ linters:
4242
- unused
4343
- varcheck
4444
- whitespace
45+
- wsl
4546

4647
linters-settings:
4748
gofmt:

cmd/dlb_plugin/dlb_plugin.go

+2
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,15 @@ func (dp *DevicePlugin) Scan(notifier dpapi.Notifier) error {
5757
defer dp.scanTicker.Stop()
5858

5959
var prevDevTree dpapi.DeviceTree
60+
6061
for {
6162
devTree := dp.scan()
6263

6364
if !reflect.DeepEqual(prevDevTree, devTree) {
6465
klog.V(1).Info("DLB scan update: pf: ", len(devTree[deviceTypePF]), " / vf: ", len(devTree[deviceTypeVF]))
6566
prevDevTree = devTree
6667
}
68+
6769
notifier.Notify(devTree)
6870

6971
select {

cmd/dlb_plugin/dlb_plugin_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ func createTestFiles(devfs string, devfsdirs []string, sysfs string, pfDevs []st
5555
if err := os.MkdirAll(path.Join(sysfs, pfDev, "device"), 0750); err != nil {
5656
return errors.Wrap(err, "Failed to create fake device directory")
5757
}
58+
5859
if err := os.WriteFile(path.Join(sysfs, pfDev, "device", "sriov_numvfs"), []byte(sriovnumvfs[index]), 0600); err != nil {
5960
return errors.Wrap(err, "Failed to create fake device directory")
6061
}

cmd/dsa_plugin/dsa_plugin.go

+2
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ func main() {
5050
if plugin == nil {
5151
klog.Fatal("Cannot create device plugin, please check above error messages.")
5252
}
53+
5354
manager := dpapi.NewManager(namespace, plugin)
55+
5456
manager.Run()
5557
}

cmd/fpga_admissionwebhook/main.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,11 @@ func init() {
4343
}
4444

4545
func main() {
46-
var metricsAddr string
47-
var enableLeaderElection bool
46+
var (
47+
metricsAddr string
48+
enableLeaderElection bool
49+
)
50+
4851
flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.")
4952
flag.BoolVar(&enableLeaderElection, "enable-leader-election", false,
5053
"Enable leader election for controller manager. "+
@@ -91,6 +94,7 @@ func main() {
9194
}
9295

9396
setupLog.Info("starting manager")
97+
9498
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
9599
setupLog.Error(err, "problem running manager")
96100
os.Exit(1)

cmd/fpga_crihook/main.go

+14
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,14 @@ func (dev *Device) getName() string {
7979
if len(dev.name) == 0 {
8080
dev.name = filepath.Base(dev.Path)
8181
}
82+
8283
return dev.name
8384
}
8485

8586
func decodeJSONStream(reader io.Reader, dest interface{}) error {
8687
decoder := json.NewDecoder(reader)
8788
err := decoder.Decode(&dest)
89+
8890
return errors.WithStack(err)
8991
}
9092

@@ -110,13 +112,15 @@ func newHookEnv(bitstreamDir string, config string, newPort newPortFun) *hookEnv
110112

111113
func (he *hookEnv) getConfig(stdinJ *Stdin) (*Config, error) {
112114
configPath := filepath.Join(stdinJ.Bundle, he.config)
115+
113116
configFile, err := os.Open(configPath)
114117
if err != nil {
115118
return nil, errors.WithStack(err)
116119
}
117120
defer configFile.Close()
118121

119122
var config Config
123+
120124
err = decodeJSONStream(configFile, &config)
121125
if err != nil {
122126
return nil, errors.WithMessage(err, "can't decode "+configPath)
@@ -129,13 +133,15 @@ func (he *hookEnv) getConfig(stdinJ *Stdin) (*Config, error) {
129133
if len(config.Linux.Devices) == 0 {
130134
return nil, errors.Errorf("%s: linux.devices is empty", configPath)
131135
}
136+
132137
return &config, nil
133138
}
134139

135140
func (he *hookEnv) getFPGAParams(config *Config) ([]fpgaParams, error) {
136141
// parse FPGA_REGION_N and FPGA_AFU_N environment variables
137142
regionEnv := make(map[string]string)
138143
afuEnv := make(map[string]string)
144+
139145
for _, env := range config.Process.Env {
140146
splitted := strings.SplitN(env, "=", 2)
141147
if strings.HasPrefix(splitted[0], fpgaRegionEnvPrefix) {
@@ -156,6 +162,7 @@ func (he *hookEnv) getFPGAParams(config *Config) ([]fpgaParams, error) {
156162
}
157163

158164
params := []fpgaParams{}
165+
159166
for num, region := range regionEnv {
160167
afu, ok := afuEnv[num]
161168
if !ok {
@@ -164,6 +171,7 @@ func (he *hookEnv) getFPGAParams(config *Config) ([]fpgaParams, error) {
164171

165172
// Find a device suitable for the region/interface id
166173
found := false
174+
167175
for _, dev := range config.Linux.Devices {
168176
deviceName := dev.getName()
169177
// skip non-FPGA devices
@@ -175,10 +183,12 @@ func (he *hookEnv) getFPGAParams(config *Config) ([]fpgaParams, error) {
175183
if dev.processed {
176184
continue
177185
}
186+
178187
port, err := he.newPort(deviceName)
179188
if err != nil {
180189
return nil, err
181190
}
191+
182192
if interfaceUUID := port.GetInterfaceUUID(); interfaceUUID == region {
183193
params = append(params,
184194
fpgaParams{
@@ -189,18 +199,22 @@ func (he *hookEnv) getFPGAParams(config *Config) ([]fpgaParams, error) {
189199
)
190200
dev.processed = true
191201
found = true
202+
192203
break
193204
}
194205
}
206+
195207
if !found {
196208
return nil, errors.Errorf("can't find appropriate device for region %s", region)
197209
}
198210
}
211+
199212
return params, nil
200213
}
201214

202215
func getStdin(reader io.Reader) (*Stdin, error) {
203216
var stdinJ Stdin
217+
204218
err := decodeJSONStream(reader, &stdinJ)
205219
if err != nil {
206220
return nil, err

cmd/fpga_crihook/main_test.go

+6
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func createTestDirs(sysfs string, sysfsDirs []string, sysfsFiles map[string][]by
3636
return errors.Wrap(err, "Failed to create fake device directory")
3737
}
3838
}
39+
3940
for filename, body := range sysfsFiles {
4041
err := os.WriteFile(path.Join(sysfs, filename), body, 0600)
4142
if err != nil {
@@ -189,13 +190,15 @@ type testFpgaPort struct {
189190
func (p *testFpgaPort) GetInterfaceUUID() (id string) {
190191
uuid := p.interfaceUUIDS[p.callNo]
191192
p.callNo++
193+
192194
return uuid
193195
}
194196

195197
// GetAcceleratorTypeUUID returns AFU UUID.
196198
func (p *testFpgaPort) GetAcceleratorTypeUUID() string {
197199
uuid := p.accelTypeUUIDS[p.callNo]
198200
p.callNo++
201+
199202
return uuid
200203
}
201204

@@ -204,6 +207,7 @@ func (p *testFpgaPort) PR(bs bitstream.File, dryRun bool) error {
204207
if p.failProgramming {
205208
return errors.New("fail to program device")
206209
}
210+
207211
return nil
208212
}
209213

@@ -219,6 +223,7 @@ func TestGetFPGAParams(t *testing.T) {
219223
if err != nil {
220224
t.Fatalf("can't create temporary directory: %+v", err)
221225
}
226+
222227
defer os.RemoveAll(tmpdir)
223228

224229
sysfsTest := path.Join(tmpdir, "sys", "class", "fpga")
@@ -336,6 +341,7 @@ func TestProcess(t *testing.T) {
336341
if err != nil {
337342
t.Fatalf("can't create temporary directory: %+v", err)
338343
}
344+
339345
defer os.RemoveAll(tmpdir)
340346

341347
sysfs := path.Join(tmpdir, "sys", "class", "fpga")

cmd/fpga_plugin/dfl_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ func TestScanFPGAsDFL(t *testing.T) {
312312
if err != nil {
313313
t.Fatalf("can't create temporary directory: %+v", err)
314314
}
315+
315316
sysfs := path.Join(tmpdir, "sys")
316317
dev := path.Join(tmpdir, "dev")
317318
tcases := []struct {

cmd/fpga_plugin/fpga_plugin.go

+28-6
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,18 @@ func getRegionDevelTree(devices []device) dpapi.DeviceTree {
6565
if region.interfaceID == unhealthyInterfaceID {
6666
health = pluginapi.Unhealthy
6767
}
68+
6869
devType := fmt.Sprintf("%s-%s", regionMode, region.interfaceID)
6970
devNodes := make([]pluginapi.DeviceSpec, len(region.afus)+1)
71+
7072
for num, afu := range region.afus {
7173
devNodes[num] = pluginapi.DeviceSpec{
7274
HostPath: afu.devNode,
7375
ContainerPath: afu.devNode,
7476
Permissions: "rw",
7577
}
7678
}
79+
7780
devNodes[len(region.afus)] = pluginapi.DeviceSpec{
7881
HostPath: region.devNode,
7982
ContainerPath: region.devNode,
@@ -97,15 +100,18 @@ func getRegionTree(devices []device) dpapi.DeviceTree {
97100
if region.interfaceID == unhealthyInterfaceID {
98101
health = pluginapi.Unhealthy
99102
}
103+
100104
devType := fmt.Sprintf("%s-%s", regionMode, region.interfaceID)
101105
devNodes := make([]pluginapi.DeviceSpec, len(region.afus))
106+
102107
for num, afu := range region.afus {
103108
devNodes[num] = pluginapi.DeviceSpec{
104109
HostPath: afu.devNode,
105110
ContainerPath: afu.devNode,
106111
Permissions: "rw",
107112
}
108113
}
114+
109115
regionTree.AddDevice(devType, region.id, dpapi.NewDeviceInfo(health, devNodes, nil, nil))
110116
}
111117
}
@@ -124,11 +130,13 @@ func getAfuTree(devices []device) dpapi.DeviceTree {
124130
if afu.afuID == unhealthyAfuID {
125131
health = pluginapi.Unhealthy
126132
}
133+
127134
devType, err := fpga.GetAfuDevType(region.interfaceID, afu.afuID)
128135
if err != nil {
129136
klog.Warningf("failed to get devtype: %+v", err)
130137
continue
131138
}
139+
132140
devNodes := []pluginapi.DeviceSpec{
133141
{
134142
HostPath: afu.devNode,
@@ -182,16 +190,20 @@ type devicePlugin struct {
182190

183191
// newDevicePlugin returns new instance of devicePlugin.
184192
func newDevicePlugin(mode string, rootPath string) (*devicePlugin, error) {
185-
var dp *devicePlugin
186-
var err error
193+
var (
194+
dp *devicePlugin
195+
err error
196+
)
187197

188198
sysfsPathOPAE := path.Join(rootPath, sysfsDirectoryOPAE)
189199
devfsPath := path.Join(rootPath, devfsDirectory)
200+
190201
if _, err = os.Stat(sysfsPathOPAE); os.IsNotExist(err) {
191202
sysfsPathDFL := path.Join(rootPath, sysfsDirectoryDFL)
192203
if _, err = os.Stat(sysfsPathDFL); os.IsNotExist(err) {
193204
return nil, errors.Errorf("kernel driver is not loaded: neither %s nor %s sysfs entry exists", sysfsPathOPAE, sysfsPathDFL)
194205
}
206+
195207
dp, err = newDevicePluginDFL(sysfsPathDFL, devfsPath, mode)
196208
} else {
197209
dp, err = newDevicePluginOPAE(sysfsPathOPAE, devfsPath, mode)
@@ -224,6 +236,7 @@ func (dp *devicePlugin) PostAllocate(response *pluginapi.AllocateResponse) error
224236
// Scan starts scanning FPGA devices on the host.
225237
func (dp *devicePlugin) Scan(notifier dpapi.Notifier) error {
226238
defer dp.scanTicker.Stop()
239+
227240
for {
228241
devTree, err := dp.scanFPGAs()
229242
if err != nil {
@@ -242,20 +255,23 @@ func (dp *devicePlugin) Scan(notifier dpapi.Notifier) error {
242255

243256
func (dp *devicePlugin) getRegions(deviceFiles []os.DirEntry) ([]region, error) {
244257
regions := map[string]region{}
258+
245259
for _, deviceFile := range deviceFiles {
246260
name := deviceFile.Name()
247261
if dp.portReg.MatchString(name) {
248262
port, err := dp.newPort(name)
249263
if err != nil {
250264
return nil, errors.Wrapf(err, "can't get port info for %s", name)
251265
}
266+
252267
fme, err := port.GetFME()
253268
if err != nil {
254269
return nil, errors.Wrapf(err, "can't get FME info for %s", name)
255270
}
256271

257272
afuInfo := afu{id: port.GetName(), afuID: port.GetAcceleratorTypeUUID(), devNode: port.GetDevPath()}
258273
regionName := fme.GetName()
274+
259275
reg, ok := regions[regionName]
260276
if ok {
261277
reg.afus = append(reg.afus, afuInfo)
@@ -264,11 +280,13 @@ func (dp *devicePlugin) getRegions(deviceFiles []os.DirEntry) ([]region, error)
264280
}
265281
}
266282
}
283+
267284
result := make([]region, 0, len(regions))
268285
// Get list of regions from the map
269286
for _, reg := range regions {
270287
result = append(result, reg)
271288
}
289+
272290
return result, nil
273291
}
274292

@@ -280,6 +298,7 @@ func (dp *devicePlugin) scanFPGAs() (dpapi.DeviceTree, error) {
280298
}
281299

282300
devices := []device{}
301+
283302
for _, file := range files {
284303
devName := file.Name()
285304

@@ -301,6 +320,7 @@ func (dp *devicePlugin) scanFPGAs() (dpapi.DeviceTree, error) {
301320
devices = append(devices, device{name: devName, regions: regions})
302321
}
303322
}
323+
304324
return dp.getDevTree(devices), nil
305325
}
306326

@@ -327,10 +347,12 @@ func getPluginParams(mode string) (getDevTreeFunc, string, error) {
327347
}
328348

329349
func main() {
330-
var mode string
331-
var kubeconfig string
332-
var master string
333-
var nodename string
350+
var (
351+
mode string
352+
kubeconfig string
353+
master string
354+
nodename string
355+
)
334356

335357
flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file")
336358
flag.StringVar(&master, "master", "", "master url")

0 commit comments

Comments
 (0)