From d705cc5cf84d4385256ededd0797270c93382ecd Mon Sep 17 00:00:00 2001 From: Yifan Gu Date: Fri, 29 Apr 2016 18:25:10 -0700 Subject: [PATCH] e2e_node: Disable auto restart on CoreOS. --- test/e2e_node/e2e_node_suite_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/e2e_node/e2e_node_suite_test.go b/test/e2e_node/e2e_node_suite_test.go index aa46239817..b09b33111e 100644 --- a/test/e2e_node/e2e_node_suite_test.go +++ b/test/e2e_node/e2e_node_suite_test.go @@ -22,6 +22,7 @@ import ( "bytes" "flag" "fmt" + "io/ioutil" "math/rand" "os/exec" "strings" @@ -65,6 +66,11 @@ var _ = BeforeSuite(func() { *nodeName = strings.TrimSpace(fmt.Sprintf("%s", output)) } + // TODO(yifan): Temporary workaround to disable coreos from auto restart + // by masking the locksmithd. + // We should mask locksmithd when provisioning the machine. + maskLocksmithdOnCoreos() + if *startServices { e2es = newE2eService(*nodeName) if err := e2es.start(); err != nil { @@ -118,3 +124,16 @@ func (lr *LogReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) { b.WriteString("******************************************************\n") glog.Infof(b.String()) } + +func maskLocksmithdOnCoreos() { + data, err := ioutil.ReadFile("/etc/os-release") + if err != nil { + glog.Fatalf("Could not read /etc/os-release: %v", err) + } + if bytes.Contains(data, []byte("ID=coreos")) { + if output, err := exec.Command("sudo", "systemctl", "mask", "--now", "locksmithd").CombinedOutput(); err != nil { + glog.Fatalf("Could not mask locksmithd: %v, output: %q", err, string(output)) + } + } + glog.Infof("Locksmithd is masked successfully") +}