Google 致力于为黑人社区推动种族平等。查看具体举措

管理器

public class GceManager
extends 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

公共构造函数

GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo)

科特

GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, testResourceBuildInfos) GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, testResourceBuildInfos)

此构造函数已弃用。使用其他构造函数,为了向后兼容,我们暂时保留它。

GceManager (DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo, String gceInstanceName, String gceHost)

ctor,可用于提供 GCE 实例名称以直接使用的变体。

公共方法

static boolean AcloudShutdown (TestDeviceOptions options, IRunUtil runUtil, String instanceName, String hostname)

实际运行 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 logNestedRemoteFile (ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type)

从嵌套实例中获取远程文件并记录它。

static void logNestedRemoteFile (ITestLogger logger, GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, String remoteFilePath, LogDataType type, String baseName)

从嵌套实例中获取远程文件并记录它。

void logSerialOutput ( GceAvdInfo infos, ITestLogger logger)

记录由所描述的设备的串行输出GceAvdInfo

static CommandResult remoteSshCommandExecution ( GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil, long timeoutMs, String... command)

在实例上通过 ssh 执行远程命令。

boolean shutdownGce ()

关闭与相关的GCE实例startGce()

GceAvdInfo startGce ()
GceAvdInfo startGce (String ipDevice, MultiMap<String, String> attributes)

尝试启动一个 gce 实例

受保护的方法

buildGceCmd (File reportFile, IBuildInfo b, String ipDevice, MultiMap<String, String> attributes)

构建并返回命令以启动 GCE。

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

公共构造函数

管理器

public GceManager (DeviceDescriptor deviceDesc, 
                TestDeviceOptions deviceOptions, 
                IBuildInfo buildInfo)

科特

参数
deviceDesc DeviceDescriptor :该DeviceDescriptor将与GCE设备相关联。

deviceOptions TestDeviceOptions :甲TestDeviceOptions与设备相关联。

buildInfo IBuildInfo :一个IBuildInfo描述GCE构建启动。

管理器

public GceManager (DeviceDescriptor deviceDesc, 
                TestDeviceOptions deviceOptions, 
                IBuildInfo buildInfo, 
                 testResourceBuildInfos)

此构造函数已弃用。
使用其他构造函数,为了向后兼容,我们暂时保留它。

参数
deviceDesc DeviceDescriptor

deviceOptions TestDeviceOptions

buildInfo IBuildInfo

testResourceBuildInfos

管理器

public GceManager (DeviceDescriptor deviceDesc, 
                TestDeviceOptions deviceOptions, 
                IBuildInfo buildInfo, 
                String gceInstanceName, 
                String gceHost)

ctor,可用于提供 GCE 实例名称以直接使用的变体。

参数
deviceDesc DeviceDescriptor :该DeviceDescriptor将与GCE设备相关联。

deviceOptions TestDeviceOptions :甲TestDeviceOptions与设备相关联

buildInfo IBuildInfo :一个IBuildInfo描述GCE构建启动。

gceInstanceName String :要使用的实例名。

gceHost String :主机名或实例使用的IP。

公共方法

云关闭

public static boolean AcloudShutdown (TestDeviceOptions options, 
                IRunUtil runUtil, 
                String instanceName, 
                String hostname)

实际运行 Acloud 以关闭虚拟设备。

参数
options TestDeviceOptions :该TestDeviceOptions为Acloud选项

runUtil IRunUtil :本IRunUtil运行Acloud

instanceName String :实例关闭。

hostname String :实例的主机名,仅用于氧乌贼。

退货
boolean如果成功则为真

清理

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 错误报告的文件,如果出现问题,则为 null。

获取实例串行日志

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如果出现问题,串行日志输出或 null。

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 错误报告的文件,如果出现问题,则为 null。

日志嵌套远程文件

public static void 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的文件中记录的。

日志嵌套远程文件

public static void 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,将使用实际文件名。

日志串行输出

public void logSerialOutput (GceAvdInfo infos, 
                ITestLogger logger)

记录由所描述的设备的串行输出GceAvdInfo

参数
infos GceAvdInfo :该GceAvdInfo描述实例。

logger ITestLogger :本ITestLogger何处记录串行日志。

远程Ssh命令执行

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包含执行的结果。

关闭Gce

public boolean shutdownGce ()

关闭与相关的GCE实例startGce()

退货
boolean如果 gce 关闭请求为非阻塞,则返回 true。

启动Gce

public GceAvdInfo startGce ()

退货
GceAvdInfo

投掷
TargetSetupError

启动Gce

public GceAvdInfo startGce (String ipDevice, 
                MultiMap<String, String> attributes)

尝试启动一个 gce 实例

参数
ipDevice String :在GCE实例的初始IP来运行AVD, null ,如果不适用

attributes MultiMap :属性与当前调用,用于传递信息适用下降到GCE实例被添加为VM元数据相关联

退货
GceAvdInfo一个GceAvdInfo描述GCE实例。可能是 BOOT_FAIL 实例。

投掷
TargetSetupError

受保护的方法

buildGceCmd

protected  buildGceCmd (File reportFile, 
                IBuildInfo b, 
                String ipDevice, 
                MultiMap<String, String> attributes)

构建并返回命令以启动 GCE。暴露用于测试。

参数
reportFile File

b IBuildInfo

ipDevice String

attributes MultiMap

退货

提取实例名称

protected String extractInstanceName (String bootupLogs)

从 gce 引导日志中检索实例名称。搜索“名称”:“gce- ' 模式来提取它的名称。我们从日志而不是结果文件中提取,因为在 gce 启动失败时,尝试的实例名称不会显示在 json 中。

参数
bootupLogs String

退货
String