GceManager

public class GceManager
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.cloud.GceManager


Assistente que gerencia as chamadas do GCE para iniciar/parar e coletar registros do GCE.

Resumo

Campos

public static final String GCE_HOSTNAME_KEY

public static final String GCE_INSTANCE_CLEANED_KEY

public static final String GCE_INSTANCE_NAME_KEY

Construtores públicos

GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo)

Ctor

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

Esse construtor foi descontinuado. Use outros construtores. Vamos manter isso temporariamente para oferecer compatibilidade com versões anteriores.

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

Ctor, variação que pode ser usada para fornecer o nome da instância do GCE para uso direto.

Métodos públicos

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

A execução real do Acloud para encerrar o dispositivo virtual.

void cleanUp()
static File getBugreportzWithSsh(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)

Receba um bugreportz do dispositivo usando ssh para evitar possíveis problemas de conexão com o adb.

static String getInstanceSerialLog(GceAvdInfo infos, File avdConfigFile, File jsonKeyFile, IRunUtil runUtil)

Lê o conteúdo atual do registro serial da instância do Gce Avd.

static File getNestedDeviceSshBugreportz(GceAvdInfo gceAvd, TestDeviceOptions options, IRunUtil runUtil)

Receber um bugreport por ssh para uma instância aninhada.

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

Buscar um arquivo remoto de uma instância aninhada e fazer o registro dele.

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

Buscar um arquivo remoto de uma instância aninhada e fazer o registro dele.

void logSerialOutput(GceAvdInfo infos, ITestLogger logger)

Registra a saída serial de um dispositivo descrito por GceAvdInfo.

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

Execute o comando remoto via ssh em uma instância.

boolean shutdownGce()

Desligue a instância do GCE associada ao startGce().

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

Tentar iniciar uma instância do GCE

Métodos protegidos

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

Crie e retorne o comando para iniciar o GCE.

String extractInstanceName(String bootupLogs)

Extraia o nome da instância dos registros de inicialização do GCE.

Campos

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

Construtores públicos

GceManager

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

Ctor

Parâmetros
deviceDesc DeviceDescriptor: o DeviceDescriptor que será associado ao dispositivo do GCE.

deviceOptions TestDeviceOptions: uma TestDeviceOptions associada ao dispositivo.

buildInfo IBuildInfo: uma IBuildInfo que descreve o build do gce para iniciar.

GceManager

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

Esse construtor foi descontinuado.
Use outros construtores. Mantemos isso temporariamente para compatibilidade com versões anteriores.

Parâmetros
deviceDesc DeviceDescriptor

deviceOptions TestDeviceOptions

buildInfo IBuildInfo

testResourceBuildInfos

GceManager

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

Ctor, variação que pode ser usada para fornecer o nome da instância do GCE para uso direto.

Parâmetros
deviceDesc DeviceDescriptor: o DeviceDescriptor que será associado ao dispositivo do GCE.

deviceOptions TestDeviceOptions: um TestDeviceOptions associado ao dispositivo

buildInfo IBuildInfo: uma IBuildInfo que descreve o build do gce para iniciar.

gceInstanceName String: o nome da instância a ser usado.

gceHost String: o nome do host ou o IP da instância a ser usada.

Métodos públicos

AcloudShutdown

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

A execução real do Acloud para encerrar o dispositivo virtual.

Parâmetros
options TestDeviceOptions: o TestDeviceOptions para as opções do Acloud

runUtil IRunUtil: o IRunUtil para executar o Acloud

instanceName String: a instância a ser encerrada.

hostname String: nome do host da instância, usado apenas para o Oxygen cuttlefish.

Retorna
boolean Verdadeiro se for bem-sucedido

cleanUp

public void cleanUp ()

getBugreportzWithSsh

public static File getBugreportzWithSsh (GceAvdInfo gceAvd, 
                TestDeviceOptions options, 
                IRunUtil runUtil)

Receba um bugreportz do dispositivo usando ssh para evitar possíveis problemas de conexão com o adb.

Parâmetros
gceAvd GceAvdInfo: o GceAvdInfo que descreve o dispositivo.

options TestDeviceOptions: um TestDeviceOptions que descreve as opções de dispositivo a serem usadas para o dispositivo do GCE.

runUtil IRunUtil: um IRunUtil para executar comandos.

Retorna
File Um arquivo que aponta para o relatório de bug zip ou nulo se um problema ocorreu.

getInstanceSerialLog

public static String getInstanceSerialLog (GceAvdInfo infos, 
                File avdConfigFile, 
                File jsonKeyFile, 
                IRunUtil runUtil)

Lê o conteúdo atual do registro serial da instância do Gce Avd.

Parâmetros
infos GceAvdInfo: o GceAvdInfo que descreve a instância.

avdConfigFile File: o arquivo de configuração do avd

jsonKeyFile File: o arquivo de chave JSON da conta de serviço.

runUtil IRunUtil: um IRunUtil para executar comandos.

Retorna
String A saída do registro serial ou nulo se algo der errado.

getNestedDeviceSshBugreportz

public static File getNestedDeviceSshBugreportz (GceAvdInfo gceAvd, 
                TestDeviceOptions options, 
                IRunUtil runUtil)

Receber um bugreport por ssh para uma instância aninhada. Isso requer a solicitação do adb na instância virtual aninhada.

Parâmetros
gceAvd GceAvdInfo: o GceAvdInfo que descreve o dispositivo.

options TestDeviceOptions: um TestDeviceOptions que descreve as opções de dispositivo a serem usadas para o dispositivo do GCE.

runUtil IRunUtil: um IRunUtil para executar comandos.

Retorna
File Um arquivo que aponta para o relatório de bug zip ou nulo se um problema ocorreu.

logNestedRemoteFile

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

Buscar um arquivo remoto de uma instância aninhada e fazer o registro dele.

Parâmetros
logger ITestLogger: o ITestLogger em que o arquivo será registrado.

gceAvd GceAvdInfo: o GceAvdInfo que descreve o dispositivo.

options TestDeviceOptions: um TestDeviceOptions que descreve as opções de dispositivo a serem usadas para o dispositivo do GCE.

runUtil IRunUtil: um IRunUtil para executar comandos.

remoteFilePath String: o caminho remoto em que o arquivo está.

type LogDataType: o LogDataType do arquivo registrado.

logNestedRemoteFile

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

Buscar um arquivo remoto de uma instância aninhada e fazer o registro dele.

Parâmetros
logger ITestLogger: o ITestLogger em que o arquivo será registrado.

gceAvd GceAvdInfo: o GceAvdInfo que descreve o dispositivo.

options TestDeviceOptions: um TestDeviceOptions que descreve as opções de dispositivo a serem usadas para o dispositivo do GCE.

runUtil IRunUtil: um IRunUtil para executar comandos.

remoteFilePath String: o caminho remoto em que o arquivo está.

type LogDataType: o LogDataType do arquivo registrado.

baseName String: o nome de base a ser usado para registrar o arquivo. Se for nulo, o nome do arquivo real será usado.

logSerialOutput

public void logSerialOutput (GceAvdInfo infos, 
                ITestLogger logger)

Registra a saída serial de um dispositivo descrito por GceAvdInfo.

Parâmetros
infos GceAvdInfo: o GceAvdInfo que descreve a instância.

logger ITestLogger: o ITestLogger em que o registro em série será registrado.

remoteSshCommandExecution

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

Execute o comando remoto via ssh em uma instância.

Parâmetros
gceAvd GceAvdInfo: o GceAvdInfo que descreve o dispositivo.

options TestDeviceOptions: um TestDeviceOptions que descreve as opções de dispositivo a serem usadas para o dispositivo do GCE.

runUtil IRunUtil: um IRunUtil para executar comandos.

timeoutMs long: o tempo limite em milissegundos do comando. 0 significa que não há tempo limite.

command String: o comando remoto a ser executado.

Retorna
CommandResult CommandResult contendo o resultado da execução.

shutdownGce

public boolean shutdownGce ()

Desligue a instância do GCE associada ao startGce().

Retorna
boolean Retorna verdadeiro se o desligamento do gce foi solicitado como não bloqueante.

startGce

public GceAvdInfo startGce ()

Retorna
GceAvdInfo

Gera
TargetSetupError

startGce

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

Tentar iniciar uma instância do GCE

Parâmetros
ipDevice String: o IP inicial da instância do GCE para executar o AVD, null, se não for aplicável

attributes MultiMap: atributos associados à invocação atual, usados para transmitir informações aplicáveis à instância do GCE para serem adicionadas como metadados da VM

Retorna
GceAvdInfo um GceAvdInfo que descreve a instância do GCE. Pode ser uma instância BOOT_FAIL.

Gera
TargetSetupError

Métodos protegidos

buildGceCmd

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

Crie e retorne o comando para iniciar o GCE. Exposto para testes.

Parâmetros
reportFile File

b IBuildInfo

ipDevice String

attributes MultiMap

Retorna

extractInstanceName

protected String extractInstanceName (String bootupLogs)

Extraia o nome da instância dos registros de inicialização do GCE. Pesquise o padrão "name: 'gce-'" para extrair o nome. Extraímos os dados dos registros em vez do arquivo de resultado porque, em caso de falha na inicialização do GCE, o nome da instância tentada não aparece no JSON.

Parâmetros
bootupLogs String

Retorna
String