GceManager
public
class
GceManager
extends Object
java.lang.Object | |
↳ | com.android.tradefed.device.cloud.GceManager |
此輔助程式可管理 GCE 呼叫,以便開始/停止透過 GCE 收集及收集記錄檔。
摘要
欄位 | |
---|---|
public
static
final
String |
GCE_HOSTNAME_KEY
|
public
static
final
String |
GCE_INSTANCE_CLEANED_KEY
|
public
static
final
String |
GCE_INSTANCE_NAME_KEY
|
public
static
final
String |
GCE_IP_PRECONFIGURED_KEY
|
公用建構函式 | |
---|---|
GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo)
司機 |
|
GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo,
此建構函式已淘汰, 使用其他建構函式,為了維持回溯相容性,我們會暫時保留這個變數。 |
|
GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, String gceInstanceName, String gceHost)
Ctor,可以提供直接使用的 GCE 執行個體名稱。 |
公用方法 | |
---|---|
static
boolean
|
AcloudShutdown(TestDeviceOptions options, IRunUtil runUtil, String instanceName, String hostname, boolean isIpPreconfigured)
實際 Acloud 會關閉虛擬裝置。 |
void
|
cleanUp()
|
static
File
|
getBugreportzWithSsh(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)
使用 SSH 從裝置取得錯誤報告,避免發生任何 ADB 連線潛在問題。 |
static
String
|
getInstanceSerialLog(GceAvdInfo infos, File avdConfigFile, File jsonKeyFile, IRunUtil runUtil)
讀取 Gce Avd 執行個體序列記錄檔目前的內容。 |
static
File
|
getNestedDeviceSshBugreportz(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)
透過 SSH 取得巢狀執行個體的錯誤報告。 |
static
void
|
logDirectory(File remoteDirectory, String baseName, ITestLogger logger, LogDataType type)
|
static
boolean
|
logNestedRemoteFile(ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type)
從巢狀執行個體擷取遠端檔案並加以記錄。 |
static
boolean
|
logNestedRemoteFile(ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type, String baseName)
從巢狀執行個體擷取遠端檔案並加以記錄。 |
void
|
logSerialOutput(GceAvdInfo infos, ITestLogger logger)
記錄 |
static
CommandResult
|
remoteSshCommandExecution(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, long timeoutMs, String... command)
透過執行個體的 SSH 執行遠端指令。 |
boolean
|
shutdownGce()
關閉與 |
GceAvdInfo
|
startGce(String ipDevice, String user, Integer offset, MultiMap<String, String> attributes, ITestLogger logger)
嘗試透過 Acloud 或 Oxygen 啟動 gce 執行個體。 |
GceAvdInfo
|
startGce()
|
GceAvdInfo
|
startGce(String ipDevice, MultiMap<String, String> attributes)
嘗試啟動 gce 執行個體。 |
GceAvdInfo
|
startGce(String ipDevice, String user, Integer offset, MultiMap<String, String> attributes)
嘗試透過 Acloud 或 Oxygen 啟動 gce 執行個體。 |
|
startMultiDevicesGce(
此方法已淘汰。 主要分支版本更新後,請移除這個項目。 |
|
startMultiDevicesGce(
嘗試使用 Oxygen 啟動多裝置 gce 執行個體。 |
保護方法 | |
---|---|
static
|
buildShutdownCommand(File config, TestDeviceOptions options, String instanceName, String hostname, boolean isIpPreconfigured)
|
String
|
extractInstanceName(String bootupLogs)
從 gce 開機記錄檔中擷取執行個體名稱。 |
欄位
GCE_HOSTNAME_KEY
public static final String GCE_HOSTNAME_KEY
GCE_INSTANCE_CLEANED_KEY
public static final String GCE_INSTANCE_CLEANED_KEY
GCE_INSTANCE_NAME_KEY
public static final String GCE_INSTANCE_NAME_KEY
GCE_IP_PRECONFIGURED_KEY
public static final String GCE_IP_PRECONFIGURED_KEY
公用建構函式
GceManager
public GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo)
司機
參數 | |
---|---|
deviceDesc |
DeviceDescriptor :將與 GCE 裝置建立關聯的 DeviceDescriptor 。 |
deviceOptions |
TestDeviceOptions :與裝置相關聯的 TestDeviceOptions 。 |
buildInfo |
IBuildInfo :說明要啟動的 gce 建構作業的 IBuildInfo 。 |
GceManager
public GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo,testResourceBuildInfos)
此建構函式已淘汰。
使用其他建構函式,為了維持回溯相容性,我們會暫時保留這個變數。
參數 | |
---|---|
deviceDesc |
DeviceDescriptor |
deviceOptions |
TestDeviceOptions |
buildInfo |
IBuildInfo |
testResourceBuildInfos |
|
GceManager
public GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, String gceInstanceName, String gceHost)
Ctor,可以提供直接使用的 GCE 執行個體名稱。
參數 | |
---|---|
deviceDesc |
DeviceDescriptor :將與 GCE 裝置建立關聯的 DeviceDescriptor 。 |
deviceOptions |
TestDeviceOptions :與裝置相關聯的 TestDeviceOptions |
buildInfo |
IBuildInfo :說明要啟動的 gce 建構作業的 IBuildInfo 。 |
gceInstanceName |
String :要使用的執行個體名稱。 |
gceHost |
String :要使用的執行個體主機名稱或 IP。 |
公用方法
雲端關機
public static boolean AcloudShutdown (TestDeviceOptions options, IRunUtil runUtil, String instanceName, String hostname, boolean isIpPreconfigured)
實際 Acloud 會關閉虛擬裝置。
參數 | |
---|---|
options |
TestDeviceOptions :適用於 Acloud 選項的 TestDeviceOptions |
runUtil |
IRunUtil :執行 Acloud 的 IRunUtil |
instanceName |
String :要關閉的執行個體。 |
hostname |
String :執行個體的主機名稱,僅適用於 Oxygen Cuttlefish。 |
isIpPreconfigured |
boolean :是否在具有預先設定 IP 的遠端裝置上建立 AVD |
傳回 | |
---|---|
boolean |
若成功,則為 True |
清理
public void cleanUp ()
getBugreportzWithSsh
public static File getBugreportzWithSsh (GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)
使用 SSH 從裝置取得錯誤報告,避免發生任何 ADB 連線潛在問題。
參數 | |
---|---|
gceAvd |
GceAvdInfo :描述裝置的 GceAvdInfo 。 |
options |
TestDeviceOptions :TestDeviceOptions ,說明要使用的裝置選項
GCE 裝置上。 |
runUtil |
IRunUtil :用於執行指令的 IRunUtil 。 |
傳回 | |
---|---|
File |
指向 ZIP 錯誤報告的檔案;如果發生問題,則為空值。 |
擲回 | |
---|---|
|
IOException |
getInstanceSerialLog
public static String getInstanceSerialLog (GceAvdInfo infos, File avdConfigFile, File jsonKeyFile, IRunUtil runUtil)
讀取 Gce Avd 執行個體序列記錄檔目前的內容。
參數 | |
---|---|
infos |
GceAvdInfo :說明執行個體的 GceAvdInfo 。 |
avdConfigFile |
File :avd 設定檔 |
jsonKeyFile |
File :服務帳戶 JSON 金鑰檔案。 |
runUtil |
IRunUtil :用於執行指令的 IRunUtil 。 |
傳回 | |
---|---|
String |
序列記錄輸出;如果發生問題,則為空值。 |
getNestedDeviceSshBugreportz
public static File getNestedDeviceSshBugreportz (GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)
透過 SSH 取得巢狀執行個體的錯誤報告。這會需要在巢狀結構中要求 ADB 以及虛擬機器
參數 | |
---|---|
gceAvd |
GceAvdInfo :描述裝置的 GceAvdInfo 。 |
options |
TestDeviceOptions :TestDeviceOptions ,說明要使用的裝置選項
GCE 裝置上。 |
runUtil |
IRunUtil :用於執行指令的 IRunUtil 。 |
傳回 | |
---|---|
File |
指向 ZIP 錯誤報告的檔案;如果發生問題,則為空值。 |
擲回 | |
---|---|
|
IOException |
記錄目錄
public static void logDirectory (File remoteDirectory, String baseName, ITestLogger logger, LogDataType type)
參數 | |
---|---|
remoteDirectory |
File |
baseName |
String |
logger |
ITestLogger |
type |
LogDataType |
logNestedRemoteFile
public static boolean logNestedRemoteFile (ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type)
從巢狀執行個體擷取遠端檔案並加以記錄。
參數 | |
---|---|
logger |
ITestLogger :用於記錄檔案的 ITestLogger 。 |
gceAvd |
GceAvdInfo :描述裝置的 GceAvdInfo 。 |
options |
TestDeviceOptions :TestDeviceOptions ,說明要使用的裝置選項
GCE 裝置上。 |
runUtil |
IRunUtil :用於執行指令的 IRunUtil 。 |
remoteFilePath |
String :尋找檔案的遠端路徑。 |
type |
LogDataType :已記錄檔案的 LogDataType 。 |
傳回 | |
---|---|
boolean |
檢查是否成功記錄檔案 |
logNestedRemoteFile
public static boolean logNestedRemoteFile (ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type, String baseName)
從巢狀執行個體擷取遠端檔案並加以記錄。
參數 | |
---|---|
logger |
ITestLogger :用於記錄檔案的 ITestLogger 。 |
gceAvd |
GceAvdInfo :描述裝置的 GceAvdInfo 。 |
options |
TestDeviceOptions :TestDeviceOptions ,說明要使用的裝置選項
GCE 裝置上。 |
runUtil |
IRunUtil :用於執行指令的 IRunUtil 。 |
remoteFilePath |
String :尋找檔案的遠端路徑。 |
type |
LogDataType :已記錄檔案的 LogDataType 。 |
baseName |
String :用來記錄檔案的基礎名稱。如果值為 null,則實際檔案名稱會
|
傳回 | |
---|---|
boolean |
檢查是否成功記錄檔案 |
logSerialOutput
public void logSerialOutput (GceAvdInfo infos, ITestLogger logger)
記錄 GceAvdInfo
描述的裝置序列輸出內容。
參數 | |
---|---|
infos |
GceAvdInfo :說明執行個體的 GceAvdInfo 。 |
logger |
ITestLogger :用於記錄序列記錄的 ITestLogger 。 |
RemoteSshCommandExecution
public static CommandResult remoteSshCommandExecution (GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, long timeoutMs, String... command)
透過執行個體的 SSH 執行遠端指令。
參數 | |
---|---|
gceAvd |
GceAvdInfo :描述裝置的 GceAvdInfo 。 |
options |
TestDeviceOptions :TestDeviceOptions ,說明要使用的裝置選項
GCE 裝置上。 |
runUtil |
IRunUtil :用於執行指令的 IRunUtil 。 |
timeoutMs |
long :指令的逾時時間 (以毫秒為單位)。0 表示沒有逾時。 |
command |
String :要執行的遠端指令。 |
傳回 | |
---|---|
CommandResult |
CommandResult ,包含執行結果。 |
關機
public boolean shutdownGce ()
關閉與 startGce()
相關聯的 Gce 執行個體。
傳回 | |
---|---|
boolean |
如果 gce 因非阻塞而要求關閉,則會傳回 true。 |
startGce
public GceAvdInfo startGce (String ipDevice, String user, Integer offset, MultiMap<String, String> attributes, ITestLogger logger)
嘗試透過 Acloud 或 Oxygen 啟動 gce 執行個體。
參數 | |
---|---|
ipDevice |
String :用於執行 AVD 的 GCE 執行個體的初始 IP,null 表示不需要
適用 |
user |
String :AVD 的主機執行使用者,null (如適用)。 |
offset |
Integer :主機中 AVD 的裝置數字偏移,如果不需要,則為 null
適用 |
attributes |
MultiMap :與目前叫用相關聯的屬性,用來傳遞適用的屬性
相關資訊下至要新增為 VM 中繼資料的 GCE 執行個體 |
logger |
ITestLogger :用來記錄裝置啟動記錄的 ITestLogger 。 |
傳回 | |
---|---|
GceAvdInfo |
說明 GCE 執行個體的 GceAvdInfo 。可以是 BOOT_FAIL 執行個體。 |
擲回 | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
TargetSetupError |
startGce
public GceAvdInfo startGce (String ipDevice, MultiMap<String, String> attributes)
嘗試啟動 gce 執行個體。
參數 | |
---|---|
ipDevice |
String :用於執行 AVD 的 GCE 執行個體的初始 IP,null 表示不需要
適用 |
attributes |
MultiMap :與目前叫用相關聯的屬性,用來傳遞適用的屬性
相關資訊下至要新增為 VM 中繼資料的 GCE 執行個體 |
傳回 | |
---|---|
GceAvdInfo |
說明 GCE 執行個體的 GceAvdInfo 。可以是 BOOT_FAIL 執行個體。 |
擲回 | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
TargetSetupError |
startGce
public GceAvdInfo startGce (String ipDevice, String user, Integer offset, MultiMap<String, String> attributes)
嘗試透過 Acloud 或 Oxygen 啟動 gce 執行個體。
參數 | |
---|---|
ipDevice |
String :用於執行 AVD 的 GCE 執行個體的初始 IP,null 表示不需要
適用 |
user |
String :AVD 的主機執行使用者,null (如適用)。 |
offset |
Integer :主機中 AVD 的裝置數字偏移,如果不需要,則為 null
適用 |
attributes |
MultiMap :與目前叫用相關聯的屬性,用來傳遞適用的屬性
相關資訊下至要新增為 VM 中繼資料的 GCE 執行個體 |
傳回 | |
---|---|
GceAvdInfo |
說明 GCE 執行個體的 GceAvdInfo 。可以是 BOOT_FAIL 執行個體。 |
擲回 | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
TargetSetupError |
啟動 MultiDeviceGce
publicstartMultiDevicesGce ( buildInfos)
此方法已淘汰。
請在主要分支版本更新後移除此設定。
參數 | |
---|---|
buildInfos |
|
傳回 | |
---|---|
|
擲回 | |
---|---|
TargetSetupError |
啟動 MultiDeviceGce
publicstartMultiDevicesGce ( buildInfos, MultiMap<String, String> attributes)
嘗試使用 Oxygen 啟動多裝置 gce 執行個體。
參數 | |
---|---|
buildInfos |
:ERROR(/List |
attributes |
MultiMap :與目前叫用相關聯的屬性 |
傳回 | |
---|---|
|
說明 GCE 廣告主資訊的 ERROR(/List 。 |
擲回 | |
---|---|
TargetSetupError |
保護方法
BuildShutdownCommand
protected staticbuildShutdownCommand (File config, TestDeviceOptions options, String instanceName, String hostname, boolean isIpPreconfigured)
參數 | |
---|---|
config |
File |
options |
TestDeviceOptions |
instanceName |
String |
hostname |
String |
isIpPreconfigured |
boolean |
傳回 | |
---|---|
|
擷取執行個體名稱
protected String extractInstanceName (String bootupLogs)
從 gce 開機記錄檔中擷取執行個體名稱。搜尋 'name': 'gce-
參數 | |
---|---|
bootupLogs |
String |
傳回 | |
---|---|
String |