Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute to AOSP. For more information, see Changes to AOSP.
Stay organized with collections
Save and categorize content based on your preferences.
GceManager
public
class
GceManager
extends Object
java.lang.Object
|
↳ |
com.android.tradefed.device.cloud.GceManager
|
Helper that manages the GCE calls to start/stop and collect logs from GCE.
Summary
Public constructors |
GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo)
Ctor
|
GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, testResourceBuildInfos)
This constructor is deprecated.
Use other constructors, we keep this temporarily for backward compatibility.
|
GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, String gceInstanceName, String gceHost)
Ctor, variation that can be used to provide the GCE instance name to use directly.
|
Public methods |
static
boolean
|
AcloudShutdown(TestDeviceOptions options, IRunUtil runUtil, String instanceName, String hostname, boolean isIpPreconfigured)
Actual Acloud run to shutdown the virtual device.
|
void
|
cleanUp()
|
static
File
|
getBugreportzWithSsh(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)
Get a bugreportz from the device using ssh to avoid any adb connection potential issue.
|
HostOrchestratorUtil
|
getHostOrchestratorUtil()
Returns the instance of the HostOrchestratorUtil .
|
static
String
|
getInstanceSerialLog(GceAvdInfo infos, File avdConfigFile, File jsonKeyFile, IRunUtil runUtil)
Reads the current content of the Gce Avd instance serial log.
|
static
File
|
getNestedDeviceSshBugreportz(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)
Get a bugreport via ssh for a nested instance.
|
static
void
|
logAndDeleteFile(File tempFile, String dataName, ITestLogger logger)
|
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)
Fetch a remote file from a nested instance and log it.
|
static
boolean
|
logNestedRemoteFile(ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type, String baseName)
Fetch a remote file from a nested instance and log it.
|
void
|
logSerialOutput(GceAvdInfo infos, ITestLogger logger)
Log the serial output of a device described by GceAvdInfo .
|
static
CommandResult
|
remoteSshCommandExecution(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, long timeoutMs, String... command)
Execute the remote command via ssh on an instance.
|
boolean
|
shutdownGce()
Shutdown the Gce instance associated with the startGce() .
|
GceAvdInfo
|
startGce(String ipDevice, String user, Integer offset, MultiMap<String, String> attributes, ITestLogger logger)
Attempt to start a gce instance with either Acloud or Oxygen.
|
GceAvdInfo
|
startGce()
|
GceAvdInfo
|
startGce(String ipDevice, MultiMap<String, String> attributes)
Attempt to start a gce instance.
|
GceAvdInfo
|
startGce(String ipDevice, String user, Integer offset, MultiMap<String, String> attributes)
Attempt to start a gce instance with either Acloud or Oxygen.
|
|
startMultiDevicesGce( buildInfos)
This method is deprecated.
Remove this after master branch is updated.
|
|
startMultiDevicesGce( buildInfos, MultiMap<String, String> attributes)
Attempt to start multi devices gce instance with Oxygen.
|
Fields
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
public static final String GCE_IP_PRECONFIGURED_KEY
Public constructors
GceManager
public GceManager (DeviceDescriptor deviceDesc,
TestDeviceOptions deviceOptions,
IBuildInfo buildInfo,
testResourceBuildInfos)
This constructor is deprecated.
Use other constructors, we keep this temporarily for backward compatibility.
Parameters |
deviceDesc |
DeviceDescriptor |
deviceOptions |
TestDeviceOptions |
buildInfo |
IBuildInfo |
testResourceBuildInfos |
|
GceManager
public GceManager (DeviceDescriptor deviceDesc,
TestDeviceOptions deviceOptions,
IBuildInfo buildInfo,
String gceInstanceName,
String gceHost)
Ctor, variation that can be used to provide the GCE instance name to use directly.
Parameters |
deviceDesc |
DeviceDescriptor : The DeviceDescriptor that will be associated with the GCE device. |
deviceOptions |
TestDeviceOptions : A TestDeviceOptions associated with the device |
buildInfo |
IBuildInfo : A IBuildInfo describing the gce build to start. |
gceInstanceName |
String : The instance name to use. |
gceHost |
String : The host name or ip of the instance to use. |
Public methods
AcloudShutdown
public static boolean AcloudShutdown (TestDeviceOptions options,
IRunUtil runUtil,
String instanceName,
String hostname,
boolean isIpPreconfigured)
Actual Acloud run to shutdown the virtual device.
Parameters |
options |
TestDeviceOptions : The TestDeviceOptions for the Acloud options |
runUtil |
IRunUtil : The IRunUtil to run Acloud |
instanceName |
String : The instance to shutdown. |
hostname |
String : hostname of the instance, only used for Oxygen cuttlefish. |
isIpPreconfigured |
boolean : whether the AVD was created on a remote device with preconfigured IP |
Returns |
boolean |
True if successful |
cleanUp
public void cleanUp ()
getBugreportzWithSsh
public static File getBugreportzWithSsh (GceAvdInfo gceAvd,
TestDeviceOptions options,
IRunUtil runUtil)
Get a bugreportz from the device using ssh to avoid any adb connection potential issue.
Parameters |
gceAvd |
GceAvdInfo : The GceAvdInfo that describe the device. |
options |
TestDeviceOptions : a TestDeviceOptions describing the device options to be used for the
GCE device. |
runUtil |
IRunUtil : a IRunUtil to execute commands. |
Returns |
File |
A file pointing to the zip bugreport, or null if an issue occurred. |
getHostOrchestratorUtil
public HostOrchestratorUtil getHostOrchestratorUtil ()
Returns the instance of the HostOrchestratorUtil
.
Returns |
HostOrchestratorUtil |
|
getInstanceSerialLog
public static String getInstanceSerialLog (GceAvdInfo infos,
File avdConfigFile,
File jsonKeyFile,
IRunUtil runUtil)
Reads the current content of the Gce Avd instance serial log.
Parameters |
infos |
GceAvdInfo : The GceAvdInfo describing the instance. |
avdConfigFile |
File : the avd config file |
jsonKeyFile |
File : the service account json key file. |
runUtil |
IRunUtil : a IRunUtil to execute commands. |
Returns |
String |
The serial log output or null if something goes wrong. |
getNestedDeviceSshBugreportz
public static File getNestedDeviceSshBugreportz (GceAvdInfo gceAvd,
TestDeviceOptions options,
IRunUtil runUtil)
Get a bugreport via ssh for a nested instance. This requires requesting the adb in the nested
virtual instance.
Parameters |
gceAvd |
GceAvdInfo : The GceAvdInfo that describe the device. |
options |
TestDeviceOptions : a TestDeviceOptions describing the device options to be used for the
GCE device. |
runUtil |
IRunUtil : a IRunUtil to execute commands. |
Returns |
File |
A file pointing to the zip bugreport, or null if an issue occurred. |
logAndDeleteFile
public static void logAndDeleteFile (File tempFile,
String dataName,
ITestLogger logger)
Parameters |
tempFile |
File |
dataName |
String |
logger |
ITestLogger |
logDirectory
public static void logDirectory (File remoteDirectory,
String baseName,
ITestLogger logger,
LogDataType type)
Parameters |
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)
Fetch a remote file from a nested instance and log it.
Parameters |
logger |
ITestLogger : The ITestLogger where to log the file. |
gceAvd |
GceAvdInfo : The GceAvdInfo that describe the device. |
options |
TestDeviceOptions : a TestDeviceOptions describing the device options to be used for the
GCE device. |
runUtil |
IRunUtil : a IRunUtil to execute commands. |
remoteFilePath |
String : The remote path where to find the file. |
type |
LogDataType : the LogDataType of the logged file. |
Returns |
boolean |
whether the file is logged successfully. |
logNestedRemoteFile
public static boolean logNestedRemoteFile (ITestLogger logger,
GceAvdInfo gceAvd,
TestDeviceOptions options,
IRunUtil runUtil,
String remoteFilePath,
LogDataType type,
String baseName)
Fetch a remote file from a nested instance and log it.
Parameters |
logger |
ITestLogger : The ITestLogger where to log the file. |
gceAvd |
GceAvdInfo : The GceAvdInfo that describe the device. |
options |
TestDeviceOptions : a TestDeviceOptions describing the device options to be used for the
GCE device. |
runUtil |
IRunUtil : a IRunUtil to execute commands. |
remoteFilePath |
String : The remote path where to find the file. |
type |
LogDataType : the LogDataType of the logged file. |
baseName |
String : The base name to use to log the file. If null the actual file name will be
used. |
Returns |
boolean |
whether the file is logged successfully. |
logSerialOutput
public void logSerialOutput (GceAvdInfo infos,
ITestLogger logger)
Log the serial output of a device described by GceAvdInfo
.
Parameters |
infos |
GceAvdInfo : The GceAvdInfo describing the instance. |
logger |
ITestLogger : The ITestLogger where to log the serial log. |
remoteSshCommandExecution
public static CommandResult remoteSshCommandExecution (GceAvdInfo gceAvd,
TestDeviceOptions options,
IRunUtil runUtil,
long timeoutMs,
String... command)
Execute the remote command via ssh on an instance.
Parameters |
gceAvd |
GceAvdInfo : The GceAvdInfo that describe the device. |
options |
TestDeviceOptions : a TestDeviceOptions describing the device options to be used for the
GCE device. |
runUtil |
IRunUtil : a IRunUtil to execute commands. |
timeoutMs |
long : The timeout in millisecond for the command. 0 means no timeout. |
command |
String : The remote command to execute. |
shutdownGce
public boolean shutdownGce ()
Shutdown the Gce instance associated with the startGce()
.
Returns |
boolean |
returns true if gce shutdown was requested as non-blocking. |
startGce
public GceAvdInfo startGce (String ipDevice,
String user,
Integer offset,
MultiMap<String, String> attributes,
ITestLogger logger)
Attempt to start a gce instance with either Acloud or Oxygen.
Parameters |
ipDevice |
String : the initial IP of the GCE instance to run AVD in, null if not
applicable |
user |
String : the host running user of AVD, null if not applicable |
offset |
Integer : the device num offset of the AVD in the host, null if not
applicable |
attributes |
MultiMap : attributes associated with current invocation, used for passing applicable
information down to the GCE instance to be added as VM metadata |
logger |
ITestLogger : The ITestLogger where to log the device launch logs. |
startGce
public GceAvdInfo startGce (String ipDevice,
MultiMap<String, String> attributes)
Attempt to start a gce instance.
Parameters |
ipDevice |
String : the initial IP of the GCE instance to run AVD in, null if not
applicable |
attributes |
MultiMap : attributes associated with current invocation, used for passing applicable
information down to the GCE instance to be added as VM metadata |
startGce
public GceAvdInfo startGce (String ipDevice,
String user,
Integer offset,
MultiMap<String, String> attributes)
Attempt to start a gce instance with either Acloud or Oxygen.
Parameters |
ipDevice |
String : the initial IP of the GCE instance to run AVD in, null if not
applicable |
user |
String : the host running user of AVD, null if not applicable |
offset |
Integer : the device num offset of the AVD in the host, null if not
applicable |
attributes |
MultiMap : attributes associated with current invocation, used for passing applicable
information down to the GCE instance to be added as VM metadata |
startMultiDevicesGce
public startMultiDevicesGce ( buildInfos)
This method is deprecated.
Remove this after master branch is updated.
startMultiDevicesGce
public startMultiDevicesGce ( buildInfos,
MultiMap<String, String> attributes)
Attempt to start multi devices gce instance with Oxygen.
Parameters |
buildInfos |
: ERROR(/List) |
attributes |
MultiMap : attributes associated with current invocation |
Protected methods
buildShutdownCommand
protected static buildShutdownCommand (File config,
TestDeviceOptions options,
String instanceName,
String hostname,
boolean isIpPreconfigured)
Parameters |
config |
File |
options |
TestDeviceOptions |
instanceName |
String |
hostname |
String |
isIpPreconfigured |
boolean |
protected String extractInstanceName (String bootupLogs)
Retrieve the instance name from the gce boot logs. Search for the 'name': 'gce-'
pattern to extract the name of it. We extract from the logs instead of result file because on
gce boot failure, the attempted instance name won't show in json.
Parameters |
bootupLogs |
String |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-01-30 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-30 UTC."],[],[]]