From 947d6960215f43482e175d56242d75390e3a34c5 Mon Sep 17 00:00:00 2001 From: Viktor Kuzmin Date: Fri, 20 Dec 2019 23:09:32 +0300 Subject: [PATCH] On OpenRC ServiceIsActive should not report true if no such service exists --- cmd/kubeadm/app/util/initsystem/initsystem_unix.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/kubeadm/app/util/initsystem/initsystem_unix.go b/cmd/kubeadm/app/util/initsystem/initsystem_unix.go index e3df10c8e9e..ff17f3464cd 100644 --- a/cmd/kubeadm/app/util/initsystem/initsystem_unix.go +++ b/cmd/kubeadm/app/util/initsystem/initsystem_unix.go @@ -65,8 +65,9 @@ func (openrc OpenRCInitSystem) ServiceIsEnabled(service string) bool { // ServiceIsActive ensures the service is running, or attempting to run. (crash looping in the case of kubelet) func (openrc OpenRCInitSystem) ServiceIsActive(service string) bool { args := []string{service, "status"} - outBytes, _ := exec.Command("rc-service", args...).Output() - return !strings.Contains(string(outBytes), "stopped") + outBytes, _ := exec.Command("rc-service", args...).CombinedOutput() + outStr := string(outBytes) + return !strings.Contains(outStr, "stopped") && !strings.Contains(outStr, "does not exist") } // EnableCommand return a string describing how to enable a service