blob: bc7d59425eabf3ddc78b0d8c237ad2a709f81f67 [file]
plans:
- name: cros
criticalactions:
- name: 'Set state: repair_failed (''dut_set_state'') (RUN_ONCE)'
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
recoveries:
- name: Power cycle DUT by RPM and wait ('sample_pass') (ALWAYS_RUN)
conditions:
- name: has_rpm_info
dependencies:
- name: rpm_power_cycle
- name: Wait to be pingable (normal boot) ('cros_ping') (ALWAYS_RUN) (time:'2m30s')
- name: Ensure firmware is in good state ('cros_is_firmware_in_good_state')
conditions:
- name: dut_is_not_browser_legacy_duts
dependencies:
- name: Internal storage is responsive ('cros_is_file_system_writable')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
recoveries:
- name: Power cycle DUT by RPM and wait ('sample_pass') (ALWAYS_RUN)
conditions:
- name: has_rpm_info
dependencies:
- name: rpm_power_cycle
- name: Wait to be pingable (normal boot) ('cros_ping') (ALWAYS_RUN) (time:'2m30s')
recoveries:
- name: Quick provision OS ('sample_pass')
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Internal storage is responsive ('cros_is_file_system_writable')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
dependencies:
- name: Call provision for DUT ('cros_provision') (ALWAYS_RUN) (time:'1h0m0s')
- name: Remove PROVISION repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Repair by powerwash ('sample_pass')
conditions:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Internal storage is responsive ('cros_is_file_system_writable')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
dependencies:
- name: Write factory-install-reset to file system (Allow to fail) ('cros_run_shell_command')
- name: Simple reboot ('cros_run_command') (ALWAYS_RUN)
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Call provision for DUT ('cros_provision') (ALWAYS_RUN) (time:'1h0m0s')
- name: Remove PROVISION repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
recoveries:
- name: Fix FW on the DUT to match stable-version and wait to boot ('sample_pass')
dependencies:
- name: Fix FW on the DUT to match stable-version (Allow to fail) ('cros_update_firmware_from_firmware_image') (time:'2h0m0s')
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Recovery version has firmware image path ('has_stable_version_fw_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
dependencies:
- name: Provision OS if needed ('sample_pass')
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: DUT not on stable version ('cros_not_on_stable_version')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Call provision for DUT ('cros_provision') (ALWAYS_RUN) (time:'1h0m0s')
- name: Remove PROVISION repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Disable software-controlled write-protect for 'internal' (Allow to fail) ('cros_disable_fprom_write_protect') (ALWAYS_RUN) (time:'5m0s')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Disable software-controlled write-protect for 'ec' (Allow to fail) ('cros_disable_fprom_write_protect') (ALWAYS_RUN) (time:'5m0s')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Simple reboot ('cros_run_command') (ALWAYS_RUN)
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: RO Firmware validations without servo ('cros_is_on_ro_firmware_stable_version')
conditions:
- name: dut_is_not_browser_legacy_duts
- name: has_stable_version_fw_version
- name: has_stable_version_fw_image
recoveries:
- name: Fix FW on the DUT to match stable-version and wait to boot ('sample_pass')
dependencies:
- name: Fix FW on the DUT to match stable-version (Allow to fail) ('cros_update_firmware_from_firmware_image') (time:'2h0m0s')
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Recovery version has firmware image path ('has_stable_version_fw_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
dependencies:
- name: Provision OS if needed ('sample_pass')
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: DUT not on stable version ('cros_not_on_stable_version')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Call provision for DUT ('cros_provision') (ALWAYS_RUN) (time:'1h0m0s')
- name: Remove PROVISION repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Disable software-controlled write-protect for 'internal' (Allow to fail) ('cros_disable_fprom_write_protect') (ALWAYS_RUN) (time:'5m0s')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Disable software-controlled write-protect for 'ec' (Allow to fail) ('cros_disable_fprom_write_protect') (ALWAYS_RUN) (time:'5m0s')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Simple reboot ('cros_run_command') (ALWAYS_RUN)
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Has repair-request for re-provision ('dut_has_any_repair_requests')
recoveries:
- name: Quick provision OS ('sample_pass')
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
- name: Internal storage is responsive ('cros_is_file_system_writable')
dependencies:
- name: Device is SSHable ('cros_ssh') (ALWAYS_RUN) (time:'15s')
dependencies:
- name: Call provision for DUT ('cros_provision') (ALWAYS_RUN) (time:'1h0m0s')
- name: Remove PROVISION repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Install OS in recovery mode by booting from servo USB-drive (no storage check) ('sample_pass') (ALWAYS_RUN)
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is a Chromebook ('dut_check_board') (RUN_ONCE)
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
dependencies:
- name: Servo USB-Key needs to be reflashed ('sample_pass')
conditions:
- name: It is time to update USB-drive image ('cros_is_time_to_force_download_image_to_usbkey')
dependencies:
- name: Download stable image to USB-key (Allow to fail) ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) ('sample_pass') (RUN_ONCE)
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Stable version image is missing from servo usbkey ('sample_fail')
conditions:
- name: Servo usbkey has stable image ('servo_usbkey_has_stable_image')
dependencies:
- name: servo_servod_echo_host
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Boot DUT in recovery and install from USB-drive (no storage check) ('cros_install_in_recovery_mode') (ALWAYS_RUN) (time:'2h13m20s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Remove REIMAGE_BY_USBKEY repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Install OS in recovery mode by booting from servo USB-drive (with FW update) ('sample_pass') (ALWAYS_RUN)
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Recovery version has firmware image path ('has_stable_version_fw_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is a Chromebook ('dut_check_board') (RUN_ONCE)
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
dependencies:
- name: Flash EC (FW) by servo (allowed failed) (Allow to fail) ('cros_update_fw_with_fw_image_by_servo') (time:'1h50m0s')
conditions:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
dependencies:
- name: Recovery version has firmware image path ('has_stable_version_fw_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Sleep 60 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'1m10s')
- name: Disable software write protection via servo (Allow to fail) ('cros_disable_software_write_protection_by_servo') (time:'1m0s')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Flash AP (FW) with GBB 0x18 by servo (Allow to fail) ('cros_update_fw_with_fw_image_by_servo') (time:'1h30m0s')
conditions:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
dependencies:
- name: Recovery version has firmware image path ('has_stable_version_fw_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Servo USB-Key needs to be reflashed ('sample_pass')
conditions:
- name: It is time to update USB-drive image ('cros_is_time_to_force_download_image_to_usbkey')
dependencies:
- name: Download stable image to USB-key (Allow to fail) ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) ('sample_pass') (RUN_ONCE)
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Stable version image is missing from servo usbkey ('sample_fail')
conditions:
- name: Servo usbkey has stable image ('servo_usbkey_has_stable_image')
dependencies:
- name: servo_servod_echo_host
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Boot DUT in recovery and install from USB-drive ('cros_install_in_recovery_mode') (ALWAYS_RUN) (time:'2h13m20s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Remove REIMAGE_BY_USBKEY repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Install OS in recovery mode by booting from servo USB-drive (Flex) ('sample_pass') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Device does not have Intel AMT ('sample_fail')
dependencies:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
dependencies:
- name: Servo USB-Key needs to be reflashed ('sample_pass')
conditions:
- name: It is time to update USB-drive image ('cros_is_time_to_force_download_image_to_usbkey')
dependencies:
- name: Download stable image to USB-key (Allow to fail) ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) ('sample_pass') (RUN_ONCE)
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Stable version image is missing from servo usbkey ('sample_fail')
conditions:
- name: Servo usbkey has stable image ('servo_usbkey_has_stable_image')
dependencies:
- name: servo_servod_echo_host
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Direct USB-drive to DUT ('servo_set') (ALWAYS_RUN) (time:'20s')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Boot Flex from USB on next boot ('cros_flex_usb_nextboot') (ALWAYS_RUN)
conditions:
- name: Device has UEFI firmware ('cros_run_command') (ALWAYS_RUN)
- name: Power OFF DUT by servo ('servo_set') (ALWAYS_RUN)
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Sleep 10 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'11s')
- name: Power ON DUT by servo ('servo_set') (ALWAYS_RUN)
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Sleep 10 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'11s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Print active devices (Allow to fail) ('cros_run_command') (ALWAYS_RUN)
- name: Is Flex booted from USB-drive ('cros_run_command') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Run chromeos-install for Flex ('cros_run_command') (ALWAYS_RUN) (time:'10m0s')
dependencies:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Sleep 10 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'11s')
- name: Power-off the DUT using AMT ('cros_flex_amt_power_off') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Direct USB-drive to servo host ('servo_set') (ALWAYS_RUN) (time:'20s')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Power-on the DUT using AMT ('cros_flex_amt_power_on') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Remove REIMAGE_BY_USBKEY repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Install OS in recovery mode by booting from servo USB-drive (Flex with AMT) ('sample_pass') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Device has Intel AMT ('sample_pass')
dependencies:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
dependencies:
- name: Servo USB-Key needs to be reflashed ('sample_pass')
conditions:
- name: It is time to update USB-drive image ('cros_is_time_to_force_download_image_to_usbkey')
dependencies:
- name: Download stable image to USB-key (Allow to fail) ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) ('sample_pass') (RUN_ONCE)
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Stable version image is missing from servo usbkey ('sample_fail')
conditions:
- name: Servo usbkey has stable image ('servo_usbkey_has_stable_image')
dependencies:
- name: servo_servod_echo_host
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Call servod to download image to USB-key ('servo_download_image_to_usb') (ALWAYS_RUN) (time:'50m0s')
- name: Remove UPDATE_USBKEY_IMAGE repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Direct USB-drive to DUT ('servo_set') (ALWAYS_RUN) (time:'20s')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Power-off the DUT using AMT ('cros_flex_amt_power_off') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Sleep 10 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'11s')
- name: Power-on the DUT using AMT ('cros_flex_amt_power_on') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Sleep 10 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'11s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Print active devices (Allow to fail) ('cros_run_command') (ALWAYS_RUN)
- name: Is Flex booted from USB-drive ('cros_run_command') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Run chromeos-install for Flex ('cros_run_command') (ALWAYS_RUN) (time:'10m0s')
dependencies:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Sleep 10 seconds (Allow to fail) ('sample_sleep') (ALWAYS_RUN) (time:'11s')
- name: Power-off the DUT using AMT ('cros_flex_amt_power_off') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Direct USB-drive to servo host ('servo_set') (ALWAYS_RUN) (time:'20s')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Power-on the DUT using AMT ('cros_flex_amt_power_on') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Intel AMT is present ('cros_flex_amt_present') (ALWAYS_RUN)
conditions:
- name: Is Flex device ('dut_check_board') (RUN_ONCE)
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Remove REIMAGE_BY_USBKEY repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Install OS in DEV mode, with force to DEV-mode ('sample_pass')
conditions:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is a Chromebook ('dut_check_board') (RUN_ONCE)
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
dependencies:
- name: Set GBB flags to 0x18 by servo (Allow to fail) ('cros_set_gbb_by_servo') (time:'5m0s')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Install OS in DEV mode by USB-drive ('sample_pass') (ALWAYS_RUN)
conditions:
- name: Recovery version has OS image path ('has_stable_version_cros_image')
dependencies:
- name: Has a stable-version service ('has_stable_version_service_path') (RUN_ONCE)
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Is a Chromebook ('dut_check_board') (RUN_ONCE)
- name: Is servo USB key detected ('servo_usbkey_is_detected')
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
dependencies:
- name: Boot DUT from USB in DEV mode ('cros_dev_mode_boot_from_servo_usb_drive') (ALWAYS_RUN) (time:'10m50s')
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Run install after boot from USB-drive ('cros_run_chromeos_install_command_after_boot_usbdrive') (ALWAYS_RUN) (time:'20m0s')
- name: Cold reset DUT by servo and wait to boot ('sample_pass') (ALWAYS_RUN)
conditions:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
dependencies:
- name: Cold reset DUT by servo ('servo_power_state_reset') (ALWAYS_RUN)
dependencies:
- name: Is servod running ('sample_pass') (ALWAYS_RUN)
dependencies:
- name: Setup has servo info ('dut_servo_host_present')
- name: Verify servod is responsive ('servod_echo') (ALWAYS_RUN) (time:'10s')
conditions:
- name: Setup has servo info ('dut_servo_host_present')
- name: Wait to be pingable (normal boot) ('cros_ping') (ALWAYS_RUN) (time:'2m30s')
- name: Wait to be SSHable (normal boot) ('cros_ssh') (ALWAYS_RUN) (time:'2m30s')
- name: Remove REIMAGE_BY_USBKEY repair-request ('dut_remove_repair_requests') (ALWAYS_RUN)
- name: Update provisioned info ('cros_update_provision_info') (ALWAYS_RUN)
recoveries:
- name: Sleep 1s (Allow to fail) ('sample_sleep') (ALWAYS_RUN)
- name: 'Set state: ready (''dut_set_state'') (RUN_ONCE)'
dependencies:
- name: All repair-requests resolved ('dut_has_no_repair_requests')
- name: Reset DUT-state reason ('dut_reset_state_reason')
- name: close (Allow to fail)
criticalactions:
- name: Update DUT state for failures more than threshold ('dut_set_state_reason')
conditions:
- name: DUT state is repair_failed ('dut_state_match')
- name: Failure count above threshold ('metrics_check_task_failures')
conditions:
- name: Servo-host known ('dut_servo_host_present')
- name: Failure count above threshold (Servo-less) ('metrics_check_task_failures')
conditions:
- name: No Servo-host ('sample_fail')
conditions:
- name: Servo-host known ('dut_servo_host_present')
- name: 'Set state: needs_manual_repair (Allow to fail) (''dut_set_state'') (ALWAYS_RUN)'