เครื่องมือจัดการ GCE

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)

Ctor

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, boolean isIpPreconfigured)

Acloud จริงจะเรียกใช้เพื่อปิดอุปกรณ์เสมือน

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

รับ Bugreportz จากอุปกรณ์โดยใช้ 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)

บันทึกเอาต์พุตอนุกรมของอุปกรณ์ตามที่อธิบายไว้โดย GceAvdInfo

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

เรียกใช้คำสั่งระยะไกลผ่าน ssh บนอินสแตนซ์

boolean shutdownGce()

ปิดอินสแตนซ์ Gce ที่เชื่อมโยงกับ startGce()

GceAvdInfo startGce(String ipDevice, String user, Integer offset, MultiMap<String, String> attributes, ITestLogger logger)

ลองเริ่มต้นอินสแตนซ์ gce ด้วย Acloud หรือ Oxygen

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

ลองเริ่มต้นอินสแตนซ์ gce

GceAvdInfo startGce(String ipDevice, String user, Integer offset, MultiMap<String, String> attributes)

ลองเริ่มต้นอินสแตนซ์ gce ด้วย Acloud หรือ Oxygen

startMultiDevicesGce( buildInfos)

วิธีนี้เลิกใช้งานแล้ว นำข้อมูลนี้ออกหลังจากอัปเดตสาขาหลัก

startMultiDevicesGce( buildInfos, MultiMap<String, String> attributes)

พยายามเริ่มอินสแตนซ์ gce หลายอุปกรณ์ด้วย Oxygen

วิธีการป้องกัน

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

ช่างก่อสร้างสาธารณะ

เครื่องมือจัดการ GCE

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

Ctor

พารามิเตอร์
deviceDesc DeviceDescriptor: DeviceDescriptor ที่จะเชื่อมโยงกับอุปกรณ์ GCE

deviceOptions TestDeviceOptions: TestDeviceOptions ที่เชื่อมโยงกับอุปกรณ์

buildInfo IBuildInfo: IBuildInfo ที่อธิบายบิลด์ gce เพื่อเริ่มต้น

เครื่องมือจัดการ GCE

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

เครื่องมือสร้างนี้เลิกใช้งานแล้ว
สำหรับตัวสร้างอื่นๆ เราเก็บฟีเจอร์นี้ไว้ชั่วคราวเพื่อรองรับความเข้ากันได้แบบย้อนหลัง

พารามิเตอร์
deviceDesc DeviceDescriptor

deviceOptions TestDeviceOptions

buildInfo IBuildInfo

testResourceBuildInfos

เครื่องมือจัดการ GCE

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 ของอินสแตนซ์ที่จะใช้

วิธีการสาธารณะ

การปิดผ่าน Acloud

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

Acloud จริงจะเรียกใช้เพื่อปิดอุปกรณ์เสมือน

พารามิเตอร์
options TestDeviceOptions: TestDeviceOptions สำหรับตัวเลือก Acloud

runUtil IRunUtil: IRunUtil ที่จะเรียกใช้ Acloud

instanceName String: อินสแตนซ์ที่จะปิดเครื่อง

hostname String: ชื่อโฮสต์ของอินสแตนซ์ ใช้สำหรับปลาหมึกออกซิเจนเท่านั้น

isIpPreconfigured boolean: สร้าง AVD ในอุปกรณ์ระยะไกลที่มี IP ที่กำหนดค่าไว้ล่วงหน้าหรือไม่

คิกรีเทิร์น
boolean จริงหากสำเร็จ

ล้าง

public void cleanUp ()

getBugreportzWithSsh

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

รับ Bugreportz จากอุปกรณ์โดยใช้ SSH เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นในการเชื่อมต่อ adb

พารามิเตอร์
gceAvd GceAvdInfo: GceAvdInfo ที่อธิบายอุปกรณ์

options TestDeviceOptions: TestDeviceOptions ที่อธิบายตัวเลือกอุปกรณ์ที่จะใช้ อุปกรณ์ GCE

runUtil IRunUtil: IRunUtil เพื่อเรียกใช้คำสั่ง

คิกรีเทิร์น
File ไฟล์ที่ชี้ไปยังรายงานข้อบกพร่องของ Zip หรือค่าว่าง หากเกิดปัญหา

การขว้าง
ข้อยกเว้น IO

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 เอาต์พุตบันทึกแบบอนุกรมหรือค่า 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 หรือค่าว่าง หากเกิดปัญหา

การขว้าง
ข้อยกเว้น IO

ไดเรกทอรีบันทึก

public static void logDirectory (File remoteDirectory, 
                String baseName, 
                ITestLogger logger, 
                LogDataType type)

พารามิเตอร์
remoteDirectory File

baseName String

logger ITestLogger

type LogDataType

บันทึกNested RemoteFile

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 บันทึกไฟล์สำเร็จหรือไม่

บันทึกNested RemoteFile

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 ที่มีผลลัพธ์ของการดำเนินการ

คุณสามารถปิดการทำงานGce

public boolean shutdownGce ()

ปิดอินสแตนซ์ Gce ที่เชื่อมโยงกับ startGce()

คิกรีเทิร์น
boolean แสดงค่า True หากขอให้ปิด gce เป็นแบบไม่บล็อก

StartGce

public GceAvdInfo startGce (String ipDevice, 
                String user, 
                Integer offset, 
                MultiMap<String, String> attributes, 
                ITestLogger logger)

ลองเริ่มต้นอินสแตนซ์ gce ด้วย Acloud หรือ Oxygen

พารามิเตอร์
ipDevice String: IP เริ่มต้นของอินสแตนซ์ GCE ที่จะเรียกใช้ AVD ใน null หากไม่ได้ เกี่ยวข้อง

user String: โฮสต์ผู้ใช้ของ AVD, null หากไม่เกี่ยวข้อง

offset Integer: ออฟเซ็ตหมายเลขอุปกรณ์ของ AVD ในโฮสต์ null หากไม่มี เกี่ยวข้อง

attributes MultiMap: แอตทริบิวต์ที่เชื่อมโยงกับการเรียกใช้ปัจจุบัน ซึ่งใช้สำหรับการส่งผ่านที่เกี่ยวข้อง ลงในอินสแตนซ์ GCE เพื่อเพิ่มเป็นข้อมูลเมตา VM

logger ITestLogger: ITestLogger สำหรับจัดเก็บบันทึกการเปิดใช้งานอุปกรณ์

คิกรีเทิร์น
GceAvdInfo GceAvdInfo ที่อธิบายอินสแตนซ์ GCE อาจเป็นอินสแตนซ์ BOOT_FAIL

การขว้าง
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

StartGce

public GceAvdInfo startGce ()

คิกรีเทิร์น
GceAvdInfo

การขว้าง
TargetSetupError

StartGce

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

ลองเริ่มต้นอินสแตนซ์ gce

พารามิเตอร์
ipDevice String: IP เริ่มต้นของอินสแตนซ์ GCE ที่จะเรียกใช้ AVD ใน null หากไม่ได้ เกี่ยวข้อง

attributes MultiMap: แอตทริบิวต์ที่เชื่อมโยงกับการเรียกใช้ปัจจุบัน ซึ่งใช้สำหรับการส่งผ่านที่เกี่ยวข้อง ลงในอินสแตนซ์ GCE เพื่อเพิ่มเป็นข้อมูลเมตา VM

คิกรีเทิร์น
GceAvdInfo GceAvdInfo ที่อธิบายอินสแตนซ์ GCE อาจเป็นอินสแตนซ์ BOOT_FAIL

การขว้าง
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

StartGce

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

ลองเริ่มต้นอินสแตนซ์ gce ด้วย Acloud หรือ Oxygen

พารามิเตอร์
ipDevice String: IP เริ่มต้นของอินสแตนซ์ GCE ที่จะเรียกใช้ AVD ใน null หากไม่ได้ เกี่ยวข้อง

user String: โฮสต์ผู้ใช้ของ AVD, null หากไม่เกี่ยวข้อง

offset Integer: ออฟเซ็ตหมายเลขอุปกรณ์ของ AVD ในโฮสต์ null หากไม่มี เกี่ยวข้อง

attributes MultiMap: แอตทริบิวต์ที่เชื่อมโยงกับการเรียกใช้ปัจจุบัน ซึ่งใช้สำหรับการส่งผ่านที่เกี่ยวข้อง ลงในอินสแตนซ์ GCE เพื่อเพิ่มเป็นข้อมูลเมตา VM

คิกรีเทิร์น
GceAvdInfo GceAvdInfo ที่อธิบายอินสแตนซ์ GCE อาจเป็นอินสแตนซ์ BOOT_FAIL

การขว้าง
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

เริ่มต้นหลายอุปกรณ์Gce

public  startMultiDevicesGce ( buildInfos)

วิธีนี้เลิกใช้งานแล้ว
นำรายการนี้ออกหลังจากอัปเดตสาขาหลัก

พารามิเตอร์
buildInfos

คิกรีเทิร์น

การขว้าง
TargetSetupError

เริ่มต้นหลายอุปกรณ์Gce

public  startMultiDevicesGce ( buildInfos, 
                MultiMap<String, String> attributes)

พยายามเริ่มอินสแตนซ์ gce หลายอุปกรณ์ด้วย Oxygen

พารามิเตอร์
buildInfos : ERROR(/List)

attributes MultiMap: แอตทริบิวต์ที่เชื่อมโยงกับการเรียกใช้ปัจจุบัน

คิกรีเทิร์น
ERROR(/List) ซึ่งอธิบายข้อมูล GCE Avd

การขว้าง
TargetSetupError

วิธีการป้องกัน

คำสั่ง BuildShutdownCommand

protected static  buildShutdownCommand (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-" รูปแบบ ดึงชื่อออกมา เราดึงข้อมูลจากบันทึกแทนไฟล์ผลลัพธ์เนื่องจาก การเปิดเครื่อง gce ไม่สำเร็จ ชื่ออินสแตนซ์ที่ต้องการจะไม่แสดงใน JSON

พารามิเตอร์
bootupLogs String

คิกรีเทิร์น
String