From f2dca07281e0a1d2ed0337700b8fa4bdf76ae603 Mon Sep 17 00:00:00 2001 From: Jaeryn Chu Date: Tue, 9 Jul 2019 09:42:34 -0700 Subject: [PATCH 1/3] Ignoring unmarshal errors when invoking CNI. --- cns/networkcontainers/networkcontainers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cns/networkcontainers/networkcontainers.go b/cns/networkcontainers/networkcontainers.go index c851e6d245..74ad4d5584 100644 --- a/cns/networkcontainers/networkcontainers.go +++ b/cns/networkcontainers/networkcontainers.go @@ -153,7 +153,7 @@ func pluginErr(err error, output []byte) error { } } else if len(output) > 0 { var cniError cniTypes.Error - if err = json.Unmarshal(output, &cniError); err == nil && cniError.Code != 0 { + if unmarshalErr := json.Unmarshal(output, &cniError); unmarshalErr == nil && cniError.Code != 0 { return fmt.Errorf("netplugin completed with error: %+v", cniError) } } From 21662d3dc0c59bcb2089ffb30638728197b5dac2 Mon Sep 17 00:00:00 2001 From: Jaeryn Chu Date: Tue, 9 Jul 2019 09:43:02 -0700 Subject: [PATCH 2/3] Updating CI test from golang v1.10.2 to v1.12.6 --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c345062d88..a23e86f824 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: setup-and-test: # docker: - # - image: golang:1.10 + # - image: golang:1.12 machine: image: circleci/classic:latest steps: @@ -15,14 +15,14 @@ jobs: sudo -E env "PATH=$PATH" apt-get install -y ipset sudo -E env "PATH=$PATH" apt-get install -y python3-dev gcc sudo -E env "PATH=$PATH" pip install coverage - mkdir -p /home/circleci/go1-10 + mkdir -p /home/circleci/go1-12 mkdir --parents /home/circleci/.goproject/src/github.com/Azure/azure-container-networking - wget https://storage.googleapis.com/golang/go1.10.2.linux-amd64.tar.gz - tar -C /home/circleci/go1-10 -xvf go1.10.2.linux-amd64.tar.gz - rm go1.10.2.linux-amd64.tar.gz + wget https://storage.googleapis.com/golang/go1.12.6.linux-amd64.tar.gz + tar -C /home/circleci/go1-12 -xvf go1.12.6.linux-amd64.tar.gz + rm go1.12.6.linux-amd64.tar.gz mv * /home/circleci/.goproject/src/github.com/Azure/azure-container-networking cd /home/circleci/.goproject/src/github.com/Azure/azure-container-networking - export GOROOT='/home/circleci/go1-10/go' + export GOROOT='/home/circleci/go1-12/go' export GOPATH='/home/circleci/.goproject' export PATH=$GOROOT/bin:$PATH go get ./... From 2990d782fea22974ab9be1a11eb2323351f79696 Mon Sep 17 00:00:00 2001 From: Jaeryn Chu Date: Tue, 9 Jul 2019 12:12:35 -0700 Subject: [PATCH 3/3] Adding comments. --- cns/networkcontainers/networkcontainers.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cns/networkcontainers/networkcontainers.go b/cns/networkcontainers/networkcontainers.go index 74ad4d5584..447eb6d72a 100644 --- a/cns/networkcontainers/networkcontainers.go +++ b/cns/networkcontainers/networkcontainers.go @@ -152,6 +152,7 @@ func pluginErr(err error, output []byte) error { return &emsg } } else if len(output) > 0 { + // If plugin err is nil, we will only return error if we successfully unmarshal Error struct from CNI and Code != 0 var cniError cniTypes.Error if unmarshalErr := json.Unmarshal(output, &cniError); unmarshalErr == nil && cniError.Code != 0 { return fmt.Errorf("netplugin completed with error: %+v", cniError)