Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Commit ffae897

Browse files
author
Eoghan Russell
authored
Merge pull request #85 from intel/fix_compile_issues
Fix compile issues
2 parents d443330 + 3ff5cd3 commit ffae897

34 files changed

+663
-565
lines changed

Diff for: .github/workflows/static-scan.yml

+29-6
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,21 @@ jobs:
1212
egress-policy: audit
1313

1414
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
15+
- name: remove deployer container from dockerfile
16+
run: sed -ie '/End of builder/,+5d' ./docker/userspacecni/Dockerfile
17+
- name: Build the Docker image
18+
run: docker build . -f ./docker/userspacecni/Dockerfile -t userspacecni:latest
19+
- name: run container
20+
run: docker run --name userspacecni -itd userspacecni:latest bash
21+
- name: docker copy generated bin api files
22+
run: docker cp userspacecni:/root/userspace-cni-network-plugin/cnivpp ./
23+
1524
- name: golangci-lint
1625
uses: golangci/golangci-lint-action@5c56cd6c9dc07901af25baab6f2b0d9f3b7c3018 # v2.5.2
1726
with:
1827
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
1928
version: v1.52.2
29+
args: --timeout=20m
2030

2131
shellcheck:
2232
name: Shellcheck
@@ -30,6 +40,7 @@ jobs:
3040
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
3141
- name: Run ShellCheck
3242
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # master
43+
3344
hadolint:
3445
runs-on: ubuntu-latest
3546
name: Hadolint
@@ -39,11 +50,12 @@ jobs:
3950
with:
4051
egress-policy: audit
4152

42-
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
43-
- uses: brpaz/hadolint-action@7e374b112fd3e7e6ea346131c40e17c7254f64bf # v1.2.1
53+
- uses: actions/checkout@v3
54+
- uses: hadolint/hadolint-action@v3.1.0
4455
name: Run Hadolint
4556
with:
46-
dockerfile: Dockerfile
57+
dockerfile: ./docker/userspacecni/Dockerfile
58+
ignore: DL3008,DL3059
4759

4860
go-check:
4961
runs-on: ubuntu-latest
@@ -55,15 +67,26 @@ jobs:
5567

5668
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
5769

70+
- name: remove deployer container from dockerfile
71+
run: sed -ie '/End of builder/,+5d' ./docker/userspacecni/Dockerfile
72+
- name: Build the Docker image
73+
run: docker build . -f ./docker/userspacecni/Dockerfile -t userspacecni:latest
74+
- name: run container
75+
run: docker run --name userspacecni -itd userspacecni:latest bash
76+
- name: docker copy generated bin api files
77+
run: docker cp userspacecni:/root/userspace-cni-network-plugin/cnivpp ./
78+
5879
- name: Set up Go
5980
uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0
6081
with:
61-
go-version: 1.18.x
82+
go-version: 1.20.1
6283

84+
- name: checkout dockerfile to avoid false diff
85+
run: git checkout ./docker/userspacecni/Dockerfile
6386
# if this fails, run go mod tidy
6487
- name: Check if module files are consistent with code
65-
run: go mod tidy && git diff --exit-code
88+
run: go mod tidy && go get go.fd.io/govpp/binapigen/[email protected] && git diff --exit-code #need package for bin api but not working with tidy
6689

6790
# if this fails, run go mod vendor
6891
- name: Check if vendor directory is consistent with go modules
69-
run: go mod vendor && git diff --exit-code
92+
run: go mod vendor && git diff --exit-code

Diff for: Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ endif
130130
endif
131131

132132
install:
133-
go get git.fd.io/govpp.git/cmd/[email protected]
133+
go get go.fd.io/govpp/cmd/[email protected]
134134
ifeq ($(VPPINSTALLED),0)
135135
@echo VPP not installed, installing required files. Run *sudo make clean* to remove installed files.
136136
@mkdir -p tmpvpp/

Diff for: cniovs/cniovs.go

+18-20
Original file line numberDiff line numberDiff line change
@@ -41,30 +41,24 @@ import (
4141
"k8s.io/client-go/kubernetes"
4242

4343
"github.com/containernetworking/cni/pkg/skel"
44-
"github.com/containernetworking/cni/pkg/types/current"
44+
current "github.com/containernetworking/cni/pkg/types/100"
4545

4646
"github.com/intel/userspace-cni-network-plugin/logging"
4747
"github.com/intel/userspace-cni-network-plugin/pkg/configdata"
4848
"github.com/intel/userspace-cni-network-plugin/pkg/types"
4949
)
5050

51-
//
5251
// Constants
53-
//
5452
const (
5553
defaultBridge = "br0"
5654
DefaultHostVhostuserBaseDir = "/var/lib/vhost_sockets/"
5755
)
5856

59-
//
6057
// Types
61-
//
6258
type CniOvs struct {
6359
}
6460

65-
//
6661
// API Functions
67-
//
6862
func (cniOvs CniOvs) AddOnHost(conf *types.NetConf,
6963
args *skel.CmdArgs,
7064
kubeClient kubernetes.Interface,
@@ -196,7 +190,11 @@ func (cniOvs CniOvs) DelFromHost(conf *types.NetConf, args *skel.CmdArgs, shared
196190
func (cniOvs CniOvs) DelFromContainer(conf *types.NetConf, args *skel.CmdArgs, sharedDir string, pod *v1.Pod) error {
197191
logging.Infof("OVS DelFromContainer: ENTER - Container %s Iface %s", args.ContainerID[:12], args.IfName)
198192

199-
configdata.FileCleanup(sharedDir, "")
193+
var err = configdata.FileCleanup(sharedDir, "")
194+
195+
if err != nil {
196+
logging.Debugf("DelFromContainer(ovs): %v", err)
197+
}
200198

201199
return nil
202200
}
@@ -243,15 +241,15 @@ func createSharedDir(sharedDir, oldSharedDir string) error {
243241
if os.IsNotExist(err) {
244242
err = os.MkdirAll(sharedDir, 0750)
245243
if err != nil {
246-
logging.Errorf("createSharedDir: Failed to create dir (%s): %v", sharedDir, err)
244+
_ = logging.Errorf("createSharedDir: Failed to create dir (%s): %v", sharedDir, err)
247245
return err
248246
}
249247

250248
if strings.Contains(sharedDir, DefaultHostVhostuserBaseDir) {
251249
logging.Debugf("createSharedDir: Mount from %s to %s", oldSharedDir, sharedDir)
252250
err = unix.Mount(oldSharedDir, sharedDir, "", unix.MS_BIND, "")
253251
if err != nil {
254-
logging.Errorf("createSharedDir: Failed to bind mount: %s", err)
252+
_ = logging.Errorf("createSharedDir: Failed to bind mount: %s", err)
255253
return err
256254
}
257255
}
@@ -296,15 +294,15 @@ func addLocalDeviceVhost(conf *types.NetConf, args *skel.CmdArgs, actualSharedDi
296294
sharedDir := getShortSharedDir(actualSharedDir)
297295
err = createSharedDir(sharedDir, actualSharedDir)
298296
if err != nil {
299-
logging.Errorf("addLocalDeviceVhost: Failed to create shared dir: %v", err)
297+
_ = logging.Errorf("addLocalDeviceVhost: Failed to create shared dir: %v", err)
300298
return err
301299
}
302300

303301
group := conf.HostConf.VhostConf.Group
304302
if group != "" {
305303
err = setSharedDirGroup(sharedDir, group)
306304
if err != nil {
307-
logging.Errorf("addLocalDeviceVhost: Failed to set shared dir group: %v", err)
305+
_ = logging.Errorf("addLocalDeviceVhost: Failed to set shared dir group: %v", err)
308306
return err
309307
}
310308
}
@@ -341,7 +339,7 @@ func delLocalDeviceVhost(conf *types.NetConf, args *skel.CmdArgs, actualSharedDi
341339
// ovs-vsctl --if-exists del-port
342340
err := deleteVhostPort(data.Vhostname, conf.HostConf.BridgeConf.BridgeName)
343341
if err != nil {
344-
logging.Errorf("delLocalDeviceVhost: Failed to delete port: %v", err)
342+
_ = logging.Errorf("delLocalDeviceVhost: Failed to delete port: %v", err)
345343
return err
346344
}
347345

@@ -350,17 +348,17 @@ func delLocalDeviceVhost(conf *types.NetConf, args *skel.CmdArgs, actualSharedDi
350348
logging.Debugf("delLocalDeviceVhost: Unmount shared directory: %v", sharedDir)
351349
_, err = os.Stat(sharedDir)
352350
if os.IsNotExist(err) {
353-
logging.Errorf("delLocalDeviceVhost: shared directory %s does not exist to unmount", sharedDir)
351+
_ = logging.Errorf("delLocalDeviceVhost: shared directory %s does not exist to unmount", sharedDir)
354352
return nil
355353
}
356354
err = unix.Unmount(sharedDir, 0)
357355
if err != nil {
358-
logging.Errorf("Failed to unmount dir: %v", err)
356+
_ = logging.Errorf("Failed to unmount dir: %v", err)
359357
return err
360358
}
361359
err = os.Remove(sharedDir)
362360
if err != nil {
363-
logging.Errorf("Failed to remove dir: %v", err)
361+
_ = logging.Errorf("Failed to remove dir: %v", err)
364362
return err
365363
}
366364
} else {
@@ -379,7 +377,7 @@ func delLocalDeviceVhost(conf *types.NetConf, args *skel.CmdArgs, actualSharedDi
379377

380378
// Remove files with matching container ID and IfName
381379
for _, fileName := range filesForContainerID {
382-
if match, _ := regexp.MatchString(fileBaseName+"*", fileName); match == true {
380+
if match, _ := regexp.MatchString(fileBaseName+"*", fileName); match {
383381
logging.Debugf("OVS DelFromContainer: %s matches file %s", fileBaseName, fileName)
384382
file := filepath.Join(sharedDir, fileName)
385383
if err = os.Remove(file); err != nil {
@@ -392,7 +390,7 @@ func delLocalDeviceVhost(conf *types.NetConf, args *skel.CmdArgs, actualSharedDi
392390

393391
// In case the Socketfile name was passed in:
394392
if conf.HostConf.VhostConf.Socketfile != fileBaseName {
395-
if match, _ := regexp.MatchString(conf.HostConf.VhostConf.Socketfile+"*", fileName); match == true {
393+
if match, _ := regexp.MatchString(conf.HostConf.VhostConf.Socketfile+"*", fileName); match {
396394
file := filepath.Join(sharedDir, fileName)
397395
if err = os.Remove(file); err != nil {
398396
return err
@@ -415,7 +413,7 @@ func delLocalDeviceVhost(conf *types.NetConf, args *skel.CmdArgs, actualSharedDi
415413
func addLocalNetworkBridge(conf *types.NetConf, args *skel.CmdArgs, data *OvsSavedData) error {
416414
var err error
417415

418-
if found := findBridge(conf.HostConf.BridgeConf.BridgeName); found == false {
416+
if found := findBridge(conf.HostConf.BridgeConf.BridgeName); !found {
419417
logging.Debugf("addLocalNetworkBridge(): Bridge %s not found, creating", conf.HostConf.BridgeConf.BridgeName)
420418
err = createBridge(conf.HostConf.BridgeConf.BridgeName)
421419

@@ -438,7 +436,7 @@ func addLocalNetworkBridge(conf *types.NetConf, args *skel.CmdArgs, data *OvsSav
438436
func delLocalNetworkBridge(conf *types.NetConf, args *skel.CmdArgs, data *OvsSavedData) error {
439437
var err error
440438

441-
if containInterfaces := doesBridgeContainInterfaces(conf.HostConf.BridgeConf.BridgeName); containInterfaces == false {
439+
if containInterfaces := doesBridgeContainInterfaces(conf.HostConf.BridgeConf.BridgeName); !containInterfaces {
442440
logging.Debugf("delLocalNetworkBridge(): No interfaces found, deleting Bridge %s", conf.HostConf.BridgeConf.BridgeName)
443441
err = deleteBridge(conf.HostConf.BridgeConf.BridgeName)
444442
} else {

0 commit comments

Comments
 (0)