Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.

Add support for etcd 3.4.13 #344

Merged
merged 1 commit into from
Sep 13, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Add support for etcd 3.4.13
  • Loading branch information
Ciprian Hacman committed Sep 8, 2020
commit 9f77b8f9ee6c7b0c6cb0cc318031e37bec3aefcc
11 changes: 11 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -94,3 +94,14 @@ gazelle(
"etcd",
"etcdctl",
]]

[genrule(
name = "etcd-v3.4.13-linux-amd64_%s" % c,
srcs = ["@etcd_3_4_13_tar//file"],
outs = ["etcd-v3.4.13-linux-amd64/%s" % c],
cmd = "tar -x -z --no-same-owner -f ./$(location @etcd_3_4_13_tar//file) etcd-v3.4.13-linux-amd64/%s && mv etcd-v3.4.13-linux-amd64/%s \"$@\"" % (c, c),
visibility = ["//visibility:public"],
) for c in [
"etcd",
"etcdctl",
]]
6 changes: 6 additions & 0 deletions WORKSPACE
Original file line number Diff line number Diff line change
@@ -119,6 +119,12 @@ http_file(
urls = ["https://github.com/coreos/etcd/releases/download/v3.4.3/etcd-v3.4.3-linux-amd64.tar.gz"],
)

http_file(
name = "etcd_3_4_13_tar",
sha256 = "2ac029e47bab752dacdb7b30032f230f49e2f457cbc32e8f555c2210bb5ff107",
urls = ["https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar.gz"],
)

#=============================================================================
# Build etcd from source
# This picks up a number of critical bug fixes, for example:
11 changes: 11 additions & 0 deletions images/BUILD
Original file line number Diff line number Diff line change
@@ -95,6 +95,16 @@ container_layer(
],
)

# Layer for etcd 3.4.13, updated recommendation for k8s 1.19 and later
container_layer(
name = "etcd-3-4-13-layer",
directory = "/opt/etcd-v3.4.13-linux-amd64/",
files = [
"//:etcd-v3.4.13-linux-amd64_etcdctl",
"//:etcd-v3.4.13-linux-amd64_etcd",
],
)

load("@io_bazel_rules_docker//docker/package_managers:download_pkgs.bzl", "download_pkgs")
load("@io_bazel_rules_docker//docker/package_managers:install_pkgs.bzl", "install_pkgs")

@@ -128,6 +138,7 @@ container_image(
"etcd-3-3-13-layer",
"etcd-3-3-17-layer",
"etcd-3-4-3-layer",
"etcd-3-4-13-layer",
],
)

14 changes: 12 additions & 2 deletions pkg/etcdversions/mappings.go
Original file line number Diff line number Diff line change
@@ -35,6 +35,7 @@ const (
Version_3_3_13 = "3.3.13"
Version_3_3_17 = "3.3.17"
Version_3_4_3 = "3.4.3"
Version_3_4_13 = "3.4.13"
)

var AllEtcdVersions = []string{
@@ -46,6 +47,7 @@ var AllEtcdVersions = []string{
Version_3_3_13,
Version_3_3_17,
Version_3_4_3,
Version_3_4_13,
}

func UpgradeInPlaceSupported(fromVersion, toVersion string) bool {
@@ -124,7 +126,11 @@ func EtcdVersionForAdoption(fromVersion string) string {
return Version_3_3_17
}
case "3.4":
return Version_3_4_3
if fromSemver.Patch <= 3 {
return Version_3_4_3
} else {
return Version_3_4_13
}
default:
return ""
}
@@ -160,7 +166,11 @@ func EtcdVersionForRestore(fromVersion string) string {
return Version_3_3_17
}
case "3.4":
return Version_3_4_3
if fromSemver.Patch <= 3 {
return Version_3_4_3
} else {
return Version_3_4_13
}
default:
return ""
}
2 changes: 2 additions & 0 deletions test/integration/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -28,6 +28,8 @@ go_test(
"//:etcd-v3.3.17-linux-amd64_etcdctl",
"//:etcd-v3.4.3-linux-amd64_etcd",
"//:etcd-v3.4.3-linux-amd64_etcdctl",
"//:etcd-v3.4.13-linux-amd64_etcd",
"//:etcd-v3.4.13-linux-amd64_etcdctl",
],
deps = [
"//pkg/apis/etcd:go_default_library",