diff options
Diffstat (limited to 'testing/kubernetes/add-openrc-support.patch')
-rw-r--r-- | testing/kubernetes/add-openrc-support.patch | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/testing/kubernetes/add-openrc-support.patch b/testing/kubernetes/add-openrc-support.patch deleted file mode 100644 index f4da52f082..0000000000 --- a/testing/kubernetes/add-openrc-support.patch +++ /dev/null @@ -1,110 +0,0 @@ -Needed for OpenRC support until https://github.com/kubernetes/kubernetes/pull/73101 is merged. - -Brought to attention by https://bugs.alpinelinux.org/issues/10179 - ---------------------------------- ---- a/pkg/util/initsystem/initsystem.go -+++ b/pkg/util/initsystem/initsystem.go -@@ -1,5 +1,5 @@ - /* --Copyright 2016 The Kubernetes Authors. -+Copyright 2019 The Kubernetes Authors. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. -@@ -23,6 +23,9 @@ - ) - - type InitSystem interface { -+ // return a string describing how to enable a service -+ EnableCommand(service string) string -+ - // ServiceStart tries to start a specific service - ServiceStart(service string) error - -@@ -42,8 +45,63 @@ - ServiceIsActive(service string) bool - } - -+type OpenRCInitSystem struct{} -+ -+func (openrc OpenRCInitSystem) ServiceStart(service string) error { -+ args := []string{service, "start"} -+ return exec.Command("rc-service", args...).Run() -+} -+ -+func (openrc OpenRCInitSystem) ServiceStop(service string) error { -+ args := []string{service, "stop"} -+ return exec.Command("rc-service", args...).Run() -+} -+ -+func (openrc OpenRCInitSystem) ServiceRestart(service string) error { -+ args := []string{service, "restart"} -+ return exec.Command("rc-service", args...).Run() -+} -+ -+// openrc writes to stderr if a service is not found or not enabled -+// this is in contrast to systemd which only writes to stdout. -+// Hence, we use the Combinedoutput, and ignore the error. -+func (openrc OpenRCInitSystem) ServiceExists(service string) bool { -+ args := []string{service, "status"} -+ outBytes, _ := exec.Command("rc-service", args...).CombinedOutput() -+ if strings.Contains(string(outBytes), "does not exist") { -+ return false -+ } -+ return true -+} -+ -+func (openrc OpenRCInitSystem) ServiceIsEnabled(service string) bool { -+ args := []string{"show", "default"} -+ outBytes, _ := exec.Command("rc-update", args...).Output() -+ if strings.Contains(string(outBytes), service) { -+ return true -+ } -+ return false -+} -+ -+func (openrc OpenRCInitSystem) ServiceIsActive(service string) bool { -+ args := []string{service, "status"} -+ outBytes, _ := exec.Command("rc-service", args...).Output() -+ if strings.Contains(string(outBytes), "stopped") { -+ return false -+ } -+ return true -+} -+ -+func (openrc OpenRCInitSystem) EnableCommand(service string) string { -+ return fmt.Sprintf("rc-update add %s default", service) -+} -+ - type SystemdInitSystem struct{} - -+func (sysd SystemdInitSystem) EnableCommand(service string) string { -+ return fmt.Sprintf("systemctl enable %s.service", service) -+} -+ - func (sysd SystemdInitSystem) reloadSystemd() error { - if err := exec.Command("systemctl", "daemon-reload").Run(); err != nil { - return fmt.Errorf("failed to reload systemd: %v", err) -@@ -110,6 +168,10 @@ - // WindowsInitSystem is the windows implementation of InitSystem - type WindowsInitSystem struct{} - -+func (sysd WindowsInitSystem) EnableCommand(service string) string { -+ return fmt.Sprintf("Set-Service '%s' -StartupType Automatic", service) -+} -+ - func (sysd WindowsInitSystem) ServiceStart(service string) error { - args := []string{"Start-Service", service} - err := exec.Command("powershell", args...).Run() -@@ -170,6 +232,10 @@ - _, err := exec.LookPath("systemctl") - if err == nil { - return &SystemdInitSystem{}, nil -+ } -+ _, err = exec.LookPath("openrc") -+ if err == nil { -+ return &OpenRCInitSystem{}, nil - } - _, err = exec.LookPath("wininit.exe") - if err == nil { |