cloudbots: Use common util to determine cloudbot status
BUG=b:333567433
TEST=unittest
Change-Id: I135b78c6578879f5794515da90f43c7bd68d99d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/5650060
Reviewed-by: Azizur Rahman <azrahman@google.com>
Tested-by: Garry Wang <xianuowang@chromium.org>
Commit-Queue: Garry Wang <xianuowang@chromium.org>
Reviewed-by: Bryan Ni <bniche@google.com>
(cherry picked from commit d72ba0213b9ba15dceede3d347ea56ff45663981)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/5681257
diff --git a/src/go.chromium.org/chromiumos/test/dut/cmd/cros-dut/dutserver.go b/src/go.chromium.org/chromiumos/test/dut/cmd/cros-dut/dutserver.go
index c12d032..1128e35 100644
--- a/src/go.chromium.org/chromiumos/test/dut/cmd/cros-dut/dutserver.go
+++ b/src/go.chromium.org/chromiumos/test/dut/cmd/cros-dut/dutserver.go
@@ -34,6 +34,7 @@
"go.chromium.org/chromiumos/lro"
"go.chromium.org/chromiumos/test/dut/cmd/cros-dut/dutssh"
"go.chromium.org/chromiumos/test/dut/internal"
+ common_util "go.chromium.org/chromiumos/test/util/common"
)
const cacheDownloadURI = "/download/%s"
@@ -283,11 +284,7 @@
// already been rebooted. This caused timeout and test failures.
// By checking connection IsAlive() periodically, the Wait() does return and
// test can continue as expected.
- isCloudbot := false
- if id, found := os.LookupEnv("SWARMING_BOT_ID"); found && strings.HasPrefix(id, "cloudbots-") {
- isCloudbot = true
- }
- if isCloudbot {
+ if common_util.IsCloudBot() {
go func() {
t := time.NewTimer(15 * time.Second)
for {
@@ -511,13 +508,9 @@
// reconnect starts a new ssh client connection
func (s *DutServiceServer) reconnect(ctx context.Context) error {
s.logger.Printf("attempting to reconnect to DUT.")
- isCloudbot := false
- if id, found := os.LookupEnv("SWARMING_BOT_ID"); found && strings.HasPrefix(id, "cloudbots-") {
- isCloudbot = true
- }
var conn *ssh.Client
var err error
- if isCloudbot {
+ if common_util.IsCloudBot() {
s.logger.Printf("GetConnectionWithRetry connecting to dut through proxy")
conn, err = dutssh.CloudbotsDutProxyClient(ctx, s.dutName)
} else {
@@ -587,10 +580,6 @@
retryCount := 5
retryInterval := time.Duration(10 * time.Second)
- isCloudbot := false
- if id, found := os.LookupEnv("SWARMING_BOT_ID"); found && strings.HasPrefix(id, "cloudbots-") {
- isCloudbot = true
- }
var err error
var client *ssh.Client
if req.Retry != nil {
@@ -603,7 +592,7 @@
err = nil
logger.Printf("GetConnectionWithRetry Calling GetConn!")
- if isCloudbot {
+ if common_util.IsCloudBot() {
logger.Printf("GetConnectionWithRetry connecting to dut through proxy")
client, err = dutssh.CloudbotsDutProxyClient(ctx, dutIdentifier)
} else {
diff --git a/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/env.go b/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/env.go
index 7cfebeb..3ce7b8e 100644
--- a/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/env.go
+++ b/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/env.go
@@ -5,9 +5,7 @@
package servodserver
import (
- "os"
"path/filepath"
- "strings"
)
const (
@@ -15,16 +13,3 @@
)
var defaultSSHConfigPathOnCloudBot = filepath.Join(defaultCloudBotSSHDir, "config")
-
-// getSwarmingBotID retrieves the swarming bot ID.
-func getSwarmingBotID() string {
- return os.Getenv("SWARMING_BOT_ID")
-}
-
-// isCloudBot returns whether the process is running on cloud bot VM.
-func isCloudBot() bool {
- if swarmingBotID := getSwarmingBotID(); strings.HasPrefix(swarmingBotID, "cloudbots-") {
- return true
- }
- return false
-}
diff --git a/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go b/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go
index b3f53e7..99ec264 100644
--- a/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go
+++ b/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go
@@ -19,6 +19,7 @@
"go.chromium.org/chromiumos/test/servod/cmd/servod"
"go.chromium.org/chromiumos/test/servod/cmd/ssh"
+ common_util "go.chromium.org/chromiumos/test/util/common"
"go.chromium.org/chromiumos/config/go/longrunning"
"go.chromium.org/chromiumos/config/go/test/api"
@@ -40,7 +41,7 @@
if err != nil {
return nil, nil, err
}
- if isCloudBot() {
+ if common_util.IsCloudBot() {
if err = config.Load(defaultSSHConfigPathOnCloudBot); err != nil {
return nil, nil, err
}
diff --git a/src/go.chromium.org/chromiumos/test/util/common/common.go b/src/go.chromium.org/chromiumos/test/util/common/common.go
index cec89d2..3ead623 100644
--- a/src/go.chromium.org/chromiumos/test/util/common/common.go
+++ b/src/go.chromium.org/chromiumos/test/util/common/common.go
@@ -157,3 +157,8 @@
}
return nil
}
+
+// IsCloudBot returns whether the process is running on cloud bot VM.
+func IsCloudBot() bool {
+ return os.Getenv("CLOUDBOTS_LAB_DOMAIN") != ""
+}