diff --git a/CHANGELOG.md b/CHANGELOG.md index a768b8887..b417ec074 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,9 @@ ### Changed - simplify `Makefile` - +- remove certs mounts [@magicsong](https://github.com/yunify/qingcloud-cloud-controller-manager/pull/56) +- recording logs when e2e-test failure + ## [ 1.3.3 ] - 2019-05-04 ### Added - support UDP [@magicsong](https://github.com/yunify/qingcloud-cloud-controller-manager/pull/54) diff --git a/Jenkinsfile b/Jenkinsfile index 35c1b267e..8c139ed53 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,10 +37,6 @@ pipeline { post { failure { echo "Detect failure .Save logs " - sh """ - podname=`kubectl get pod -n cloud-test-$tag -l app=tide -o jsonpath="{.items[0].metadata.name}"` - kubectl logs $podname -n cloud-test-$tag > cloud_controller.log - """ archiveArtifacts artifacts: 'cloud_controller.log' } always { diff --git a/deploy/Dockerfile b/deploy/Dockerfile index 57bc05e5d..7e2e5c07e 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -1,5 +1,7 @@ # Copy the controller-manager into a thin image FROM alpine +RUN apk --no-cache add iptables ca-certificates \ + && update-ca-certificates 2>/dev/null || true WORKDIR / COPY . . ENTRYPOINT ["/manager"] \ No newline at end of file diff --git a/deploy/kube-cloud-controller-manager.yaml b/deploy/kube-cloud-controller-manager.yaml index 6a5265f74..4f5bd9392 100644 --- a/deploy/kube-cloud-controller-manager.yaml +++ b/deploy/kube-cloud-controller-manager.yaml @@ -41,8 +41,6 @@ spec: - mountPath: /etc/kubernetes name: k8s readOnly: true - - mountPath: /etc/ssl/certs - name: certs - mountPath: /etc/qingcloud name: qingcloud readOnly: true @@ -63,9 +61,6 @@ spec: - hostPath: path: /etc/kubernetes name: k8s - - hostPath: - path: /etc/ssl/certs - name: certs - name: qingcloud secret: secretName: qcsecret diff --git a/hack/e2e.sh b/hack/e2e.sh index 87d0ae8a1..cdb41a56c 100755 --- a/hack/e2e.sh +++ b/hack/e2e.sh @@ -14,6 +14,13 @@ secret_file=${HOME}/.qingcloud/config.yaml function cleanup(){ result=$? set +e + + if [ $result != "0" ]; then + echo "Detect test failure, save logs" + podname=`kubectl get pod -n $TEST_NS -l app=yunify-cloud-controller-manager -o jsonpath="{.items[0].metadata.name}"` + kubectl logs $podname -n $TEST_NS > cloud_controller.log + fi + echo "Cleaning Namespace" kubectl delete secret qcsecret -n $TEST_NS kubectl delete ns $TEST_NS > /dev/null @@ -82,4 +89,4 @@ kubectl apply -f $DEST export TEST_NS export secret_file -go test -timeout 20m -v -mod=vendor ./test/pkg/e2e/ \ No newline at end of file +go test -timeout 20m -v -mod=vendor ./test/pkg/e2e/ diff --git a/test/pkg/e2e/e2e_test.go b/test/pkg/e2e/e2e_test.go index 28556cf70..edd16c9bb 100644 --- a/test/pkg/e2e/e2e_test.go +++ b/test/pkg/e2e/e2e_test.go @@ -27,6 +27,7 @@ var _ = Describe("E2e", func() { Expect(e2eutil.KubectlDelete(servicePath)).ShouldNot(HaveOccurred()) time.Sleep(1 * time.Minute) //make sure lb is deleted + time.Sleep(time.Second * 30) lbService, _ := qcService.LoadBalancer("ap2a") Eventually(func() error { return e2eutil.WaitForLoadBalancerDeleted(lbService) }, time.Minute*2, time.Second*10).Should(Succeed()) }() @@ -56,7 +57,7 @@ var _ = Describe("E2e", func() { Expect(e2eutil.KubectlDelete(service1Path)).ShouldNot(HaveOccurred()) //make sure lb is deleted lbService, _ := qcService.LoadBalancer("ap2a") - time.Sleep(time.Second * 30) + time.Sleep(time.Second * 45) Eventually(func() error { return e2eutil.WaitForLoadBalancerDeleted(lbService) }, time.Minute*1, time.Second*10).Should(Succeed()) }() log.Println("Just wait 2 minutes before tests because following procedure is so so so slow ")