kubernetes/cluster/mesos/docker/common/bin/util-temp-dir.sh
Karl Isenberg 7afa78a2ef [mesos/docker] Enhance kube-up to better support running in a container (for CI)
- Generate CA & API Server SSL key/cert in keygen docker image
  - Refactor SSL generation
  - Generate service account key & user files on local machine
- Enable kube-up to be run in a container (kubernetes-mesos-test)
- Add timeout env vars
- Pull docker images up front to avoid timeouts
- Remove docker image builds from test-setup
- Nuke logs dir before each kube-up
- Make run_in_docker work without KUBECONFIG defined
- Fix temp dir cleanup
- Add auth mount env var
  - Default to $HOME/tmp/kubernetes/auth
  - Outside of repo (which gets docker mounted when using kubernetes-mesos-test)
  - Inside $HOME (which gets vm mounted when using docker-machine or boot2docker)
- Add log dump dir env var
  - Default to $HOME/tmp/kubernetes/logs (for consistancy with auth dir)
- Enable errtrace
- Increase log level to aid CI debugging
2015-08-13 14:38:43 -07:00

48 lines
1.3 KiB
Bash

#!/bin/bash
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Sourcable temp directory functions
set -o errexit
set -o nounset
set -o pipefail
set -o errtrace
# Runs the supplied command string in a temporary workspace directory.
function cluster::mesos::docker::run_in_temp_dir {
prefix="$1"
shift
cmd="$@"
# create temp WORKSPACE dir in current dir to avoid permission issues of TMPDIR on mac os x
local -r workspace=$(env TMPDIR=$(pwd) mktemp -d -t "${prefix}-XXXXXX")
echo "Workspace created: ${workspace}" 1>&2
cleanup() {
local -r workspace="$1"
rm -rf "${workspace}"
echo "Workspace deleted: ${workspace}" 1>&2
}
trap "cleanup '${workspace}'" EXIT
pushd "${workspace}" > /dev/null
${cmd}
popd > /dev/null
trap - EXIT
cleanup "${workspace}"
}