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") != ""
+}