From 7adaf80cc7e9cf054e384f6e7616e06f91a0d4b7 Mon Sep 17 00:00:00 2001 From: Jeff Grafton Date: Thu, 25 Feb 2016 19:26:02 -0800 Subject: [PATCH] Make hack/install-etcd.sh use hack/lib/etcd.sh --- hack/install-etcd.sh | 11 +++++------ hack/lib/etcd.sh | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/hack/install-etcd.sh b/hack/install-etcd.sh index b07dcd2e5e..0e622a0fd0 100755 --- a/hack/install-etcd.sh +++ b/hack/install-etcd.sh @@ -14,15 +14,14 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Convenience script to download and install etcd in third_party. +# Mostly just used by CI. + set -o errexit set -o nounset set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. +source "${KUBE_ROOT}/hack/lib/init.sh" -ETCD_VERSION=${ETCD_VERSION:-v2.2.1} - -cd "${KUBE_ROOT}/third_party" -curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz \ - | tar xzf - -ln -fns etcd-${ETCD_VERSION}-linux-amd64 etcd +kube::etcd::install diff --git a/hack/lib/etcd.sh b/hack/lib/etcd.sh index 35388d55ba..11cd2b5864 100644 --- a/hack/lib/etcd.sh +++ b/hack/lib/etcd.sh @@ -16,6 +16,8 @@ # A set of helpers for starting/running etcd for tests +ETCD_VERSION=${ETCD_VERSION:-2.2.1} + kube::etcd::start() { local host=${ETCD_HOST:-127.0.0.1} local port=${ETCD_PORT:-4001} @@ -32,8 +34,9 @@ kube::etcd::start() { fi version=$(etcd -version | cut -d " " -f 3) - if [[ "${version}" < "2.0.0" ]]; then - kube::log::usage "etcd version 2.0.0 or greater required." + if [[ "${version}" < "${ETCD_VERSION}" ]]; then + kube::log::usage "etcd version ${ETCD_VERSION} or greater required." + kube::log::info "You can use 'hack/install-etcd.sh' to install a copy in third_party/." exit 1 fi @@ -61,3 +64,13 @@ kube::etcd::cleanup() { kube::etcd::stop kube::etcd::clean_etcd_dir } + +kube::etcd::install() { + ( + cd "${KUBE_ROOT}/third_party" + curl -fsSL https://github.com/coreos/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz | tar xzf - + ln -fns "etcd-v${ETCD_VERSION}-linux-amd64" etcd + kube::log::info "etcd v${ETCD_VERSION} installed. To use:" + kube::log::info "export PATH=\${PATH}:$(pwd)/etcd" + ) +}