mirror of https://github.com/k3s-io/k3s
Merge pull request #32359 from wojtek-t/rollback_etcd
Automatic merge from submit-queue Use etcd 2.3.7 This will switch to etcd 2.3.7 for release 1.4, to resolve issues rolling back from 1.4 to 1.3 (while preventing those same issues rolling back to 1.4.0 from a release including etcd 3.0.x). Fixes #32253. See #32253 (comment) for etcd roadmap.pull/6/head
commit
f535aea7fd
|
@ -72,7 +72,7 @@ RUN mkdir $TMPDIR \
|
|||
github.com/jteeuwen/go-bindata/go-bindata
|
||||
|
||||
# Download and symlink etcd. We need this for our integration tests.
|
||||
RUN export ETCD_VERSION=v3.0.4; \
|
||||
RUN export ETCD_VERSION=v2.3.7; \
|
||||
mkdir -p /usr/local/src/etcd \
|
||||
&& cd /usr/local/src/etcd \
|
||||
&& curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xz \
|
||||
|
|
|
@ -1 +1 @@
|
|||
v1.6.3-4
|
||||
v1.6.3-5
|
||||
|
|
|
@ -23,7 +23,7 @@ RELEASES_DIR=${RELEASES_DIR:-/tmp/downloads}
|
|||
FLANNEL_VERSION=${FLANNEL_VERSION:-"0.5.5"}
|
||||
|
||||
# Define etcd version to use.
|
||||
ETCD_VERSION=${ETCD_VERSION:-"3.0.4"}
|
||||
ETCD_VERSION=${ETCD_VERSION:-"2.3.7"}
|
||||
|
||||
# Define k8s version to use.
|
||||
K8S_VERSION=${K8S_VERSION:-"1.1.1"}
|
||||
|
|
|
@ -14,7 +14,7 @@ spec:
|
|||
--listen-client-urls=http://127.0.0.1:4002
|
||||
--data-dir=/var/etcd/data-events
|
||||
1>>/var/log/etcd-events.log 2>&1
|
||||
image: gcr.io/google_containers/etcd:3.0.4
|
||||
image: gcr.io/google_containers/etcd:2.3.7
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
|
|
@ -14,7 +14,7 @@ spec:
|
|||
--listen-client-urls=http://127.0.0.1:2379
|
||||
--data-dir=/var/etcd/data
|
||||
1>>/var/log/etcd.log 2>&1
|
||||
image: gcr.io/google_containers/etcd:3.0.4
|
||||
image: gcr.io/google_containers/etcd:2.3.7
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"containers": [
|
||||
{
|
||||
"name": "etcd",
|
||||
"image": "gcr.io/google_containers/etcd-ARCH:3.0.4",
|
||||
"image": "gcr.io/google_containers/etcd-ARCH:2.3.7",
|
||||
"command": [
|
||||
"/usr/local/bin/etcd",
|
||||
"--listen-client-urls=http://127.0.0.1:2379,http://127.0.0.1:4001",
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
"containers":[
|
||||
{
|
||||
"name": "etcd-container",
|
||||
"image": "gcr.io/google_containers/etcd:{{ pillar.get('etcd_docker_tag', '3.0.4') }}",
|
||||
"image": "gcr.io/google_containers/etcd:{{ pillar.get('etcd_docker_tag', '2.3.7') }}",
|
||||
"resources": {
|
||||
"requests": {
|
||||
"cpu": {{ cpulimit }}
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
},
|
||||
{
|
||||
"name": "etcd-container",
|
||||
"image": "gcr.io/google_containers/etcd:3.0.4",
|
||||
"image": "gcr.io/google_containers/etcd:2.3.7",
|
||||
"command": [
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
# A set of helpers for starting/running etcd for tests
|
||||
|
||||
ETCD_VERSION=${ETCD_VERSION:-3.0.4}
|
||||
ETCD_VERSION=${ETCD_VERSION:-2.3.7}
|
||||
ETCD_HOST=${ETCD_HOST:-127.0.0.1}
|
||||
ETCD_PORT=${ETCD_PORT:-2379}
|
||||
|
||||
|
|
|
@ -157,14 +157,15 @@ killApiServer
|
|||
# We always perform offline migration, so we need to stop etcd.
|
||||
#######################################################
|
||||
|
||||
kube::etcd::stop
|
||||
TARGET_STORAGE="etcd3" \
|
||||
DATA_DIRECTORY="${ETCD_DIR}" \
|
||||
ETCD=$(which etcd) \
|
||||
ETCDCTL=$(which etcdctl) \
|
||||
ATTACHLEASE="${KUBE_OUTPUT_HOSTBIN}/attachlease" \
|
||||
${KUBE_ROOT}/cluster/images/etcd/migrate-if-needed.sh
|
||||
kube::etcd::start
|
||||
# TODO: Uncomment once we support migration.
|
||||
#kube::etcd::stop
|
||||
#TARGET_STORAGE="etcd3" \
|
||||
# DATA_DIRECTORY="${ETCD_DIR}" \
|
||||
# ETCD=$(which etcd) \
|
||||
# ETCDCTL=$(which etcdctl) \
|
||||
# ATTACHLEASE="${KUBE_OUTPUT_HOSTBIN}/attachlease" \
|
||||
# ${KUBE_ROOT}/cluster/images/etcd/migrate-if-needed.sh
|
||||
#kube::etcd::start
|
||||
|
||||
|
||||
#######################################################
|
||||
|
@ -175,7 +176,8 @@ kube::etcd::start
|
|||
|
||||
KUBE_API_VERSIONS="${KUBE_NEW_API_VERSION},${KUBE_OLD_API_VERSION}"
|
||||
RUNTIME_CONFIG="api/all=false,api/${KUBE_OLD_API_VERSION}=true,api/${KUBE_NEW_API_VERSION}=true"
|
||||
startApiServer ${STORAGE_BACKEND_ETCD3} ${KUBE_NEW_STORAGE_VERSIONS} ${KUBE_STORAGE_MEDIA_TYPE_JSON}
|
||||
# TODO: Switch to STORAGE_BACKEND_ETCD3 once we support it.
|
||||
startApiServer ${STORAGE_BACKEND_ETCD2} ${KUBE_NEW_STORAGE_VERSIONS} ${KUBE_STORAGE_MEDIA_TYPE_JSON}
|
||||
|
||||
# Update etcd objects, so that will now be stored in the new api version.
|
||||
kube::log::status "Updating storage versions in etcd"
|
||||
|
@ -190,7 +192,7 @@ for test in ${tests[@]}; do
|
|||
new_storage_version=${test_data[5]}
|
||||
|
||||
kube::log::status "Verifying ${resource}/${namespace}/${name} has updated storage version ${new_storage_version} in etcd"
|
||||
ETCDCTL_API=3 ${ETCDCTL} --endpoints="${ETCD_HOST}:${ETCD_PORT}" get "/${ETCD_PREFIX}/${resource}/${namespace}/${name}" | grep ${new_storage_version}
|
||||
${ETCDCTL} --endpoints="${ETCD_HOST}:${ETCD_PORT}" get "/${ETCD_PREFIX}/${resource}/${namespace}/${name}" | grep ${new_storage_version}
|
||||
done
|
||||
|
||||
killApiServer
|
||||
|
@ -206,7 +208,8 @@ RUNTIME_CONFIG="api/all=false,api/${KUBE_NEW_API_VERSION}=true"
|
|||
|
||||
# This seems to reduce flakiness.
|
||||
sleep 1
|
||||
startApiServer ${STORAGE_BACKEND_ETCD3} ${KUBE_NEW_STORAGE_VERSIONS} ${KUBE_STORAGE_MEDIA_TYPE_PROTOBUF}
|
||||
# TODO: Switch to STORAGE_BACKEND_ETCD3 once we support it.
|
||||
startApiServer ${STORAGE_BACKEND_ETCD2} ${KUBE_NEW_STORAGE_VERSIONS} ${KUBE_STORAGE_MEDIA_TYPE_PROTOBUF}
|
||||
|
||||
for test in ${tests[@]}; do
|
||||
IFS=',' read -ra test_data <<<"$test"
|
||||
|
|
|
@ -31,7 +31,7 @@ if [ "${EVENT_STORE_IP}" == "127.0.0.1" ]; then
|
|||
# Retry starting etcd to avoid pulling image errors.
|
||||
retry sudo docker run --net=host \
|
||||
-v /var/etcd/data-events:/var/etcd/data -v /var/log:/var/log -d \
|
||||
gcr.io/google_containers/etcd:3.0.4 /bin/sh -c "/usr/local/bin/etcd \
|
||||
gcr.io/google_containers/etcd:2.3.7 /bin/sh -c "/usr/local/bin/etcd \
|
||||
--listen-peer-urls http://127.0.0.1:2381 \
|
||||
--advertise-client-urls=http://127.0.0.1:4002 \
|
||||
--listen-client-urls=http://0.0.0.0:4002 \
|
||||
|
@ -41,7 +41,7 @@ fi
|
|||
# Retry starting etcd to avoid pulling image errors.
|
||||
retry sudo docker run --net=host \
|
||||
-v /var/etcd/data:/var/etcd/data -v /var/log:/var/log -d \
|
||||
gcr.io/google_containers/etcd:3.0.4 /bin/sh -c "/usr/local/bin/etcd \
|
||||
gcr.io/google_containers/etcd:2.3.7 /bin/sh -c "/usr/local/bin/etcd \
|
||||
--listen-peer-urls http://127.0.0.1:2380 \
|
||||
--advertise-client-urls=http://127.0.0.1:2379 \
|
||||
--listen-client-urls=http://0.0.0.0:2379 \
|
||||
|
|
Loading…
Reference in New Issue