mirror of https://github.com/kubernetes/kops.git
Remove support for CoreOS and Jessie
This commit is contained in:
parent
5fc7ee69da
commit
06c6ac1bee
|
|
@ -32,6 +32,10 @@
|
|||
|
||||
* Terraform users on AWS may need to rename some resources in their state file in order to prepare for Terraform 0.12 support. See Required Actions below.
|
||||
|
||||
* Support for the CoreOS OS distribution has been removed. Users should consider Flatcar as a replacement.
|
||||
|
||||
* Support for the Debian 8 (Jessie) OS distribution has been removed.
|
||||
|
||||
* The Docker `health-check` service is now disabled by default. It shouldn't be needed anymore, but it can still be enabled by setting `spec.docker.healthCheck: true`. It is recommended to also check [node-problem-detector](https://github.com/kubernetes/node-problem-detector) and [draino](https://github.com/planetlabs/draino) as replacements. See Required Actions below.
|
||||
|
||||
* Lyft CNI plugin default subnet tags changed from from `Type: pod` to `KubernetesCluster: myclustername.mydns.io`. Subnets intended for use by the plugin will need to be tagged with this new tag and [additional tag filters](https://github.com/lyft/cni-ipvlan-vpc-k8s#other-configuration-flags) may need to be added to the cluster spec in order to achieve the desired set of subnets.
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ import (
|
|||
type Distribution string
|
||||
|
||||
var (
|
||||
DistributionJessie Distribution = "jessie"
|
||||
DistributionDebian9 Distribution = "debian9"
|
||||
DistributionDebian10 Distribution = "buster"
|
||||
DistributionXenial Distribution = "xenial"
|
||||
|
|
@ -35,7 +34,6 @@ var (
|
|||
DistributionCentos7 Distribution = "centos7"
|
||||
DistributionRhel8 Distribution = "rhel8"
|
||||
DistributionCentos8 Distribution = "centos8"
|
||||
DistributionCoreOS Distribution = "coreos"
|
||||
DistributionFlatcar Distribution = "flatcar"
|
||||
DistributionContainerOS Distribution = "containeros"
|
||||
)
|
||||
|
|
@ -44,8 +42,6 @@ func (d Distribution) BuildTags() []string {
|
|||
var t []string
|
||||
|
||||
switch d {
|
||||
case DistributionJessie:
|
||||
t = []string{"_jessie"}
|
||||
case DistributionDebian9, DistributionDebian10:
|
||||
t = []string{} // trying to move away from tags
|
||||
case DistributionXenial:
|
||||
|
|
@ -64,8 +60,6 @@ func (d Distribution) BuildTags() []string {
|
|||
t = []string{"_centos8"}
|
||||
case DistributionRhel8:
|
||||
t = []string{"_rhel8"}
|
||||
case DistributionCoreOS:
|
||||
t = []string{"_coreos"}
|
||||
case DistributionFlatcar:
|
||||
t = []string{"_flatcar"}
|
||||
case DistributionContainerOS:
|
||||
|
|
@ -90,13 +84,13 @@ func (d Distribution) BuildTags() []string {
|
|||
|
||||
func (d Distribution) IsDebianFamily() bool {
|
||||
switch d {
|
||||
case DistributionJessie, DistributionDebian9, DistributionDebian10:
|
||||
case DistributionDebian9, DistributionDebian10:
|
||||
return true
|
||||
case DistributionXenial, DistributionBionic, DistributionFocal:
|
||||
return true
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return false
|
||||
case DistributionCoreOS, DistributionFlatcar, DistributionContainerOS:
|
||||
case DistributionFlatcar, DistributionContainerOS:
|
||||
return false
|
||||
default:
|
||||
klog.Fatalf("unknown distribution: %s", d)
|
||||
|
|
@ -106,13 +100,13 @@ func (d Distribution) IsDebianFamily() bool {
|
|||
|
||||
func (d Distribution) IsUbuntu() bool {
|
||||
switch d {
|
||||
case DistributionJessie, DistributionDebian9, DistributionDebian10:
|
||||
case DistributionDebian9, DistributionDebian10:
|
||||
return false
|
||||
case DistributionXenial, DistributionBionic, DistributionFocal:
|
||||
return true
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return false
|
||||
case DistributionCoreOS, DistributionFlatcar, DistributionContainerOS:
|
||||
case DistributionFlatcar, DistributionContainerOS:
|
||||
return false
|
||||
default:
|
||||
klog.Fatalf("unknown distribution: %s", d)
|
||||
|
|
@ -124,9 +118,9 @@ func (d Distribution) IsRHELFamily() bool {
|
|||
switch d {
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return true
|
||||
case DistributionJessie, DistributionXenial, DistributionBionic, DistributionFocal, DistributionDebian9, DistributionDebian10:
|
||||
case DistributionXenial, DistributionBionic, DistributionFocal, DistributionDebian9, DistributionDebian10:
|
||||
return false
|
||||
case DistributionCoreOS, DistributionFlatcar, DistributionContainerOS:
|
||||
case DistributionFlatcar, DistributionContainerOS:
|
||||
return false
|
||||
default:
|
||||
klog.Fatalf("unknown distribution: %s", d)
|
||||
|
|
@ -136,11 +130,11 @@ func (d Distribution) IsRHELFamily() bool {
|
|||
|
||||
func (d Distribution) IsSystemd() bool {
|
||||
switch d {
|
||||
case DistributionJessie, DistributionXenial, DistributionBionic, DistributionFocal, DistributionDebian9, DistributionDebian10:
|
||||
case DistributionXenial, DistributionBionic, DistributionFocal, DistributionDebian9, DistributionDebian10:
|
||||
return true
|
||||
case DistributionCentos7, DistributionRhel7, DistributionCentos8, DistributionRhel8, DistributionAmazonLinux2:
|
||||
return true
|
||||
case DistributionCoreOS, DistributionFlatcar:
|
||||
case DistributionFlatcar:
|
||||
return true
|
||||
case DistributionContainerOS:
|
||||
return true
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ func FindDistribution(rootfs string) (Distribution, error) {
|
|||
if err == nil {
|
||||
debianVersion := strings.TrimSpace(string(debianVersionBytes))
|
||||
if strings.HasPrefix(debianVersion, "8.") {
|
||||
return DistributionJessie, nil
|
||||
return "", fmt.Errorf("distribution Degian 8 (Jessie) is no longer supported")
|
||||
} else if strings.HasPrefix(debianVersion, "9.") {
|
||||
return DistributionDebian9, nil
|
||||
} else if strings.HasPrefix(debianVersion, "10.") {
|
||||
|
|
@ -94,7 +94,7 @@ func FindDistribution(rootfs string) (Distribution, error) {
|
|||
for _, line := range strings.Split(string(usrLibOsRelease), "\n") {
|
||||
line = strings.TrimSpace(line)
|
||||
if line == "ID=coreos" {
|
||||
return DistributionCoreOS, nil
|
||||
return "", fmt.Errorf("distribution CoreOS is no longer supported")
|
||||
} else if line == "ID=flatcar" {
|
||||
return DistributionFlatcar, nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -207,13 +207,6 @@ func (b *ContainerdBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
|
||||
// @check: neither coreos or containeros need provision containerd.service, just the containerd daemon options
|
||||
switch b.Distribution {
|
||||
case distros.DistributionCoreOS:
|
||||
klog.Infof("Detected CoreOS; won't install containerd")
|
||||
if err := b.buildContainerOSConfigurationDropIn(c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
case distros.DistributionFlatcar:
|
||||
klog.Infof("Detected Flatcar; won't install containerd")
|
||||
if err := b.buildContainerOSConfigurationDropIn(c); err != nil {
|
||||
|
|
|
|||
|
|
@ -79,11 +79,9 @@ func (c *NodeupModelContext) SSLHostPaths() []string {
|
|||
paths := []string{"/etc/ssl", "/etc/pki/tls", "/etc/pki/ca-trust"}
|
||||
|
||||
switch c.Distribution {
|
||||
case distros.DistributionCoreOS:
|
||||
// Because /usr is read-only on CoreOS, we can't have any new directories; docker will try (and fail) to create them
|
||||
// TODO: Just check if the directories exist?
|
||||
paths = append(paths, "/usr/share/ca-certificates")
|
||||
case distros.DistributionFlatcar:
|
||||
// Because /usr is read-only on Flatcar, we can't have any new directories; docker will try (and fail) to create them
|
||||
// TODO: Just check if the directories exist?
|
||||
paths = append(paths, "/usr/share/ca-certificates")
|
||||
case distros.DistributionContainerOS:
|
||||
paths = append(paths, "/usr/share/ca-certificates")
|
||||
|
|
@ -410,9 +408,6 @@ func (c *NodeupModelContext) UseSecureKubelet() bool {
|
|||
// KubectlPath returns distro based path for kubectl
|
||||
func (c *NodeupModelContext) KubectlPath() string {
|
||||
kubeletCommand := "/usr/local/bin"
|
||||
if c.Distribution == distros.DistributionCoreOS {
|
||||
kubeletCommand = "/opt/bin"
|
||||
}
|
||||
if c.Distribution == distros.DistributionFlatcar {
|
||||
kubeletCommand = "/opt/bin"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,30 +56,6 @@ var dockerVersions = []packageVersion{
|
|||
MarkImmutable: []string{"/usr/bin/docker-runc"},
|
||||
},
|
||||
|
||||
// 17.03.2 - Jessie
|
||||
{
|
||||
PackageVersion: "17.03.2",
|
||||
Name: "docker-ce",
|
||||
Distros: []distros.Distribution{distros.DistributionJessie},
|
||||
Architectures: []Architecture{ArchitectureAmd64},
|
||||
Version: "17.03.2~ce-0~debian-jessie",
|
||||
Source: "http://download.docker.com/linux/debian/dists/jessie/pool/stable/amd64/docker-ce_17.03.2~ce-0~debian-jessie_amd64.deb",
|
||||
Hash: "a7ac54aaa7d33122ca5f7a2df817cbefb5cdbfc7",
|
||||
MarkImmutable: []string{"/usr/bin/docker-runc"},
|
||||
},
|
||||
|
||||
// 17.03.2 - Jessie on ARM
|
||||
{
|
||||
PackageVersion: "17.03.2",
|
||||
Name: "docker-ce",
|
||||
Distros: []distros.Distribution{distros.DistributionJessie},
|
||||
Architectures: []Architecture{ArchitectureArm},
|
||||
Version: "17.03.2~ce-0~debian-jessie",
|
||||
Source: "http://download.docker.com/linux/debian/dists/jessie/pool/stable/armhf/docker-ce_17.03.2~ce-0~debian-jessie_armhf.deb",
|
||||
Hash: "71e425b83ce0ef49d6298d61e61c4efbc76b9c65",
|
||||
MarkImmutable: []string{"/usr/bin/docker-runc"},
|
||||
},
|
||||
|
||||
// 17.03.2 - Xenial
|
||||
{
|
||||
PackageVersion: "17.03.2",
|
||||
|
|
@ -123,28 +99,6 @@ var dockerVersions = []packageVersion{
|
|||
},
|
||||
// 17.09.0 - k8s 1.8
|
||||
|
||||
// 17.09.0 - Jessie
|
||||
{
|
||||
PackageVersion: "17.09.0",
|
||||
Name: "docker-ce",
|
||||
Distros: []distros.Distribution{distros.DistributionJessie},
|
||||
Architectures: []Architecture{ArchitectureAmd64},
|
||||
Version: "17.09.0~ce-0~debian",
|
||||
Source: "http://download.docker.com/linux/debian/dists/jessie/pool/stable/amd64/docker-ce_17.09.0~ce-0~debian_amd64.deb",
|
||||
Hash: "430ba87f8aa36fedcac1a48e909cbe1830b53845",
|
||||
},
|
||||
|
||||
// 17.09.0 - Jessie on ARM
|
||||
{
|
||||
PackageVersion: "17.09.0",
|
||||
Name: "docker-ce",
|
||||
Distros: []distros.Distribution{distros.DistributionJessie},
|
||||
Architectures: []Architecture{ArchitectureArm},
|
||||
Version: "17.09.0~ce-0~debian",
|
||||
Source: "http://download.docker.com/linux/debian/dists/jessie/pool/stable/armhf/docker-ce_17.09.0~ce-0~debian_armhf.deb",
|
||||
Hash: "5001a1defec7c33aa58ddebbd3eae6ebb5f36479",
|
||||
},
|
||||
|
||||
// 17.09.0 - Debian9 (stretch)
|
||||
{
|
||||
PackageVersion: "17.09.0",
|
||||
|
|
@ -257,17 +211,6 @@ var dockerVersions = []packageVersion{
|
|||
Hash: "05c9b098437bcf1b489c2a3a9764c3b779af7bc4",
|
||||
},
|
||||
|
||||
// 18.06.2 - Jessie
|
||||
{
|
||||
PackageVersion: "18.06.2",
|
||||
Name: "docker-ce",
|
||||
Distros: []distros.Distribution{distros.DistributionJessie},
|
||||
Architectures: []Architecture{ArchitectureAmd64},
|
||||
Version: "18.06.2~ce~3-0~debian",
|
||||
Source: "https://download.docker.com/linux/debian/dists/jessie/pool/stable/amd64/docker-ce_18.06.2~ce~3-0~debian_amd64.deb",
|
||||
Hash: "1a2500311230aff37aa81dd1292a88302fb0a2e1",
|
||||
},
|
||||
|
||||
// 18.06.1 - CentOS / Rhel7 (two packages)
|
||||
{
|
||||
PackageVersion: "18.06.1",
|
||||
|
|
@ -333,17 +276,6 @@ var dockerVersions = []packageVersion{
|
|||
Hash: "93b5a055a39462867d79109b00db1367e3d9e32f",
|
||||
},
|
||||
|
||||
// 18.06.3 - Jessie
|
||||
{
|
||||
PackageVersion: "18.06.3",
|
||||
Name: "docker-ce",
|
||||
Distros: []distros.Distribution{distros.DistributionJessie},
|
||||
Architectures: []Architecture{ArchitectureAmd64},
|
||||
Version: "18.06.3~ce~3-0~debian",
|
||||
Source: "https://download.docker.com/linux/debian/dists/jessie/pool/stable/amd64/docker-ce_18.06.3~ce~3-0~debian_amd64.deb",
|
||||
Hash: "058bcd4b055560866b8cad978c7aa224694602da",
|
||||
},
|
||||
|
||||
// 18.06.3 - CentOS / Rhel7 (two packages)
|
||||
{
|
||||
PackageVersion: "18.06.3",
|
||||
|
|
@ -645,13 +577,6 @@ func (b *DockerBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
|
||||
// @check: neither coreos or containeros need provision docker.service, just the docker daemon options
|
||||
switch b.Distribution {
|
||||
case distros.DistributionCoreOS:
|
||||
klog.Infof("Detected CoreOS; won't install Docker")
|
||||
if err := b.buildContainerOSConfigurationDropIn(c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
case distros.DistributionFlatcar:
|
||||
klog.Infof("Detected Flatcar; won't install Docker")
|
||||
if err := b.buildContainerOSConfigurationDropIn(c); err != nil {
|
||||
|
|
|
|||
|
|
@ -38,10 +38,6 @@ func (b *EtcdBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
}
|
||||
|
||||
switch b.Distribution {
|
||||
case distros.DistributionCoreOS:
|
||||
klog.Infof("Detected CoreOS; skipping etcd user installation")
|
||||
return nil
|
||||
|
||||
case distros.DistributionFlatcar:
|
||||
klog.Infof("Detected Flatcar; skipping etcd user installation")
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -152,10 +152,6 @@ func (b *KubeControllerManagerBuilder) buildPod() (*v1.Pod, error) {
|
|||
// Default is different on ContainerOS, see https://github.com/kubernetes/kubernetes/pull/58171
|
||||
volumePluginDir = "/home/kubernetes/flexvolume/"
|
||||
|
||||
case distros.DistributionCoreOS:
|
||||
// The /usr directory is read-only for CoreOS
|
||||
volumePluginDir = "/var/lib/kubelet/volumeplugins/"
|
||||
|
||||
case distros.DistributionFlatcar:
|
||||
// The /usr directory is read-only for Flatcar
|
||||
volumePluginDir = "/var/lib/kubelet/volumeplugins/"
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ func (b *KubectlBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
func (b *KubectlBuilder) findKubeconfigUser() (*fi.User, *fi.Group, error) {
|
||||
var users []string
|
||||
switch b.Distribution {
|
||||
case distros.DistributionJessie, distros.DistributionDebian9, distros.DistributionDebian10:
|
||||
case distros.DistributionDebian9, distros.DistributionDebian10:
|
||||
users = []string{"admin", "root"}
|
||||
case distros.DistributionXenial, distros.DistributionBionic, distros.DistributionFocal:
|
||||
users = []string{"ubuntu"}
|
||||
|
|
@ -112,7 +112,7 @@ func (b *KubectlBuilder) findKubeconfigUser() (*fi.User, *fi.Group, error) {
|
|||
users = []string{"centos"}
|
||||
case distros.DistributionAmazonLinux2, distros.DistributionRhel7, distros.DistributionRhel8:
|
||||
users = []string{"ec2-user"}
|
||||
case distros.DistributionCoreOS, distros.DistributionFlatcar:
|
||||
case distros.DistributionFlatcar:
|
||||
users = []string{"core"}
|
||||
default:
|
||||
klog.Warningf("Unknown distro; won't write kubeconfig to homedir %s", b.Distribution)
|
||||
|
|
|
|||
|
|
@ -141,13 +141,6 @@ func (b *KubeletBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
})
|
||||
}
|
||||
|
||||
if b.Distribution == distros.DistributionCoreOS {
|
||||
// CoreOS does not ship with socat or conntrack. Install our own (statically linked) version
|
||||
if err := b.addStaticUtils(c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if err := b.addContainerizedMounter(c); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -160,9 +153,6 @@ func (b *KubeletBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
// kubeletPath returns the path of the kubelet based on distro
|
||||
func (b *KubeletBuilder) kubeletPath() string {
|
||||
kubeletCommand := "/usr/local/bin/kubelet"
|
||||
if b.Distribution == distros.DistributionCoreOS {
|
||||
kubeletCommand = "/opt/kubernetes/bin/kubelet"
|
||||
}
|
||||
if b.Distribution == distros.DistributionFlatcar {
|
||||
kubeletCommand = "/opt/kubernetes/bin/kubelet"
|
||||
}
|
||||
|
|
@ -277,10 +267,6 @@ func (b *KubeletBuilder) buildSystemdService() *nodetasks.Service {
|
|||
klog.Warningf("unknown container runtime %q", b.Cluster.Spec.ContainerRuntime)
|
||||
}
|
||||
|
||||
if b.Distribution == distros.DistributionCoreOS {
|
||||
// We add /opt/kubernetes/bin for our utilities (socat, conntrack)
|
||||
manifest.Set("Service", "Environment", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/kubernetes/bin")
|
||||
}
|
||||
manifest.Set("Service", "EnvironmentFile", "/etc/sysconfig/kubelet")
|
||||
|
||||
// @check if we are using bootstrap tokens and file checker
|
||||
|
|
@ -331,30 +317,6 @@ func (b *KubeletBuilder) buildKubeletConfig() (*kops.KubeletConfigSpec, error) {
|
|||
return kubeletConfigSpec, nil
|
||||
}
|
||||
|
||||
func (b *KubeletBuilder) addStaticUtils(c *fi.ModelBuilderContext) error {
|
||||
for _, binary := range []string{"socat", "conntrack"} {
|
||||
assetName := binary
|
||||
assetPath := ""
|
||||
asset, err := b.Assets.Find(assetName, assetPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error trying to locate asset %q: %v", assetName, err)
|
||||
}
|
||||
if asset == nil {
|
||||
return fmt.Errorf("unable to locate asset %q", assetName)
|
||||
}
|
||||
|
||||
t := &nodetasks.File{
|
||||
Path: "/opt/kubernetes/bin/" + binary,
|
||||
Contents: asset,
|
||||
Type: nodetasks.FileType_File,
|
||||
Mode: s("0755"),
|
||||
}
|
||||
c.AddTask(t)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// usesContainerizedMounter returns true if we use the containerized mounter
|
||||
func (b *KubeletBuilder) usesContainerizedMounter() bool {
|
||||
switch b.Distribution {
|
||||
|
|
@ -553,10 +515,6 @@ func (b *KubeletBuilder) buildKubeletConfigSpec() (*kops.KubeletConfigSpec, erro
|
|||
// Default is different on ContainerOS, see https://github.com/kubernetes/kubernetes/pull/58171
|
||||
c.VolumePluginDirectory = "/home/kubernetes/flexvolume/"
|
||||
|
||||
case distros.DistributionCoreOS:
|
||||
// The /usr directory is read-only for CoreOS
|
||||
c.VolumePluginDirectory = "/var/lib/kubelet/volumeplugins/"
|
||||
|
||||
case distros.DistributionFlatcar:
|
||||
// The /usr directory is read-only for Flatcar
|
||||
c.VolumePluginDirectory = "/var/lib/kubelet/volumeplugins/"
|
||||
|
|
|
|||
|
|
@ -43,8 +43,6 @@ func (b *LogrotateBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
case distros.DistributionContainerOS:
|
||||
klog.Infof("Detected ContainerOS; won't install logrotate")
|
||||
return nil
|
||||
case distros.DistributionCoreOS:
|
||||
klog.Infof("Detected CoreOS; won't install logrotate")
|
||||
case distros.DistributionFlatcar:
|
||||
klog.Infof("Detected Flatcar; won't install logrotate")
|
||||
default:
|
||||
|
|
@ -92,7 +90,7 @@ func (b *LogrotateBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
// addLogrotateService creates a logrotate systemd task to act as target for the timer, if one is needed
|
||||
func (b *LogrotateBuilder) addLogrotateService(c *fi.ModelBuilderContext) error {
|
||||
switch b.Distribution {
|
||||
case distros.DistributionCoreOS, distros.DistributionFlatcar, distros.DistributionContainerOS:
|
||||
case distros.DistributionFlatcar, distros.DistributionContainerOS:
|
||||
// logrotate service already exists
|
||||
return nil
|
||||
}
|
||||
|
|
@ -121,12 +119,6 @@ func (b *LogrotateBuilder) addLogRotate(c *fi.ModelBuilderContext, name, path st
|
|||
options.MaxSize = "100M"
|
||||
}
|
||||
|
||||
// CoreOS sets "dateext" options, and maxsize-based rotation will fail if
|
||||
// the file has been previously rotated on the same calendar date.
|
||||
if b.Distribution == distros.DistributionCoreOS {
|
||||
options.DateFormat = "-%Y%m%d-%s"
|
||||
}
|
||||
|
||||
// Flatcar sets "dateext" options, and maxsize-based rotation will fail if
|
||||
// the file has been previously rotated on the same calendar date.
|
||||
if b.Distribution == distros.DistributionFlatcar {
|
||||
|
|
|
|||
|
|
@ -37,9 +37,6 @@ func (b *MiscUtilsBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
case distros.DistributionContainerOS:
|
||||
klog.V(2).Infof("Detected ContainerOS; won't install misc. utils")
|
||||
return nil
|
||||
case distros.DistributionCoreOS:
|
||||
klog.V(2).Infof("Detected CoreOS; won't install misc. utils")
|
||||
return nil
|
||||
case distros.DistributionFlatcar:
|
||||
klog.V(2).Infof("Detected Flatcar; won't install misc. utils")
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ func (b *NTPBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
case distros.DistributionContainerOS:
|
||||
klog.Infof("Detected ContainerOS; won't install ntp")
|
||||
return nil
|
||||
case distros.DistributionCoreOS:
|
||||
klog.Infof("Detected CoreOS; won't install ntp")
|
||||
return nil
|
||||
case distros.DistributionFlatcar:
|
||||
klog.Infof("Detected Flatcar; won't install ntp")
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -52,11 +52,6 @@ func (b *UpdateServiceBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
}
|
||||
}
|
||||
|
||||
if b.Distribution == distros.DistributionCoreOS {
|
||||
klog.Infof("Detected OS %s; building %s service to disable update scheduler", ServiceName, b.Distribution)
|
||||
c.AddTask(b.buildCoreOSSystemdService())
|
||||
}
|
||||
|
||||
if b.Distribution == distros.DistributionFlatcar {
|
||||
klog.Infof("Detected OS %s; building %s service to disable update scheduler", ServiceName, b.Distribution)
|
||||
c.AddTask(b.buildFlatcarSystemdService())
|
||||
|
|
@ -65,27 +60,6 @@ func (b *UpdateServiceBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (b *UpdateServiceBuilder) buildCoreOSSystemdService() *nodetasks.Service {
|
||||
manifest := &systemd.Manifest{}
|
||||
manifest.Set("Unit", "Description", "Disable OS Update Scheduler")
|
||||
|
||||
manifest.Set("Unit", "Before", "locksmithd.service")
|
||||
manifest.Set("Service", "Type", "oneshot")
|
||||
manifest.Set("Service", "ExecStart", "/usr/bin/systemctl mask --now locksmithd.service")
|
||||
|
||||
manifestString := manifest.Render()
|
||||
klog.V(8).Infof("Built service manifest %q\n%s", ServiceName, manifestString)
|
||||
|
||||
service := &nodetasks.Service{
|
||||
Name: ServiceName + ".service",
|
||||
Definition: s(manifestString),
|
||||
}
|
||||
|
||||
service.InitDefaults()
|
||||
|
||||
return service
|
||||
}
|
||||
|
||||
func (b *UpdateServiceBuilder) buildFlatcarSystemdService() *nodetasks.Service {
|
||||
manifest := &systemd.Manifest{}
|
||||
manifest.Set("Unit", "Description", "Disable OS Update Scheduler")
|
||||
|
|
|
|||
|
|
@ -337,14 +337,8 @@ func (_ *Package) RenderLocal(t *local.LocalTarget, a, e, changes *Package) erro
|
|||
var args []string
|
||||
env := os.Environ()
|
||||
if t.HasTag(tags.TagOSFamilyDebian) {
|
||||
// Only Debian releases newer than Jessie can install .deb via apt-get
|
||||
// TODO: Refactor this function when Jessie support is dropped (duplicated code)
|
||||
if t.HasTag(tags.TagOSDebianJessie) {
|
||||
args = []string{"dpkg", "-i"}
|
||||
} else {
|
||||
args = []string{"apt-get", "install", "--yes", "--no-install-recommends"}
|
||||
env = append(env, "DEBIAN_FRONTEND=noninteractive")
|
||||
}
|
||||
args = []string{"apt-get", "install", "--yes", "--no-install-recommends"}
|
||||
env = append(env, "DEBIAN_FRONTEND=noninteractive")
|
||||
} else if t.HasTag(tags.TagOSFamilyRHEL) {
|
||||
if t.HasTag(tags.TagOSCentOS8) || t.HasTag(tags.TagOSRHEL8) {
|
||||
args = []string{"/usr/bin/dnf", "install", "-y", "--setopt=install_weak_deps=False"}
|
||||
|
|
|
|||
|
|
@ -20,9 +20,8 @@ const (
|
|||
TagOSFamilyRHEL = "_rhel_family"
|
||||
TagOSFamilyDebian = "_debian_family"
|
||||
|
||||
TagOSDebianJessie = "_jessie"
|
||||
TagOSCentOS8 = "_centos8"
|
||||
TagOSRHEL8 = "_rhel8"
|
||||
TagOSCentOS8 = "_centos8"
|
||||
TagOSRHEL8 = "_rhel8"
|
||||
|
||||
TagSystemd = "_systemd"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue