| plans: | |
| - name: cros_audit | |
| criticalactions: | |
| - name: 'Set state: needs_repair (ALWAYS_RUN)' | |
| exec_name: dut_set_state | |
| exec_args: | |
| - state:needs_repair | |
| docs: | |
| - The action set devices with state means that repair tsk did not success to recover the devices. | |
| - name: Device is SSHable (ALWAYS_RUN) (time:'15s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Verify that device is reachable by SSH. | |
| - Limited to 15 seconds. | |
| recoveries: | |
| - name: Cold reset by servo and wait for SSH (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This repair action will use servod command to reset power_state on the DUT. | |
| - 'TODO: (blocked by: b/221083688) Collect logs from a successfully repaired DUT.' | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Install OS in recovery mode by booting from servo USB-drive (no storage check) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - DUT will be booted in recovery mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Boot DUT in recovery and install from USB-drive (no storage check) (ALWAYS_RUN) (time:'2h13m20s') | |
| exec_name: cros_install_in_recovery_mode | |
| exec_args: | |
| - run_tpm_reset:true | |
| - run_os_install:true | |
| - boot_timeout:480 | |
| - boot_interval:10 | |
| - boot_retry:2 | |
| - halt_timeout:120 | |
| - install_timeout:1200 | |
| - tpm_reset_timeout:60 | |
| - post_install_boot_time:15 | |
| - ignore_reboot_failure:true | |
| - run_storage_checks:false | |
| - badblocks_mode:not | |
| - rw_badblocks_timeout:5400 | |
| - ro_badblocks_timeout:3600 | |
| - after_reboot_check:true | |
| - after_reboot_timeout:150 | |
| - after_reboot_allow_use_servo_reset:true | |
| docs: | |
| - 'This action installs the test image on DUT utilizing ' | |
| - 'the features of servo. DUT will be booted in recovery ' | |
| - 'mode. In some cases RO FW is not allowed to boot in ' | |
| - 'recovery mode with active PD, so we will change it to ' | |
| - sink-mode if required. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Update FW from fw-image by servo and wait for boot | |
| exec_name: sample_pass | |
| docs: | |
| - 'This action will repair the firmware on the DUT, and ' | |
| - 'then reboot and wait for the DUT to again become ' | |
| - 'available. This action exists to wrap these component ' | |
| - actions into a single repair action. | |
| conditions: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| dependencies: | |
| - name: Flash EC (FW) by servo (allowed failed) (Allow to fail) (time:'1h50m0s') | |
| exec_name: cros_update_fw_with_fw_image_by_servo | |
| exec_args: | |
| - update_ec_attempt_count:5 | |
| - download_timeout:600 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download fw-image specified in stable version and flash EC to the DUT by servo | |
| - Set timeout for 110 minutes for now as = 10m(download)+4*20m(find/extract file)+20m(ec-update with retry). | |
| - We will retry up to 5 times since there is flakiness on flash EC. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Sleep 60 seconds (Allow to fail) (ALWAYS_RUN) (time:'1m10s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:60 | |
| - name: Disable software write protection via servo (Allow to fail) (time:'1m0s') | |
| exec_name: cros_disable_software_write_protection_by_servo | |
| docs: | |
| - Disable software write protection(for flash firmware) via servo. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Flash AP (FW) with GBB 0x18 by servo (Allow to fail) (time:'1h30m0s') | |
| exec_name: cros_update_fw_with_fw_image_by_servo | |
| exec_args: | |
| - update_ap_attempt_count:3 | |
| - download_timeout:600 | |
| - gbb_flags:0x18 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download fw-image specified in stable version and flash AP to the DUT by servo | |
| - Set timeout for 90 minutes for now as = 10m(download)+2*20m(find/extract file)+40m(ap-update with retry). | |
| - We will retry up to 3 times since there may be flakiness on flash AP via servo. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Update fingerpprint FW from USB drive (ALWAYS_RUN) (time:'16m40s') | |
| exec_name: cros_install_in_recovery_mode | |
| exec_args: | |
| - badblocks_mode:not | |
| - run_custom_commands:true | |
| - boot_timeout:480 | |
| - boot_interval:10 | |
| - boot_retry:1 | |
| - halt_timeout:120 | |
| - custom_command_allowed_to_fail:true | |
| - custom_command_timeout:60 | |
| - custom_commands:flash_fp_mcu /opt/google/biod/fw/$(cros_config /fingerprint board)*.bin | |
| - ignore_reboot_failure:true | |
| - after_reboot_check:true | |
| - after_reboot_timeout:150 | |
| - after_reboot_allow_use_servo_reset:true | |
| docs: | |
| - The goal to force update fingerprint fw when devices booted from USB-stick | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Set fw_wp_state to force_off | |
| exec_name: servo_set | |
| exec_args: | |
| - command:fw_wp_state | |
| - string_value:force_off | |
| docs: | |
| - Force disable wp of FW by servo. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Install OS in recovery mode by booting from servo USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - DUT will be booted in recovery mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Boot DUT in recovery and install from USB-drive (ALWAYS_RUN) (time:'2h13m20s') | |
| exec_name: cros_install_in_recovery_mode | |
| exec_args: | |
| - run_tpm_reset:true | |
| - run_os_install:true | |
| - boot_timeout:480 | |
| - boot_interval:10 | |
| - boot_retry:2 | |
| - halt_timeout:120 | |
| - install_timeout:1200 | |
| - tpm_reset_timeout:60 | |
| - post_install_boot_time:15 | |
| - ignore_reboot_failure:true | |
| - badblocks_mode:auto | |
| - rw_badblocks_timeout:5400 | |
| - ro_badblocks_timeout:3600 | |
| - after_reboot_check:true | |
| - after_reboot_timeout:150 | |
| - after_reboot_allow_use_servo_reset:true | |
| docs: | |
| - 'This action installs the test image on DUT utilizing ' | |
| - 'the features of servo. DUT will be booted in recovery ' | |
| - 'mode. In some cases RO FW is not allowed to boot in ' | |
| - 'recovery mode with active PD, so we will change it to ' | |
| - sink-mode if required. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in recovery mode by booting from servo USB-drive (Flex) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - The action design only for Flex devices. | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - When DUT sees USB-key it will always try to boot from it. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Device does not have Intel AMT | |
| exec_name: sample_fail | |
| docs: | |
| - Verify that the device does not have Intel AMT (vPro). | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Direct USB-drive to DUT (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:dut_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to DUT. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Boot Flex from USB on next boot (ALWAYS_RUN) | |
| exec_name: cros_flex_usb_nextboot | |
| docs: | |
| - Use efibootmgr to boot from USB on the next boot. | |
| conditions: | |
| - name: Device has UEFI firmware (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:test -d /sys/firmware/efi | |
| - background:false | |
| docs: | |
| - Check if the device has UEFI firmware. | |
| - name: Power OFF DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_set | |
| exec_args: | |
| - command:power_state | |
| - string_value:off | |
| - timeout:30 | |
| docs: | |
| - Turn DUT OFF by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power ON DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_set | |
| exec_args: | |
| - command:power_state | |
| - string_value:on | |
| docs: | |
| - Turn DUT ON by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Print active devices (Allow to fail) (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:lsblk | |
| - background:false | |
| docs: | |
| - Print active devices visible for DUT. | |
| - name: Is Flex booted from USB-drive (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:is_running_from_installer |grep yes | |
| - background:false | |
| docs: | |
| - Check if device booted from USB in installer mode. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Run chromeos-install for Flex (ALWAYS_RUN) (time:'10m0s') | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:chromeos-install --dst $(lsblk --bytes --output NAME --paths -I 259 -n -d) --yes | |
| - background:false | |
| docs: | |
| - Run chromeos-install for Flex DUTs with detecting destination. | |
| - Flex device does not detect destination as part of chromeos-install script. | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power-off the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_off | |
| docs: | |
| - Power the DUT off using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Direct USB-drive to servo host (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:servo_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to servo-host. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Power-on the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_on | |
| docs: | |
| - Power the DUT on using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in recovery mode by booting from servo USB-drive (Flex with AMT) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - The action design only for Flex devices. | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - Uses Intel AMT (vPro) to power off and power on the DUT. | |
| - When DUT sees USB-key it will always try to boot from it. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Device has Intel AMT | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that the device has Intel AMT (vPro). | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Direct USB-drive to DUT (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:dut_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to DUT. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Power-off the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_off | |
| docs: | |
| - Power the DUT off using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power-on the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_on | |
| docs: | |
| - Power the DUT on using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Print active devices (Allow to fail) (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:lsblk | |
| - background:false | |
| docs: | |
| - Print active devices visible for DUT. | |
| - name: Is Flex booted from USB-drive (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:is_running_from_installer |grep yes | |
| - background:false | |
| docs: | |
| - Check if device booted from USB in installer mode. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Run chromeos-install for Flex (ALWAYS_RUN) (time:'10m0s') | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:chromeos-install --dst $(lsblk --bytes --output NAME --paths -I 259 -n -d) --yes | |
| - background:false | |
| docs: | |
| - Run chromeos-install for Flex DUTs with detecting destination. | |
| - Flex device does not detect destination as part of chromeos-install script. | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power-off the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_off | |
| docs: | |
| - Power the DUT off using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Direct USB-drive to servo host (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:servo_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to servo-host. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Power-on the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_on | |
| docs: | |
| - Power the DUT on using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in DEV mode by USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT after booking the DUT in dev mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Boot DUT from USB in DEV mode (ALWAYS_RUN) (time:'10m50s') | |
| exec_name: cros_dev_mode_boot_from_servo_usb_drive | |
| exec_args: | |
| - boot_retry:2 | |
| - boot_timeout:600 | |
| - retry_interval:1 | |
| - verify_usbkey_boot:true | |
| docs: | |
| - Restart and try to boot from USB-drive | |
| - First boot in dev mode can take time so set boot time to 10 minutes. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Run install after boot from USB-drive (ALWAYS_RUN) (time:'20m0s') | |
| exec_name: cros_run_chromeos_install_command_after_boot_usbdrive | |
| docs: | |
| - Perform install process when device booted from USB-drive. | |
| - name: Cold reset DUT by servo and wait to boot (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Cold reset device by servo and wait for DUT to become ping-able. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be pingable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ping | |
| docs: | |
| - Wait DUT to be pingable after some action on it. | |
| - Waiting time 150 seconds. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Reset power using servo if booted from USB | |
| exec_name: sample_pass | |
| docs: | |
| - 'This action will reboot the DUT using servo if device ' | |
| - 'is not booted after off/on performed as part of ' | |
| - re-imaging the device from USB device. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: DUT has correct cros image version | |
| exec_name: cros_is_on_stable_version | |
| docs: | |
| - Check whether the cros image version on the device is match expected. | |
| conditions: | |
| - name: Is it first deployment task (ALWAYS_RUN) | |
| exec_name: sample_fail | |
| docs: | |
| - Check if deployment check not need to be run. | |
| - If HWID or serial-number already collected from DUT then we already test it before. | |
| conditions: | |
| - name: Is HWID known (ALWAYS_RUN) | |
| exec_name: dut_has_hwid | |
| docs: | |
| - Check whether the DUT information includes its HWID. | |
| - name: Is serial-number known (ALWAYS_RUN) | |
| exec_name: dut_has_serial_number | |
| docs: | |
| - 'Check whether the DUT information includes its ' | |
| - serial number. | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| dependencies: | |
| - name: Device is SSHable (ALWAYS_RUN) (time:'15s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Verify that device is reachable by SSH. | |
| - Limited to 15 seconds. | |
| recoveries: | |
| - name: Cold reset by servo and wait for SSH (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This repair action will use servod command to reset power_state on the DUT. | |
| - 'TODO: (blocked by: b/221083688) Collect logs from a successfully repaired DUT.' | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Install OS in recovery mode by booting from servo USB-drive (no storage check) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - DUT will be booted in recovery mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Boot DUT in recovery and install from USB-drive (no storage check) (ALWAYS_RUN) (time:'2h13m20s') | |
| exec_name: cros_install_in_recovery_mode | |
| exec_args: | |
| - run_tpm_reset:true | |
| - run_os_install:true | |
| - boot_timeout:480 | |
| - boot_interval:10 | |
| - boot_retry:2 | |
| - halt_timeout:120 | |
| - install_timeout:1200 | |
| - tpm_reset_timeout:60 | |
| - post_install_boot_time:15 | |
| - ignore_reboot_failure:true | |
| - run_storage_checks:false | |
| - badblocks_mode:not | |
| - rw_badblocks_timeout:5400 | |
| - ro_badblocks_timeout:3600 | |
| - after_reboot_check:true | |
| - after_reboot_timeout:150 | |
| - after_reboot_allow_use_servo_reset:true | |
| docs: | |
| - 'This action installs the test image on DUT utilizing ' | |
| - 'the features of servo. DUT will be booted in recovery ' | |
| - 'mode. In some cases RO FW is not allowed to boot in ' | |
| - 'recovery mode with active PD, so we will change it to ' | |
| - sink-mode if required. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Update FW from fw-image by servo and wait for boot | |
| exec_name: sample_pass | |
| docs: | |
| - 'This action will repair the firmware on the DUT, and ' | |
| - 'then reboot and wait for the DUT to again become ' | |
| - 'available. This action exists to wrap these component ' | |
| - actions into a single repair action. | |
| conditions: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| dependencies: | |
| - name: Flash EC (FW) by servo (allowed failed) (Allow to fail) (time:'1h50m0s') | |
| exec_name: cros_update_fw_with_fw_image_by_servo | |
| exec_args: | |
| - update_ec_attempt_count:5 | |
| - download_timeout:600 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download fw-image specified in stable version and flash EC to the DUT by servo | |
| - Set timeout for 110 minutes for now as = 10m(download)+4*20m(find/extract file)+20m(ec-update with retry). | |
| - We will retry up to 5 times since there is flakiness on flash EC. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Sleep 60 seconds (Allow to fail) (ALWAYS_RUN) (time:'1m10s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:60 | |
| - name: Disable software write protection via servo (Allow to fail) (time:'1m0s') | |
| exec_name: cros_disable_software_write_protection_by_servo | |
| docs: | |
| - Disable software write protection(for flash firmware) via servo. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Flash AP (FW) with GBB 0x18 by servo (Allow to fail) (time:'1h30m0s') | |
| exec_name: cros_update_fw_with_fw_image_by_servo | |
| exec_args: | |
| - update_ap_attempt_count:3 | |
| - download_timeout:600 | |
| - gbb_flags:0x18 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download fw-image specified in stable version and flash AP to the DUT by servo | |
| - Set timeout for 90 minutes for now as = 10m(download)+2*20m(find/extract file)+40m(ap-update with retry). | |
| - We will retry up to 3 times since there may be flakiness on flash AP via servo. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Update fingerpprint FW from USB drive (ALWAYS_RUN) (time:'16m40s') | |
| exec_name: cros_install_in_recovery_mode | |
| exec_args: | |
| - badblocks_mode:not | |
| - run_custom_commands:true | |
| - boot_timeout:480 | |
| - boot_interval:10 | |
| - boot_retry:1 | |
| - halt_timeout:120 | |
| - custom_command_allowed_to_fail:true | |
| - custom_command_timeout:60 | |
| - custom_commands:flash_fp_mcu /opt/google/biod/fw/$(cros_config /fingerprint board)*.bin | |
| - ignore_reboot_failure:true | |
| - after_reboot_check:true | |
| - after_reboot_timeout:150 | |
| - after_reboot_allow_use_servo_reset:true | |
| docs: | |
| - The goal to force update fingerprint fw when devices booted from USB-stick | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Set fw_wp_state to force_off | |
| exec_name: servo_set | |
| exec_args: | |
| - command:fw_wp_state | |
| - string_value:force_off | |
| docs: | |
| - Force disable wp of FW by servo. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Install OS in recovery mode by booting from servo USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - DUT will be booted in recovery mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Boot DUT in recovery and install from USB-drive (ALWAYS_RUN) (time:'2h13m20s') | |
| exec_name: cros_install_in_recovery_mode | |
| exec_args: | |
| - run_tpm_reset:true | |
| - run_os_install:true | |
| - boot_timeout:480 | |
| - boot_interval:10 | |
| - boot_retry:2 | |
| - halt_timeout:120 | |
| - install_timeout:1200 | |
| - tpm_reset_timeout:60 | |
| - post_install_boot_time:15 | |
| - ignore_reboot_failure:true | |
| - badblocks_mode:auto | |
| - rw_badblocks_timeout:5400 | |
| - ro_badblocks_timeout:3600 | |
| - after_reboot_check:true | |
| - after_reboot_timeout:150 | |
| - after_reboot_allow_use_servo_reset:true | |
| docs: | |
| - 'This action installs the test image on DUT utilizing ' | |
| - 'the features of servo. DUT will be booted in recovery ' | |
| - 'mode. In some cases RO FW is not allowed to boot in ' | |
| - 'recovery mode with active PD, so we will change it to ' | |
| - sink-mode if required. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in recovery mode by booting from servo USB-drive (Flex) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - The action design only for Flex devices. | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - When DUT sees USB-key it will always try to boot from it. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Device does not have Intel AMT | |
| exec_name: sample_fail | |
| docs: | |
| - Verify that the device does not have Intel AMT (vPro). | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Direct USB-drive to DUT (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:dut_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to DUT. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Boot Flex from USB on next boot (ALWAYS_RUN) | |
| exec_name: cros_flex_usb_nextboot | |
| docs: | |
| - Use efibootmgr to boot from USB on the next boot. | |
| conditions: | |
| - name: Device has UEFI firmware (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:test -d /sys/firmware/efi | |
| - background:false | |
| docs: | |
| - Check if the device has UEFI firmware. | |
| - name: Power OFF DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_set | |
| exec_args: | |
| - command:power_state | |
| - string_value:off | |
| - timeout:30 | |
| docs: | |
| - Turn DUT OFF by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power ON DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_set | |
| exec_args: | |
| - command:power_state | |
| - string_value:on | |
| docs: | |
| - Turn DUT ON by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Print active devices (Allow to fail) (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:lsblk | |
| - background:false | |
| docs: | |
| - Print active devices visible for DUT. | |
| - name: Is Flex booted from USB-drive (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:is_running_from_installer |grep yes | |
| - background:false | |
| docs: | |
| - Check if device booted from USB in installer mode. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Run chromeos-install for Flex (ALWAYS_RUN) (time:'10m0s') | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:chromeos-install --dst $(lsblk --bytes --output NAME --paths -I 259 -n -d) --yes | |
| - background:false | |
| docs: | |
| - Run chromeos-install for Flex DUTs with detecting destination. | |
| - Flex device does not detect destination as part of chromeos-install script. | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power-off the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_off | |
| docs: | |
| - Power the DUT off using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Direct USB-drive to servo host (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:servo_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to servo-host. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Power-on the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_on | |
| docs: | |
| - Power the DUT on using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in recovery mode by booting from servo USB-drive (Flex with AMT) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - The action design only for Flex devices. | |
| - This action installs the test image on DUT utilizing the features of servo. | |
| - Uses Intel AMT (vPro) to power off and power on the DUT. | |
| - When DUT sees USB-key it will always try to boot from it. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Device has Intel AMT | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that the device has Intel AMT (vPro). | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| dependencies: | |
| - name: Servo USB-Key needs to be reflashed | |
| exec_name: sample_pass | |
| docs: | |
| - Check if it is time to download image to servo usbkey. | |
| - If so, then download the stable image to usbkey. | |
| conditions: | |
| - name: It is time to update USB-drive image | |
| exec_name: cros_is_time_to_force_download_image_to_usbkey | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:1 | |
| - repair_failed_interval:10 | |
| docs: | |
| - Check if it is time to force download image to usbkey | |
| - from the number of failed recoveries since last successful PARIS repair task. | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Download stable version OS image to servo usbkey if necessary (allow fail) (Allow to fail) (RUN_ONCE) | |
| exec_name: sample_pass | |
| docs: | |
| - This action will download model specific stable version OS image to servo usbkey. | |
| - The action will be skipped if the required image is already loaded. | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Stable version image is missing from servo usbkey | |
| exec_name: sample_fail | |
| docs: | |
| - This is a reverse action which fails when required image is already cached in servo usbkey. | |
| - The purpose is to serve as a condition of Download stable image to USB-key action, so that we don't do duplicate download. | |
| - If this action fails, it means the servo usbkey already have required stable_version OS image cached. | |
| conditions: | |
| - name: Servo usbkey has stable image | |
| exec_name: servo_usbkey_has_stable_image | |
| exec_args: | |
| - retry_count:3 | |
| - retry_interval:1 | |
| - usb_file_check:true | |
| docs: | |
| - Check if the usbkey has the stable_version OS image. | |
| - 'TODO: Collect data on the usual number of retries and tweak the default' | |
| dependencies: | |
| - name: servo_servod_echo_host | |
| exec_name: servo_servod_echo_host | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Direct USB-drive to DUT (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:dut_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to DUT. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Power-off the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_off | |
| docs: | |
| - Power the DUT off using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power-on the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_on | |
| docs: | |
| - Power the DUT on using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Print active devices (Allow to fail) (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:lsblk | |
| - background:false | |
| docs: | |
| - Print active devices visible for DUT. | |
| - name: Is Flex booted from USB-drive (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:is_running_from_installer |grep yes | |
| - background:false | |
| docs: | |
| - Check if device booted from USB in installer mode. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Run chromeos-install for Flex (ALWAYS_RUN) (time:'10m0s') | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:chromeos-install --dst $(lsblk --bytes --output NAME --paths -I 259 -n -d) --yes | |
| - background:false | |
| docs: | |
| - Run chromeos-install for Flex DUTs with detecting destination. | |
| - Flex device does not detect destination as part of chromeos-install script. | |
| dependencies: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Sleep 10 seconds (Allow to fail) (ALWAYS_RUN) (time:'11s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:10 | |
| - name: Power-off the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_off | |
| docs: | |
| - Power the DUT off using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Direct USB-drive to servo host (ALWAYS_RUN) (time:'20s') | |
| exec_name: servo_set | |
| exec_args: | |
| - command:image_usbkey_direction | |
| - string_value:servo_sees_usbkey | |
| docs: | |
| - Switch servo's USB-drive to point to servo-host. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Power-on the DUT using AMT (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_power_on | |
| docs: | |
| - Power the DUT on using Intel AMT (vPro). | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Intel AMT is present (ALWAYS_RUN) | |
| exec_name: cros_flex_amt_present | |
| docs: | |
| - Check if Intel AMT (vPro) is present. | |
| conditions: | |
| - name: Is Flex device (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:false | |
| docs: | |
| - Check that DUT is a Flex board | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in DEV mode by USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT after booking the DUT in dev mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Boot DUT from USB in DEV mode (ALWAYS_RUN) (time:'10m50s') | |
| exec_name: cros_dev_mode_boot_from_servo_usb_drive | |
| exec_args: | |
| - boot_retry:2 | |
| - boot_timeout:600 | |
| - retry_interval:1 | |
| - verify_usbkey_boot:true | |
| docs: | |
| - Restart and try to boot from USB-drive | |
| - First boot in dev mode can take time so set boot time to 10 minutes. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Run install after boot from USB-drive (ALWAYS_RUN) (time:'20m0s') | |
| exec_name: cros_run_chromeos_install_command_after_boot_usbdrive | |
| docs: | |
| - Perform install process when device booted from USB-drive. | |
| - name: Cold reset DUT by servo and wait to boot (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Cold reset device by servo and wait for DUT to become ping-able. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be pingable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ping | |
| docs: | |
| - Wait DUT to be pingable after some action on it. | |
| - Waiting time 150 seconds. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Reset power using servo if booted from USB | |
| exec_name: sample_pass | |
| docs: | |
| - 'This action will reboot the DUT using servo if device ' | |
| - 'is not booted after off/on performed as part of ' | |
| - re-imaging the device from USB device. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| recoveries: | |
| - name: Quick provision OS | |
| exec_name: sample_pass | |
| docs: | |
| - Install stable OS on the device. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Device is SSHable (ALWAYS_RUN) (time:'15s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Verify that device is reachable by SSH. | |
| - Limited to 15 seconds. | |
| - name: Internal storage is responsive | |
| exec_name: cros_is_file_system_writable | |
| exec_args: | |
| - paths:/mnt/stateful_partition,/var/tmp,/mnt/stateful_partition/encrypted | |
| docs: | |
| - Verify that internal storage is responsive | |
| dependencies: | |
| - name: Device is SSHable (ALWAYS_RUN) (time:'15s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Verify that device is reachable by SSH. | |
| - Limited to 15 seconds. | |
| dependencies: | |
| - name: Call provision for DUT (ALWAYS_RUN) (time:'1h0m0s') | |
| exec_name: cros_provision | |
| docs: | |
| - Call provision OS of the DUT. | |
| - name: Remove PROVISION repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION | |
| docs: | |
| - Remove a PROVISION repair-request. | |
| - name: Install OS in DEV mode, with force to DEV-mode | |
| exec_name: sample_pass | |
| docs: | |
| - Install OS on the device from USB-key when device is in DEV-mode. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| dependencies: | |
| - name: Set GBB flags to 0x18 by servo (Allow to fail) (time:'5m0s') | |
| exec_name: cros_set_gbb_by_servo | |
| exec_args: | |
| - gbb_flags:0x18 | |
| docs: | |
| - Force to set GBB flags to 0x18 to boot in DEV mode and enable to boot from USB-drive. | |
| - Allowed to fail as flags can applied but fail by some reason | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Install OS in DEV mode by USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT after booking the DUT in dev mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Boot DUT from USB in DEV mode (ALWAYS_RUN) (time:'10m50s') | |
| exec_name: cros_dev_mode_boot_from_servo_usb_drive | |
| exec_args: | |
| - boot_retry:2 | |
| - boot_timeout:600 | |
| - retry_interval:1 | |
| - verify_usbkey_boot:true | |
| docs: | |
| - Restart and try to boot from USB-drive | |
| - First boot in dev mode can take time so set boot time to 10 minutes. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Run install after boot from USB-drive (ALWAYS_RUN) (time:'20m0s') | |
| exec_name: cros_run_chromeos_install_command_after_boot_usbdrive | |
| docs: | |
| - Perform install process when device booted from USB-drive. | |
| - name: Cold reset DUT by servo and wait to boot (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Cold reset device by servo and wait for DUT to become ping-able. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be pingable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ping | |
| docs: | |
| - Wait DUT to be pingable after some action on it. | |
| - Waiting time 150 seconds. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in DEV mode with fresh image | |
| exec_name: sample_pass | |
| docs: | |
| - Download fresh usb image and Install OS from it in DEV-mode. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| dependencies: | |
| - name: Download stable image to USB-key (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Download lab stable image on servo USB-key | |
| - Download the image can take longer if labstation download parallel a few images. | |
| - This step is allowed to complete successfully even if some | |
| - ' errors happen during download because the image can already' | |
| - ' be present on the USB-drive.' | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Call servod to download image to USB-key (ALWAYS_RUN) (time:'50m0s') | |
| exec_name: servo_download_image_to_usb | |
| docs: | |
| - This action calls servod to download stable version OS image to servo USB-key. | |
| - name: Remove UPDATE_USBKEY_IMAGE repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:UPDATE_USBKEY_IMAGE | |
| docs: | |
| - Remove UPDATE_USBKEY_IMAGE from repair-requests. | |
| - name: Install OS in DEV mode by USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT after booking the DUT in dev mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Boot DUT from USB in DEV mode (ALWAYS_RUN) (time:'10m50s') | |
| exec_name: cros_dev_mode_boot_from_servo_usb_drive | |
| exec_args: | |
| - boot_retry:2 | |
| - boot_timeout:600 | |
| - retry_interval:1 | |
| - verify_usbkey_boot:true | |
| docs: | |
| - Restart and try to boot from USB-drive | |
| - First boot in dev mode can take time so set boot time to 10 minutes. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Run install after boot from USB-drive (ALWAYS_RUN) (time:'20m0s') | |
| exec_name: cros_run_chromeos_install_command_after_boot_usbdrive | |
| docs: | |
| - Perform install process when device booted from USB-drive. | |
| - name: Cold reset DUT by servo and wait to boot (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Cold reset device by servo and wait for DUT to become ping-able. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be pingable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ping | |
| docs: | |
| - Wait DUT to be pingable after some action on it. | |
| - Waiting time 150 seconds. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Install OS in DEV mode, with force to DEV-mode with test firmware | |
| exec_name: sample_pass | |
| docs: | |
| - Second attempt to install image in DEV mode | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| dependencies: | |
| - name: Flash EC (FW) by servo (time:'1h50m0s') | |
| exec_name: cros_update_fw_with_fw_image_by_servo | |
| exec_args: | |
| - update_ec_attempt_count:5 | |
| - download_timeout:600 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download fw-image specified in stable version and flash EC to the DUT by servo | |
| - Set timeout for 110 minutes for now as = 10m(download)+4*20m(find/extract file)+20m(ec-update with retry). | |
| - We will retry up to 5 times since there is flakiness on flash EC. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Sleep 60 seconds (Allow to fail) (ALWAYS_RUN) (time:'1m10s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:60 | |
| - name: Disable software write protection via servo (Allow to fail) (time:'1m0s') | |
| exec_name: cros_disable_software_write_protection_by_servo | |
| docs: | |
| - Disable software write protection(for flash firmware) via servo. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Flash AP (FW) with GBB 0x18 by servo (Allow to fail) (time:'1h30m0s') | |
| exec_name: cros_update_fw_with_fw_image_by_servo | |
| exec_args: | |
| - update_ap_attempt_count:3 | |
| - download_timeout:600 | |
| - gbb_flags:0x18 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download fw-image specified in stable version and flash AP to the DUT by servo | |
| - Set timeout for 90 minutes for now as = 10m(download)+2*20m(find/extract file)+40m(ap-update with retry). | |
| - We will retry up to 3 times since there may be flakiness on flash AP via servo. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Recovery version has firmware image path | |
| exec_name: has_stable_version_fw_image | |
| docs: | |
| - Verify that recovery version has firmware image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Sleep 60 seconds (Allow to fail) (ALWAYS_RUN) (time:'1m10s') | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:60 | |
| - name: Install OS in DEV mode by USB-drive (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - This action installs the test image on DUT after booking the DUT in dev mode. | |
| conditions: | |
| - name: Recovery version has OS image path | |
| exec_name: has_stable_version_cros_image | |
| docs: | |
| - Verify that recovery version has OS image path. | |
| dependencies: | |
| - name: Has a stable-version service (RUN_ONCE) | |
| exec_name: has_stable_version_service_path | |
| docs: | |
| - Verify if we have access to the service provided access to the stable version | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Is a Chromebook (RUN_ONCE) | |
| exec_name: dut_check_board | |
| exec_args: | |
| - string_values:aurora,reven | |
| - invert_result:true | |
| docs: | |
| - Check that DUT is a Chromebook by checking for non-Chromebook boards | |
| - name: Is servo USB key detected | |
| exec_name: servo_usbkey_is_detected | |
| exec_args: | |
| - file_check:true | |
| docs: | |
| - The action used as codiion. | |
| - The action verify that USB-key is detected and readable. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Boot DUT from USB in DEV mode (ALWAYS_RUN) (time:'10m50s') | |
| exec_name: cros_dev_mode_boot_from_servo_usb_drive | |
| exec_args: | |
| - boot_retry:2 | |
| - boot_timeout:600 | |
| - retry_interval:1 | |
| - verify_usbkey_boot:true | |
| docs: | |
| - Restart and try to boot from USB-drive | |
| - First boot in dev mode can take time so set boot time to 10 minutes. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Run install after boot from USB-drive (ALWAYS_RUN) (time:'20m0s') | |
| exec_name: cros_run_chromeos_install_command_after_boot_usbdrive | |
| docs: | |
| - Perform install process when device booted from USB-drive. | |
| - name: Cold reset DUT by servo and wait to boot (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Cold reset device by servo and wait for DUT to become ping-able. | |
| conditions: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| dependencies: | |
| - name: Cold reset DUT by servo (ALWAYS_RUN) | |
| exec_name: servo_power_state_reset | |
| exec_args: | |
| - timeout:30 | |
| - more_logs:true | |
| docs: | |
| - Cold reset device by servo and do not wait. | |
| dependencies: | |
| - name: Is servod running (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Verify that servo host specified in setup and servod is running. | |
| dependencies: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Verify servod is responsive (ALWAYS_RUN) (time:'10s') | |
| exec_name: servod_echo | |
| exec_args: | |
| - ssh_check:false | |
| conditions: | |
| - name: Setup has servo info | |
| exec_name: dut_servo_host_present | |
| - name: Wait to be pingable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ping | |
| docs: | |
| - Wait DUT to be pingable after some action on it. | |
| - Waiting time 150 seconds. | |
| - name: Wait to be SSHable (normal boot) (ALWAYS_RUN) (time:'2m30s') | |
| exec_name: cros_ssh | |
| docs: | |
| - Try to wait device to be sshable after the device being rebooted. | |
| - Waiting time 150 seconds. | |
| - name: Remove REIMAGE_BY_USBKEY repair-request (ALWAYS_RUN) | |
| exec_name: dut_remove_repair_requests | |
| exec_args: | |
| - requests:PROVISION,REIMAGE_BY_USBKEY | |
| docs: | |
| - Remove REIMAGE_BY_USBKEY and PROVISION repair-requests. | |
| - name: Audit storage (SMART only) (Allow to fail) | |
| exec_name: cros_audit_storage_smart | |
| docs: | |
| - Quick audit internal storage by reading SMART data. | |
| - The check updates storage state. | |
| - The check is not critical as update storage state. | |
| - name: Audit device storage using badblocks (Allow to fail) (time:'1h40m0s') | |
| exec_name: cros_audit_storage_bad_blocks | |
| exec_args: | |
| - badblocks_mode:auto | |
| - rw_badblocks_timeout:5400 | |
| - ro_badblocks_timeout:3600 | |
| docs: | |
| - Use the badblocks command to audit the storage on the DUT |