From 17bb98b7d7ce51856379f4457d6106b4689427e9 Mon Sep 17 00:00:00 2001 From: Ciprian Hacman Date: Wed, 11 Mar 2020 06:49:02 +0200 Subject: [PATCH] Add support for Ubuntu 20.04 (Focal) --- nodeup/pkg/distros/distribution.go | 11 +++++++---- nodeup/pkg/distros/identify.go | 4 ++-- nodeup/pkg/model/kubelet.go | 6 ++++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/nodeup/pkg/distros/distribution.go b/nodeup/pkg/distros/distribution.go index 4b01f60d05..cf77f1388b 100644 --- a/nodeup/pkg/distros/distribution.go +++ b/nodeup/pkg/distros/distribution.go @@ -29,6 +29,7 @@ var ( DistributionDebian10 Distribution = "buster" DistributionXenial Distribution = "xenial" DistributionBionic Distribution = "bionic" + DistributionFocal Distribution = "focal" DistributionAmazonLinux2 Distribution = "amazonlinux2" DistributionRhel7 Distribution = "rhel7" DistributionCentos7 Distribution = "centos7" @@ -51,6 +52,8 @@ func (d Distribution) BuildTags() []string { t = []string{"_xenial"} case DistributionBionic: t = []string{"_bionic"} + case DistributionFocal: + t = []string{"_focal"} case DistributionAmazonLinux2: t = []string{"_amazonlinux2"} case DistributionCentos7: @@ -89,7 +92,7 @@ func (d Distribution) IsDebianFamily() bool { switch d { case DistributionJessie, DistributionDebian9, DistributionDebian10: return true - case DistributionXenial, DistributionBionic: + case DistributionXenial, DistributionBionic, DistributionFocal: return true case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2: return false @@ -105,7 +108,7 @@ func (d Distribution) IsUbuntu() bool { switch d { case DistributionJessie, DistributionDebian9, DistributionDebian10: return false - case DistributionXenial, DistributionBionic: + case DistributionXenial, DistributionBionic, DistributionFocal: return true case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2: return false @@ -121,7 +124,7 @@ func (d Distribution) IsRHELFamily() bool { switch d { case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2: return true - case DistributionJessie, DistributionXenial, DistributionBionic, DistributionDebian9, DistributionDebian10: + case DistributionJessie, DistributionXenial, DistributionBionic, DistributionFocal, DistributionDebian9, DistributionDebian10: return false case DistributionCoreOS, DistributionFlatcar, DistributionContainerOS: return false @@ -133,7 +136,7 @@ func (d Distribution) IsRHELFamily() bool { func (d Distribution) IsSystemd() bool { switch d { - case DistributionJessie, DistributionXenial, DistributionBionic, DistributionDebian9, DistributionDebian10: + case DistributionJessie, DistributionXenial, DistributionBionic, DistributionFocal, DistributionDebian9, DistributionDebian10: return true case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2: return true diff --git a/nodeup/pkg/distros/identify.go b/nodeup/pkg/distros/identify.go index 713dc3b886..7212047ff6 100644 --- a/nodeup/pkg/distros/identify.go +++ b/nodeup/pkg/distros/identify.go @@ -37,9 +37,9 @@ func FindDistribution(rootfs string) (Distribution, error) { if line == "DISTRIB_CODENAME=xenial" { return DistributionXenial, nil } else if line == "DISTRIB_CODENAME=bionic" { - klog.Warningf("bionic is not fully supported nor tested for Kops and Kubernetes") - klog.Warningf("this should only be used for testing purposes.") return DistributionBionic, nil + } else if line == "DISTRIB_CODENAME=focal" { + return DistributionFocal, nil } } } else if !os.IsNotExist(err) { diff --git a/nodeup/pkg/model/kubelet.go b/nodeup/pkg/model/kubelet.go index a56337128b..fb41444dc8 100644 --- a/nodeup/pkg/model/kubelet.go +++ b/nodeup/pkg/model/kubelet.go @@ -597,8 +597,10 @@ func (b *KubeletBuilder) buildKubeletConfigSpec() (*kops.KubeletConfigSpec, erro // In certain configurations systemd-resolved will put the loopback address 127.0.0.53 as a nameserver into /etc/resolv.conf // https://github.com/coredns/coredns/blob/master/plugin/loop/README.md#troubleshooting-loops-in-kubernetes-clusters - if b.Distribution == distros.DistributionBionic && c.ResolverConfig == nil { - c.ResolverConfig = s("/run/systemd/resolve/resolv.conf") + if c.ResolverConfig == nil { + if b.Distribution == distros.DistributionBionic || b.Distribution == distros.DistributionFocal { + c.ResolverConfig = s("/run/systemd/resolve/resolv.conf") + } } // As of 1.16 we can no longer set critical labels.