From cc850de7a447df01f130a06824f54d0ebd46fbfb Mon Sep 17 00:00:00 2001 From: Ciprian Hacman Date: Wed, 23 Jun 2021 08:06:26 +0300 Subject: [PATCH] Update CNI plugins to v0.9.1 --- upup/pkg/fi/cloudup/networking.go | 15 ++++++++++-- upup/pkg/fi/cloudup/networking_test.go | 32 ++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/upup/pkg/fi/cloudup/networking.go b/upup/pkg/fi/cloudup/networking.go index 93f1f3a1c0..27e15f4624 100644 --- a/upup/pkg/fi/cloudup/networking.go +++ b/upup/pkg/fi/cloudup/networking.go @@ -37,6 +37,9 @@ const ( // defaultCNIAssetAmd64K8s_15 is the CNI tarball for k8s >= 1.15 defaultCNIAssetAmd64K8s_15 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.8.7/cni-plugins-linux-amd64-v0.8.7.tgz" defaultCNIAssetArm64K8s_15 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.8.7/cni-plugins-linux-arm64-v0.8.7.tgz" + // defaultCNIAssetAmd64K8s_22 is the CNI tarball for k8s >= 1.22 + defaultCNIAssetAmd64K8s_22 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.9.1/cni-plugins-linux-amd64-v0.9.1.tgz" + defaultCNIAssetArm64K8s_22 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.9.1/cni-plugins-linux-arm64-v0.9.1.tgz" // Environment variable for overriding CNI url ENV_VAR_CNI_ASSET_URL = "CNI_VERSION_URL" @@ -82,10 +85,18 @@ func findCNIAssets(c *kopsapi.Cluster, assetBuilder *assets.AssetBuilder, arch a switch arch { case architectures.ArchitectureAmd64: - cniAssetURL = defaultCNIAssetAmd64K8s_15 + if c.IsKubernetesLT("1.22") { + cniAssetURL = defaultCNIAssetAmd64K8s_15 + } else { + cniAssetURL = defaultCNIAssetAmd64K8s_22 + } klog.V(2).Infof("Adding default ARM64 CNI plugin binaries asset: %s", cniAssetURL) case architectures.ArchitectureArm64: - cniAssetURL = defaultCNIAssetArm64K8s_15 + if c.IsKubernetesLT("1.22") { + cniAssetURL = defaultCNIAssetArm64K8s_15 + } else { + cniAssetURL = defaultCNIAssetArm64K8s_22 + } klog.V(2).Infof("Adding default AMD64 CNI plugin binaries asset: %s", cniAssetURL) default: return nil, nil, fmt.Errorf("unknown arch for CNI plugin binaries asset: %s", arch) diff --git a/upup/pkg/fi/cloudup/networking_test.go b/upup/pkg/fi/cloudup/networking_test.go index 091e7e394e..04f26bd43b 100644 --- a/upup/pkg/fi/cloudup/networking_test.go +++ b/upup/pkg/fi/cloudup/networking_test.go @@ -56,9 +56,9 @@ func Test_FindCNIAssetFromEnvironmentVariable(t *testing.T) { } } -func Test_FindCNIAssetFromDefaults(t *testing.T) { +func Test_FindCNIAssetFromDefaults118(t *testing.T) { - desiredCNIVersion := "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.8.7/cni-plugins-linux-amd64-v0.8.7.tgz" + desiredCNIVersionURL := "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.8.7/cni-plugins-linux-amd64-v0.8.7.tgz" desiredCNIVersionHash := "sha256:977824932d5667c7a37aa6a3cbba40100a6873e7bd97e83e8be837e3e7afd0a8" cluster := &api.Cluster{} @@ -71,8 +71,32 @@ func Test_FindCNIAssetFromDefaults(t *testing.T) { t.Errorf("Unable to parse CNI version %s", err) } - if cniAsset.String() != desiredCNIVersion { - t.Errorf("Expected default CNI version %q, but got %q instead", desiredCNIVersion, cniAsset) + if cniAsset.String() != desiredCNIVersionURL { + t.Errorf("Expected default CNI version %q, but got %q instead", desiredCNIVersionURL, cniAsset) + } + + if cniAssetHash.String() != desiredCNIVersionHash { + t.Errorf("Expected default CNI version hash %q, but got %q instead", desiredCNIVersionHash, cniAssetHash) + } +} + +func Test_FindCNIAssetFromDefaults122(t *testing.T) { + + desiredCNIVersionURL := "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.9.1/cni-plugins-linux-amd64-v0.9.1.tgz" + desiredCNIVersionHash := "sha256:962100bbc4baeaaa5748cdbfce941f756b1531c2eadb290129401498bfac21e7" + + cluster := &api.Cluster{} + cluster.Spec.KubernetesVersion = "v1.22.0" + + assetBuilder := assets.NewAssetBuilder(cluster, false) + cniAsset, cniAssetHash, err := findCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64) + + if err != nil { + t.Errorf("Unable to parse CNI version %s", err) + } + + if cniAsset.String() != desiredCNIVersionURL { + t.Errorf("Expected default CNI version %q, but got %q instead", desiredCNIVersionURL, cniAsset) } if cniAssetHash.String() != desiredCNIVersionHash {