From 479e2bd78eed09f322ed3e3df1ec4c83377ae8bf Mon Sep 17 00:00:00 2001 From: Tomofumi Hayashi Date: Wed, 31 Mar 2021 22:06:21 +0900 Subject: [PATCH] Change nil instead of error in case of no network annotation fix #642 --- .github/workflows/kind-e2e.yml | 4 ++++ e2e/simple-pod.yml | 15 +++++++++++++++ e2e/test-simple-pod.sh | 10 ++++++++++ pkg/k8sclient/k8sclient.go | 3 +++ 4 files changed, 32 insertions(+) create mode 100644 e2e/simple-pod.yml create mode 100755 e2e/test-simple-pod.sh diff --git a/.github/workflows/kind-e2e.yml b/.github/workflows/kind-e2e.yml index 0b5041c28..208c89822 100644 --- a/.github/workflows/kind-e2e.yml +++ b/.github/workflows/kind-e2e.yml @@ -27,6 +27,10 @@ jobs: working-directory: ./e2e run: ./setup_cluster.sh + - name: Test simple pod + working-directory: ./e2e + run: ./test-simple-pod.sh + - name: Test macvlan1 working-directory: ./e2e run: ./test-simple-macvlan1.sh diff --git a/e2e/simple-pod.yml b/e2e/simple-pod.yml new file mode 100644 index 000000000..82ca926c0 --- /dev/null +++ b/e2e/simple-pod.yml @@ -0,0 +1,15 @@ +--- +apiVersion: v1 +kind: Pod +metadata: + name: simple-centos1 + annotations: + labels: + app: simple +spec: + containers: + - name: simple-centos1 + image: centos:8 + command: ["/bin/sleep", "10000"] + securityContext: + privileged: true diff --git a/e2e/test-simple-pod.sh b/e2e/test-simple-pod.sh new file mode 100755 index 000000000..7d6f602b2 --- /dev/null +++ b/e2e/test-simple-pod.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -o errexit + +export PATH=${PATH}:./bin + +kubectl create -f simple-pod.yml +kubectl wait --for=condition=ready -l app=simple --timeout=300s pod + +echo "cleanup resources" +kubectl delete -f simple-pod.yml diff --git a/pkg/k8sclient/k8sclient.go b/pkg/k8sclient/k8sclient.go index b5b6fdd05..4e78ea5f9 100644 --- a/pkg/k8sclient/k8sclient.go +++ b/pkg/k8sclient/k8sclient.go @@ -367,6 +367,9 @@ func TryLoadPodDelegates(pod *v1.Pod, conf *types.NetConf, clientInfo *ClientInf return len(delegates), clientInfo, nil } + if _, ok := err.(*NoK8sNetworkError); ok { + return 0, clientInfo, nil + } return 0, clientInfo, err }