From c2248324c1d7616331c4035f632d50b45a7b1a65 Mon Sep 17 00:00:00 2001 From: Wojciech Tyczynski Date: Mon, 31 Oct 2016 10:40:41 +0100 Subject: [PATCH] Expose etcd version. --- cluster/common.sh | 9 +++++++++ cluster/gce/config-test.sh | 4 +++- cluster/gce/configure-vm.sh | 9 +++++++-- cluster/gce/gci/configure-helper.sh | 9 +++++++-- cluster/gce/trusty/configure-helper.sh | 9 +++++++-- cluster/kubemark/config-default.sh | 4 +++- cluster/saltbase/salt/etcd/etcd.manifest | 2 +- 7 files changed, 37 insertions(+), 9 deletions(-) diff --git a/cluster/common.sh b/cluster/common.sh index 6708893908532..efea65b8ba7bc 100755 --- a/cluster/common.sh +++ b/cluster/common.sh @@ -702,6 +702,15 @@ NUM_NODES: $(yaml-quote ${NUM_NODES}) STORAGE_BACKEND: $(yaml-quote ${STORAGE_BACKEND:-}) ENABLE_GARBAGE_COLLECTOR: $(yaml-quote ${ENABLE_GARBAGE_COLLECTOR:-}) EOF + # ETCD_IMAGE (if set) allows to use a custom etcd image. + if [ -n "${ETCD_IMAGE:-}" ]; then + cat >>$file <>$file <>/srv/salt-overlay/pillar/cluster-params.sls +etcd_docker_tag: '$(echo "$ETCD_IMAGE" | sed -e "s/'/''/g")' +EOF + fi if [ -n "${ETCD_VERSION:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls -etcd_docker_tag: '$(echo "$ETCD_VERSION" | sed -e "s/'/''/g")' +etcd_version: '$(echo "$ETCD_VERSION" | sed -e "s/'/''/g")' EOF fi + # Configuration changes for test clusters if [ -n "${APISERVER_TEST_ARGS:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls apiserver_test_args: '$(echo "$APISERVER_TEST_ARGS" | sed -e "s/'/''/g")' diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 797326988813e..152fe295de353 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -626,11 +626,16 @@ function prepare-etcd-manifest { sed -i -e "s@{{ *etcd_cluster *}}@$etcd_cluster@g" "${temp_file}" sed -i -e "s@{{ *storage_backend *}}@${STORAGE_BACKEND:-}@g" "${temp_file}" sed -i -e "s@{{ *cluster_state *}}@$cluster_state@g" "${temp_file}" - if [[ -n "${ETCD_VERSION:-}" ]]; then - sed -i -e "s@{{ *pillar\.get('etcd_docker_tag', '\(.*\)') *}}@${ETCD_VERSION}@g" "${temp_file}" + if [[ -n "${ETCD_IMAGE:-}" ]]; then + sed -i -e "s@{{ *pillar\.get('etcd_docker_tag', '\(.*\)') *}}@${ETCD_IMAGE}@g" "${temp_file}" else sed -i -e "s@{{ *pillar\.get('etcd_docker_tag', '\(.*\)') *}}@\1@g" "${temp_file}" fi + if [[ -n "${ETCD_VERSION:-}" ]]; then + sed -i -e "s@{{ *pillar\.get('etcd_version', '\(.*\)') *}}@${ETCD_VERSION}@g" "${temp_file}" + else + sed -i -e "s@{{ *pillar\.get('etcd_version', '\(.*\)') *}}@\1@g" "${temp_file}" + fi # Replace the volume host path. sed -i -e "s@/mnt/master-pd/var/etcd@/mnt/disks/master-pd/var/etcd@g" "${temp_file}" mv "${temp_file}" /etc/kubernetes/manifests diff --git a/cluster/gce/trusty/configure-helper.sh b/cluster/gce/trusty/configure-helper.sh index 05e8cadec985b..d8647f18fe15e 100644 --- a/cluster/gce/trusty/configure-helper.sh +++ b/cluster/gce/trusty/configure-helper.sh @@ -458,11 +458,16 @@ prepare_etcd_manifest() { sed -i -e "s@{{ *etcd_cluster *}}@$etcd_cluster@g" "${etcd_temp_file}" sed -i -e "s@{{ *storage_backend *}}@${STORAGE_BACKEND:-}@g" "${temp_file}" sed -i -e "s@{{ *cluster_state *}}@$cluster_state@g" "${etcd_temp_file}" - if [[ -n "${ETCD_VERSION:-}" ]]; then - sed -i -e "s@{{ *pillar\.get('etcd_docker_tag', '\(.*\)') *}}@${ETCD_VERSION}@g" "${etcd_temp_file}" + if [[ -n "${ETCD_IMAGE:-}" ]]; then + sed -i -e "s@{{ *pillar\.get('etcd_docker_tag', '\(.*\)') *}}@${ETCD_IMAGE}@g" "${etcd_temp_file}" else sed -i -e "s@{{ *pillar\.get('etcd_docker_tag', '\(.*\)') *}}@\1@g" "${etcd_temp_file}" fi + if [[ -n "${ETCD_VERSION:-}" ]]; then + sed -i -e "s@{{ *pillar\.get('etcd_version', '\(.*\)') *}}@${ETCD_VERSION}@g" "${etcd_temp_file}" + else + sed -i -e "s@{{ *pillar\.get('etcd_version', '\(.*\)') *}}@\1@g" "${etcd_temp_file}" + fi # Replace the volume host path sed -i -e "s@/mnt/master-pd/var/etcd@/mnt/disks/master-pd/var/etcd@g" "${etcd_temp_file}" mv "${etcd_temp_file}" /etc/kubernetes/manifests diff --git a/cluster/kubemark/config-default.sh b/cluster/kubemark/config-default.sh index f38f1333f9709..a4f68be4fe0f1 100644 --- a/cluster/kubemark/config-default.sh +++ b/cluster/kubemark/config-default.sh @@ -46,7 +46,9 @@ CLUSTER_IP_RANGE="${CLUSTER_IP_RANGE:-10.240.0.0/11}" RUNTIME_CONFIG="${KUBE_RUNTIME_CONFIG:-}" TERMINATED_POD_GC_THRESHOLD=${TERMINATED_POD_GC_THRESHOLD:-100} -# Set etcd version (e.g. 3.0.4-migration.1) if you need non-default version. +# Set etcd image (e.g. 3.0.13-experimental.1) version (e.g. 3.0.13) if you need +# non-default version. +ETCD_IMAGE="${TEST_ETCD_IMAGE:-}" ETCD_VERSION="${TEST_ETCD_VERSION:-}" # Storage backend. 'etcd2' supported, 'etcd3' experimental. STORAGE_BACKEND=${STORAGE_BACKEND:-etcd2} diff --git a/cluster/saltbase/salt/etcd/etcd.manifest b/cluster/saltbase/salt/etcd/etcd.manifest index 69c9cdc02d385..a5de08ee20459 100644 --- a/cluster/saltbase/salt/etcd/etcd.manifest +++ b/cluster/saltbase/salt/etcd/etcd.manifest @@ -44,7 +44,7 @@ "value": "{{ storage_backend }}" }, { "name": "TARGET_VERSION", - "value": "{{ pillar.get('etcd_docker_tag', '2.2.1') }}" + "value": "{{ pillar.get('etcd_version', '2.2.1') }}" }, { "name": "DATA_DIRECTORY", "value": "/var/etcd/data{{ suffix }}"