mirror of https://github.com/kubernetes/kops.git
Recognize ubuntu 20.10
Teach nodeup about ubuntu 20.10, including the unusual /etc/resolv.conf configuration.
This commit is contained in:
parent
2e202badc5
commit
b17e44b709
|
|
@ -108,7 +108,7 @@ func (b *KubectlBuilder) findKubeconfigUser() (*fi.User, *fi.Group, error) {
|
|||
switch b.Distribution {
|
||||
case distributions.DistributionDebian9, distributions.DistributionDebian10:
|
||||
users = []string{"admin", "root"}
|
||||
case distributions.DistributionUbuntu1604, distributions.DistributionUbuntu1804, distributions.DistributionUbuntu2004:
|
||||
case distributions.DistributionUbuntu1604, distributions.DistributionUbuntu1804, distributions.DistributionUbuntu2004, distributions.DistributionUbuntu2010:
|
||||
users = []string{"ubuntu"}
|
||||
case distributions.DistributionCentos7, distributions.DistributionCentos8:
|
||||
users = []string{"centos"}
|
||||
|
|
|
|||
|
|
@ -513,7 +513,8 @@ 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 c.ResolverConfig == nil {
|
||||
if b.Distribution == distributions.DistributionUbuntu1804 || b.Distribution == distributions.DistributionUbuntu2004 {
|
||||
switch b.Distribution {
|
||||
case distributions.DistributionUbuntu1804, distributions.DistributionUbuntu2004, distributions.DistributionUbuntu2010:
|
||||
c.ResolverConfig = s("/run/systemd/resolve/resolv.conf")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,8 +48,15 @@ func (b *MiscUtilsBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
packages = append(packages, "curl")
|
||||
packages = append(packages, "wget")
|
||||
packages = append(packages, "perl")
|
||||
packages = append(packages, "python-apt")
|
||||
packages = append(packages, "apt-transport-https")
|
||||
|
||||
// TODO: Do we really need python-apt?
|
||||
switch b.Distribution {
|
||||
case distributions.DistributionUbuntu2010:
|
||||
// python-apt not available (though python3-apt is)
|
||||
default:
|
||||
packages = append(packages, "python-apt")
|
||||
}
|
||||
}
|
||||
} else if b.Distribution.IsRHELFamily() {
|
||||
// TODO: These packages have been auto-installed for a long time, and likely we don't need all of them any longer
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ const (
|
|||
DistributionUbuntu1604 Distribution = "xenial"
|
||||
DistributionUbuntu1804 Distribution = "bionic"
|
||||
DistributionUbuntu2004 Distribution = "focal"
|
||||
DistributionUbuntu2010 Distribution = "groovy"
|
||||
DistributionAmazonLinux2 Distribution = "amazonlinux2"
|
||||
DistributionRhel7 Distribution = "rhel7"
|
||||
DistributionCentos7 Distribution = "centos7"
|
||||
|
|
@ -41,7 +42,7 @@ func (d Distribution) IsDebianFamily() bool {
|
|||
switch d {
|
||||
case DistributionDebian9, DistributionDebian10:
|
||||
return true
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004:
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004, DistributionUbuntu2010:
|
||||
return true
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return false
|
||||
|
|
@ -57,7 +58,7 @@ func (d Distribution) IsUbuntu() bool {
|
|||
switch d {
|
||||
case DistributionDebian9, DistributionDebian10:
|
||||
return false
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004:
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004, DistributionUbuntu2010:
|
||||
return true
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return false
|
||||
|
|
@ -73,7 +74,7 @@ func (d Distribution) IsRHELFamily() bool {
|
|||
switch d {
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return true
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004, DistributionDebian9, DistributionDebian10:
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004, DistributionUbuntu2010, DistributionDebian9, DistributionDebian10:
|
||||
return false
|
||||
case DistributionFlatcar, DistributionContainerOS:
|
||||
return false
|
||||
|
|
@ -85,7 +86,7 @@ func (d Distribution) IsRHELFamily() bool {
|
|||
|
||||
func (d Distribution) IsSystemd() bool {
|
||||
switch d {
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004, DistributionDebian9, DistributionDebian10:
|
||||
case DistributionUbuntu1604, DistributionUbuntu1804, DistributionUbuntu2004, DistributionUbuntu2010, DistributionDebian9, DistributionDebian10:
|
||||
return true
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return true
|
||||
|
|
|
|||
|
|
@ -64,6 +64,8 @@ func FindDistribution(rootfs string) (Distribution, error) {
|
|||
return DistributionUbuntu1804, nil
|
||||
case "ubuntu-20.04":
|
||||
return DistributionUbuntu2004, nil
|
||||
case "ubuntu-20.10":
|
||||
return DistributionUbuntu2010, nil
|
||||
}
|
||||
|
||||
// Some distros have a more verbose VERSION_ID
|
||||
|
|
|
|||
|
|
@ -99,6 +99,11 @@ func TestFindDistribution(t *testing.T) {
|
|||
err: nil,
|
||||
expected: DistributionUbuntu2004,
|
||||
},
|
||||
{
|
||||
rootfs: "ubuntu2010",
|
||||
err: nil,
|
||||
expected: DistributionUbuntu2010,
|
||||
},
|
||||
{
|
||||
rootfs: "notfound",
|
||||
err: fmt.Errorf("reading /etc/os-release: open tests/notfound/etc/os-release: no such file or directory"),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
NAME="Ubuntu"
|
||||
VERSION="20.10 (Groovy Gorilla)"
|
||||
ID=ubuntu
|
||||
ID_LIKE=debian
|
||||
PRETTY_NAME="Ubuntu 20.10"
|
||||
VERSION_ID="20.10"
|
||||
HOME_URL="https://www.ubuntu.com/"
|
||||
SUPPORT_URL="https://help.ubuntu.com/"
|
||||
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
|
||||
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
|
||||
VERSION_CODENAME=groovy
|
||||
UBUNTU_CODENAME=groovy
|
||||
Loading…
Reference in New Issue