From 4e0ef671afc6028fcd602b65989ee1a3ca51f25c Mon Sep 17 00:00:00 2001 From: Rastislav Szabo Date: Fri, 6 Oct 2017 22:57:40 +0200 Subject: [PATCH 1/3] pass extra args via CNI --- cmd/contiv-cni/contiv_cni.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/contiv-cni/contiv_cni.go b/cmd/contiv-cni/contiv_cni.go index cf87cea80f..aa55dc7f49 100644 --- a/cmd/contiv-cni/contiv_cni.go +++ b/cmd/contiv-cni/contiv_cni.go @@ -75,7 +75,7 @@ func grpcConnect(grpcServer string) (*grpc.ClientConn, cninb.RemoteCNIClient, er } // cmdAdd implements the CNI request to add a container to network. -// It forwards the request to he remote gRPC server and prints the result recieved from gRPC. +// It forwards the request to he remote gRPC server and prints the result received from gRPC. func cmdAdd(args *skel.CmdArgs) error { // parse CNI config cfg, err := parseCNIConfig(args.StdinData) @@ -96,6 +96,7 @@ func cmdAdd(args *skel.CmdArgs) error { ContainerId: args.ContainerID, InterfaceName: args.IfName, NetworkNamespace: args.Netns, + ExtraArguments: args.Args, }) if err != nil { return err @@ -168,7 +169,7 @@ func cmdAdd(args *skel.CmdArgs) error { } // cmdDel implements the CNI request to delete a container from network. -// It forwards the request to he remote gRPC server and returns the result recieved from gRPC. +// It forwards the request to he remote gRPC server and returns the result received from gRPC. func cmdDel(args *skel.CmdArgs) error { // parse CNI config n, err := parseCNIConfig(args.StdinData) @@ -189,6 +190,7 @@ func cmdDel(args *skel.CmdArgs) error { ContainerId: args.ContainerID, InterfaceName: args.IfName, NetworkNamespace: args.Netns, + ExtraArguments: args.Args, }) if err != nil { return err From 9bcce788dda3249b4fe9b44dc9c657d3d38821c0 Mon Sep 17 00:00:00 2001 From: Rastislav Szabo Date: Fri, 6 Oct 2017 23:02:29 +0200 Subject: [PATCH 2/3] pass CNI network config --- cmd/contiv-cni/contiv_cni.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmd/contiv-cni/contiv_cni.go b/cmd/contiv-cni/contiv_cni.go index aa55dc7f49..edf1da5132 100644 --- a/cmd/contiv-cni/contiv_cni.go +++ b/cmd/contiv-cni/contiv_cni.go @@ -97,6 +97,7 @@ func cmdAdd(args *skel.CmdArgs) error { InterfaceName: args.IfName, NetworkNamespace: args.Netns, ExtraArguments: args.Args, + ExtraNwConfig: string(args.StdinData), }) if err != nil { return err @@ -191,6 +192,7 @@ func cmdDel(args *skel.CmdArgs) error { InterfaceName: args.IfName, NetworkNamespace: args.Netns, ExtraArguments: args.Args, + ExtraNwConfig: string(args.StdinData), }) if err != nil { return err From b43fa16647867cce75b16c290dd3c7d614abbb23 Mon Sep 17 00:00:00 2001 From: Rastislav Szabo Date: Fri, 6 Oct 2017 23:10:46 +0200 Subject: [PATCH 3/3] enable CNI unit tests --- Makefile | 8 +++++--- cmd/contiv-cni/contiv_cni_test.go | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index d0cff8d150..6f6bdecf64 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,7 @@ endef # run all tests define test_only @echo "# running unit tests" + @go test ./cmd/contiv-cni @go test ./plugins/contiv @go test ./plugins/kvdbproxy @echo "# done" @@ -37,11 +38,12 @@ endef # run all tests with coverage define test_cover_only @echo "# running unit tests with coverage analysis" - @go test -covermode=count -coverprofile=${COVER_DIR}coverage_unit1.out ./plugins/contiv - @go test -covermode=count -coverprofile=${COVER_DIR}coverage_unit2.out ./plugins/kvdbproxy + @go test -covermode=count -coverprofile=${COVER_DIR}cov_u1.out ./cmd/contiv-cni + @go test -covermode=count -coverprofile=${COVER_DIR}cov_u2.out ./plugins/contiv + @go test -covermode=count -coverprofile=${COVER_DIR}cov_u3.out ./plugins/kvdbproxy @echo "# merging coverage results" @cd vendor/github.com/wadey/gocovmerge && go install -v - @gocovmerge ${COVER_DIR}coverage_unit1.out ${COVER_DIR}coverage_unit2.out > ${COVER_DIR}coverage.out + @gocovmerge ${COVER_DIR}cov_u1.out ${COVER_DIR}cov_u2.out ${COVER_DIR}cov_u3.out > ${COVER_DIR}coverage.out @echo "# coverage data generated into ${COVER_DIR}coverage.out" @echo "# done" endef diff --git a/cmd/contiv-cni/contiv_cni_test.go b/cmd/contiv-cni/contiv_cni_test.go index 15d7e638bc..cd494f2096 100644 --- a/cmd/contiv-cni/contiv_cni_test.go +++ b/cmd/contiv-cni/contiv_cni_test.go @@ -114,8 +114,7 @@ func TestCNIAddDelete(t *testing.T) { RegisterTestingT(t) // start testing gRPC server - grpcServer := runTestGrpcServer() - defer grpcServer.Stop() + runTestGrpcServer() // prepare CNI config conf := `{