From 039178b27fc3aca315cd9132421e1d0c3f3f07f9 Mon Sep 17 00:00:00 2001 From: Yang Guo Date: Mon, 28 Aug 2017 10:41:24 -0700 Subject: [PATCH] Use the pre-built docker binaries on Ubuntu for benchmark tests --- .../jenkins/benchmark/benchmark-config.yaml | 30 ++++- test/e2e_node/jenkins/ubuntu-init-docker.yaml | 121 ++++++++++++++++++ 2 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 test/e2e_node/jenkins/ubuntu-init-docker.yaml diff --git a/test/e2e_node/jenkins/benchmark/benchmark-config.yaml b/test/e2e_node/jenkins/benchmark/benchmark-config.yaml index 502c7154a76..44db1328f33 100644 --- a/test/e2e_node/jenkins/benchmark/benchmark-config.yaml +++ b/test/e2e_node/jenkins/benchmark/benchmark-config.yaml @@ -178,20 +178,44 @@ images: tests: - 'resource tracking for 105 pods per node \[Benchmark\]' ubuntustable-resource1: - image: ubuntu-gke-1604-xenial-v20170420-1 + image: ubuntu-gke-1604-xenial-v20170816-1 project: ubuntu-os-gke-cloud machine: n1-standard-1 tests: - 'resource tracking for 0 pods per node \[Benchmark\]' ubuntustable-resource2: - image: ubuntu-gke-1604-xenial-v20170420-1 + image: ubuntu-gke-1604-xenial-v20170816-1 project: ubuntu-os-gke-cloud machine: n1-standard-1 tests: - 'resource tracking for 35 pods per node \[Benchmark\]' ubuntustable-resource3: - image: ubuntu-gke-1604-xenial-v20170420-1 + image: ubuntu-gke-1604-xenial-v20170816-1 project: ubuntu-os-gke-cloud machine: n1-standard-1 tests: - 'resource tracking for 105 pods per node \[Benchmark\]' + ubuntustable-docker112-resource1: + image: ubuntu-gke-1604-xenial-v20170816-1 + image_description: ubuntu-gke-1604-xenial-v20170816-1 with docker 1.12.6 + project: ubuntu-os-gke-cloud + machine: n1-standard-1 + metadata: "user-data> /etc/default/docker + } + + # $1: Metadata key + get_metadata() { + /usr/bin/curl --fail --retry 5 --retry-delay 3 --silent --show-error \ + -H "X-Google-Metadata-Request: True" \ + http://metadata.google.internal/computeMetadata/v1/instance/attributes/"$1" + } + + main() { + # Get the desired Docker version through the following metadata key. + local requested_version="$(get_metadata "ubuntu-docker-version")" + if [[ -z "${requested_version}" ]]; then + exit 0 + fi + + # Stop the docker daemon during upgrade. + systemctl stop docker + download_and_install_docker "${requested_version}" + + # Assert that the upgrade was successful. + local rc=0 + check_installed /usr/bin/docker "${requested_version}" || rc=1 + systemctl start docker && exit $rc + } + + main "$@" + +runcmd: + - systemctl daemon-reload + - systemctl start upgrade-docker.service + - mount /tmp /tmp -o remount,exec,suid + - usermod -a -G docker jenkins + - mkdir -p /var/lib/kubelet + - mkdir -p /home/kubernetes/containerized_mounter/rootfs + - mount --bind /home/kubernetes/containerized_mounter/ /home/kubernetes/containerized_mounter/ + - mount -o remount, exec /home/kubernetes/containerized_mounter/ + - wget https://storage.googleapis.com/kubernetes-release/gci-mounter/mounter.tar -O /tmp/mounter.tar + - tar xvf /tmp/mounter.tar -C /home/kubernetes/containerized_mounter/rootfs + - mkdir -p /home/kubernetes/containerized_mounter/rootfs/var/lib/kubelet + - mount --rbind /var/lib/kubelet /home/kubernetes/containerized_mounter/rootfs/var/lib/kubelet + - mount --make-rshared /home/kubernetes/containerized_mounter/rootfs/var/lib/kubelet + - mount --bind /proc /home/kubernetes/containerized_mounter/rootfs/proc + - mount --bind /dev /home/kubernetes/containerized_mounter/rootfs/dev + - rm /tmp/mounter.tar