Upload node e2e test log to gcs
Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
parent
ade5f403d0
commit
49bcfb3665
24
.travis.yml
24
.travis.yml
@ -5,10 +5,21 @@ sudo: required
|
||||
services:
|
||||
- docker
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- "${HOME}/google-cloud-sdk/"
|
||||
|
||||
before_install:
|
||||
# Workaround to make gsutil work (see travis-ci#7940).
|
||||
# TODO(random-liu): Remove this after travis-ci#7940 is fixed.
|
||||
- sudo rm -f /etc/boto.cfg
|
||||
# libseccomp in trusty is not new enough, need backports version.
|
||||
- sudo sh -c "echo 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse' > /etc/apt/sources.list.d/backports.list"
|
||||
- sudo apt-get update
|
||||
# Encrypted data is not available for pull request for security concern.
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
|
||||
openssl aes-256-cbc -K $encrypted_b5f8c391f742_key -iv $encrypted_b5f8c391f742_iv -in gcp-secret.json.enc -out gcp-secret.json -d;
|
||||
fi
|
||||
|
||||
install:
|
||||
- sudo apt-get install btrfs-tools
|
||||
@ -17,9 +28,19 @@ install:
|
||||
- sudo apt-get install libapparmor-dev
|
||||
- sudo apt-get install socat
|
||||
- docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter
|
||||
# Pull request test doesn't need google cloud sdk.
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ ! -d ${HOME}/google-cloud-sdk ]; then
|
||||
rm -rf "${HOME}/google-cloud-sdk";
|
||||
export CLOUDSDK_CORE_DISABLE_PROMPTS=1;
|
||||
curl https://sdk.cloud.google.com | bash;
|
||||
gcloud version;
|
||||
fi
|
||||
|
||||
before_script:
|
||||
- export PATH=$HOME/gopath/bin:$PATH
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
|
||||
gcloud auth activate-service-account --key-file gcp-secret.json --project=k8s-cri-containerd;
|
||||
fi
|
||||
|
||||
jobs:
|
||||
include:
|
||||
@ -52,6 +73,5 @@ jobs:
|
||||
script:
|
||||
- test "${TRAVIS_EVENT_TYPE}" != "cron" && exit 0 || true
|
||||
- make install.deps
|
||||
- make test-e2e-node
|
||||
# TODO(random-liu): Upload log to GCS.
|
||||
- UPLOAD_LOG=true make test-e2e-node
|
||||
go: 1.8.x
|
||||
|
2
Makefile
2
Makefile
@ -78,7 +78,7 @@ test-cri: binaries
|
||||
@./hack/test-cri.sh
|
||||
|
||||
test-e2e-node: binaries
|
||||
@./hack/test-e2e-node.sh
|
||||
@VERSION=$(VERSION) ./hack/test-e2e-node.sh
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)/*
|
||||
|
BIN
gcp-secret.json.enc
Normal file
BIN
gcp-secret.json.enc
Normal file
Binary file not shown.
@ -27,6 +27,7 @@ export FOCUS=${FOCUS:-""}
|
||||
# SKIP skips the test to skip.
|
||||
export SKIP=${SKIP:-${DEFAULT_SKIP}}
|
||||
REPORT_DIR=${REPORT_DIR:-"/tmp/test-e2e-node"}
|
||||
UPLOAD_LOG=${UPLOAD_LOG:-false}
|
||||
|
||||
# Check GOPATH
|
||||
if [[ -z "${GOPATH}" ]]; then
|
||||
@ -78,3 +79,13 @@ kill_cri_containerd
|
||||
|
||||
sudo iptables-restore < ${ORIGINAL_RULES}
|
||||
rm ${ORIGINAL_RULES}
|
||||
|
||||
# UPLOAD_LOG_PATH is bucket to upload test logs.
|
||||
UPLOAD_LOG_PATH=cri-containerd_test-e2e-node
|
||||
if ${UPLOAD_LOG}; then
|
||||
if [ -z "${VERSION}" ]; then
|
||||
echo "VERSION is not set"
|
||||
exit 1
|
||||
fi
|
||||
upload_logs_to_gcs "${UPLOAD_LOG_PATH}" "${VERSION}-$(date +%Y%m%d-%H%M%S)" "${REPORT_DIR}"
|
||||
fi
|
||||
|
@ -51,3 +51,28 @@ start_cri_containerd() {
|
||||
kill_cri_containerd() {
|
||||
sudo pkill containerd
|
||||
}
|
||||
|
||||
# upload_logs_to_gcs uploads test logs to gcs.
|
||||
# Var set:
|
||||
# 1. Bucket: gcs bucket to upload logs.
|
||||
# 2. Dir: directory name to upload logs.
|
||||
# 3. Test Result: directory of the test result.
|
||||
upload_logs_to_gcs() {
|
||||
local -r bucket=$1
|
||||
local -r dir=$2
|
||||
local -r result=$3
|
||||
if ! gsutil ls "gs://${bucket}" > /dev/null; then
|
||||
gsutil mb "gs://${bucket}"
|
||||
gsutil -m acl ch -g all:R "gs://${bucket}"
|
||||
gsutil defacl set public-read "gs://${bucket}"
|
||||
local -r bucket_rule=$(mktemp)
|
||||
# Set 30 day TTL for logs inside the bucket.
|
||||
echo '{"rule": [{"action": {"type": "Delete"},"condition": {"age": 30}}]}' > ${bucket_rule}
|
||||
gsutil lifecycle set "${bucket_rule}" "gs://${bucket}"
|
||||
rm "${bucket_rule}"
|
||||
fi
|
||||
local -r upload_log_path=${bucket}/${dir}
|
||||
gsutil cp -r "${REPORT_DIR}" "gs://${upload_log_path}"
|
||||
echo "Test logs are uploaed to:
|
||||
http://gcsweb.k8s.io/gcs/${upload_log_path}/"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user