GceManager

public class GceManager
extends Object

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


Helper che gestisce le chiamate a GCE per avviare/arrestare e raccogliere i log da GCE.

Riepilogo

Campi

public static final String GCE_HOSTNAME_KEY

public static final String GCE_INSTANCE_CLEANED_KEY

public static final String GCE_INSTANCE_NAME_KEY

Costruttori pubblici

GceManager(DeviceDescriptor deviceDesc, TestDeviceOptions deviceOptions, IBuildInfo buildInfo)

Ctor

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

Questo costruttore è deprecato. Utilizza altri costruttori, lo manteniamo temporaneamente per la compatibilità con le versioni precedenti.

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

Ctor, una variante che può essere utilizzata per fornire il nome dell'istanza GCE da utilizzare direttamente.

Metodi pubblici

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

Esecuzione effettiva di Acloud per spegnere il dispositivo virtuale.

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

Ricevi un bugreportz dal dispositivo utilizzando SSH per evitare potenziali problemi di connessione ADB.

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

Legge i contenuti correnti del log seriale dell'istanza GCE Avd.

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

Ottieni una segnalazione di bug tramite SSH per un'istanza nidificata.

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

Recupera un file remoto da un'istanza nidificata e registralo.

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

Recupera un file remoto da un'istanza nidificata e registralo.

void logSerialOutput(GceAvdInfo infos, ITestLogger logger)

Registra l'output seriale di un dispositivo descritto da GceAvdInfo.

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

Esegui il comando remoto tramite SSH su un'istanza.

boolean shutdownGce()

Arresta l'istanza GCE associata al startGce().

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

Tentativo di avviare un'istanza GCE

Metodi protetti

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

Crea e restituisci il comando per avviare GCE.

String extractInstanceName(String bootupLogs)

Recupera il nome dell'istanza dai log di avvio GCE.

Campi

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

Costruttori pubblici

GceManager

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

Ctor

Parametri
deviceDesc DeviceDescriptor: il DeviceDescriptor che verrà associato al dispositivo GCE.

deviceOptions TestDeviceOptions: un TestDeviceOptions associato al dispositivo.

buildInfo IBuildInfo: un IBuildInfo che descrive la build GCE da avviare.

GceManager

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

Questo costruttore è deprecato.
Utilizza altri costruttori. Manteniamo questa opzione temporaneamente per la compatibilità con le versioni precedenti.

Parametri
deviceDesc DeviceDescriptor

deviceOptions TestDeviceOptions

buildInfo IBuildInfo

testResourceBuildInfos

GceManager

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

Ctor, una variante che può essere utilizzata per fornire il nome dell'istanza GCE da utilizzare direttamente.

Parametri
deviceDesc DeviceDescriptor: il DeviceDescriptor che verrà associato al dispositivo GCE.

deviceOptions TestDeviceOptions: un TestDeviceOptions associato al dispositivo

buildInfo IBuildInfo: un IBuildInfo che descrive la build GCE da avviare.

gceInstanceName String: il nome dell'istanza da utilizzare.

gceHost String: il nome host o l'IP dell'istanza da utilizzare.

Metodi pubblici

AcloudShutdown

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

Esecuzione effettiva di Acloud per spegnere il dispositivo virtuale.

Parametri
options TestDeviceOptions: il TestDeviceOptions per le opzioni Acloud

runUtil IRunUtil: il IRunUtil per eseguire Acloud

instanceName String: l'istanza da arrestare.

hostname String: nome host dell'istanza, utilizzato solo per Oxygen cuttlefish.

Ritorni
boolean Vero se l'operazione è riuscita

cleanUp

public void cleanUp ()

getBugreportzWithSsh

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

Ricevi un bugreportz dal dispositivo utilizzando SSH per evitare potenziali problemi di connessione ADB.

Parametri
gceAvd GceAvdInfo: i GceAvdInfo che descrivono il dispositivo.

options TestDeviceOptions: un TestDeviceOptions che descrive le opzioni del dispositivo da utilizzare per il dispositivo GCE.

runUtil IRunUtil: un IRunUtil per eseguire comandi.

Ritorni
File Un file che rimanda alla segnalazione di bug ZIP o null se si è verificato un problema.

getInstanceSerialLog

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

Legge i contenuti correnti del log seriale dell'istanza GCE Avd.

Parametri
infos GceAvdInfo: il GceAvdInfo che descrive l'istanza.

avdConfigFile File: il file di configurazione dell'avd

jsonKeyFile File: il file della chiave JSON dell'account di servizio.

runUtil IRunUtil: un IRunUtil per eseguire comandi.

Ritorni
String L'output del log seriale o null se si verifica un problema.

getNestedDeviceSshBugreportz

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

Ottieni una segnalazione di bug tramite SSH per un'istanza nidificata. Questo richiede la richiesta di adb nell'istanza virtuale nidificata.

Parametri
gceAvd GceAvdInfo: i GceAvdInfo che descrivono il dispositivo.

options TestDeviceOptions: un TestDeviceOptions che descrive le opzioni del dispositivo da utilizzare per il dispositivo GCE.

runUtil IRunUtil: un IRunUtil per eseguire comandi.

Ritorni
File Un file che rimanda alla segnalazione di bug ZIP o null se si è verificato un problema.

logNestedRemoteFile

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

Recupera un file remoto da un'istanza nidificata e registralo.

Parametri
logger ITestLogger: il ITestLogger in cui registrare il file.

gceAvd GceAvdInfo: i GceAvdInfo che descrivono il dispositivo.

options TestDeviceOptions: un TestDeviceOptions che descrive le opzioni del dispositivo da utilizzare per il dispositivo GCE.

runUtil IRunUtil: un IRunUtil per eseguire comandi.

remoteFilePath String: il percorso remoto in cui trovare il file.

type LogDataType: il LogDataType del file registrato.

logNestedRemoteFile

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

Recupera un file remoto da un'istanza nidificata e registralo.

Parametri
logger ITestLogger: il ITestLogger in cui registrare il file.

gceAvd GceAvdInfo: i GceAvdInfo che descrivono il dispositivo.

options TestDeviceOptions: un TestDeviceOptions che descrive le opzioni del dispositivo da utilizzare per il dispositivo GCE.

runUtil IRunUtil: un IRunUtil per eseguire comandi.

remoteFilePath String: il percorso remoto in cui trovare il file.

type LogDataType: il LogDataType del file registrato.

baseName String: il nome base da utilizzare per registrare il file. Se è nullo, verrà utilizzato il nome del file reale.

logSerialOutput

public void logSerialOutput (GceAvdInfo infos, 
                ITestLogger logger)

Registra l'output seriale di un dispositivo descritto da GceAvdInfo.

Parametri
infos GceAvdInfo: il GceAvdInfo che descrive l'istanza.

logger ITestLogger: il ITestLogger in cui registrare il log di serie.

remoteSshCommandExecution

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

Esegui il comando remoto tramite SSH su un'istanza.

Parametri
gceAvd GceAvdInfo: i GceAvdInfo che descrivono il dispositivo.

options TestDeviceOptions: un TestDeviceOptions che descrive le opzioni del dispositivo da utilizzare per il dispositivo GCE.

runUtil IRunUtil: un IRunUtil per eseguire comandi.

timeoutMs long: il timeout in millisecondi per il comando. 0 significa nessun timeout.

command String: il comando remoto da eseguire.

Ritorni
CommandResult CommandResult contenente il risultato dell'esecuzione.

shutdownGce

public boolean shutdownGce ()

Arresta l'istanza GCE associata al startGce().

Ritorni
boolean Restituisce true se l'arresto di GCE è stato richiesto come non bloccante.

startGce

public GceAvdInfo startGce ()

Ritorni
GceAvdInfo

Lanci
TargetSetupError

startGce

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

Tentativo di avviare un'istanza GCE

Parametri
ipDevice String: l'indirizzo IP iniziale dell'istanza GCE in cui eseguire l'AVD, null se non applicabile

attributes MultiMap: attributi associati all'attuale chiamata, utilizzati per trasmettere le informazioni applicabili all'istanza GCE da aggiungere come metadati della VM

Ritorni
GceAvdInfo un GceAvdInfo che descrive l'istanza GCE. Potrebbe essere un'istanza di BOOT_FAIL.

Lanci
TargetSetupError

Metodi protetti

buildGceCmd

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

Crea e restituisci il comando per avviare GCE. Esposto per i test.

Parametri
reportFile File

b IBuildInfo

ipDevice String

attributes MultiMap

Ritorni

extractInstanceName

protected String extractInstanceName (String bootupLogs)

Recupera il nome dell'istanza dai log di avvio GCE. Cerca il pattern "name": "gce-" per estrarne il nome. Estraiamo i dati dai log anziché dal file dei risultati perché, in caso di errore di avvio GCE, il nome dell'istanza tentata non viene visualizzato in JSON.

Parametri
bootupLogs String

Ritorni
String