| plans: | |
| - name: cros | |
| criticalactions: | |
| - name: 'Set state: repair_failed (RUN_ONCE)' | |
| exec_name: dut_set_state | |
| exec_args: | |
| - state:repair_failed | |
| 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: Power cycle DUT by RPM and wait (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Perform RPM cycle and wait to device to boot back. | |
| conditions: | |
| - name: has_rpm_info | |
| exec_name: has_rpm_info | |
| dependencies: | |
| - name: rpm_power_cycle | |
| exec_name: rpm_power_cycle | |
| - 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: Ensure firmware is in good state | |
| exec_name: cros_is_firmware_in_good_state | |
| docs: | |
| - Ensure that firmware is in good state. | |
| conditions: | |
| - name: dut_is_not_browser_legacy_duts | |
| exec_name: dut_is_not_browser_legacy_duts | |
| dependencies: | |
| - 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. | |
| recoveries: | |
| - name: Power cycle DUT by RPM and wait (ALWAYS_RUN) | |
| exec_name: sample_pass | |
| docs: | |
| - Perform RPM cycle and wait to device to boot back. | |
| conditions: | |
| - name: has_rpm_info | |
| exec_name: has_rpm_info | |
| dependencies: | |
| - name: rpm_power_cycle | |
| exec_name: rpm_power_cycle | |
| - 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. | |
| 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: Repair by powerwash | |
| exec_name: sample_pass | |
| docs: | |
| - Install the stable test image designated for the DUT. | |
| conditions: | |
| - 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: Write factory-install-reset to file system (Allow to fail) | |
| exec_name: cros_run_shell_command | |
| exec_args: | |
| - echo "fast safe" > /mnt/stateful_partition/factory_install_reset | |
| - name: Simple reboot (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:reboot | |
| - background:true | |
| docs: | |
| - Simple un-blocker reboot. | |
| 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. | |
| - 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: 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. | |
| recoveries: | |
| - name: Fix FW on the DUT to match stable-version and wait to boot | |
| exec_name: sample_pass | |
| docs: | |
| - Update firmware from the host and reboot, then wait for host be available for SSH. | |
| dependencies: | |
| - name: Fix FW on the DUT to match stable-version (Allow to fail) (time:'2h0m0s') | |
| exec_name: cros_update_firmware_from_firmware_image | |
| exec_args: | |
| - mode:recovery | |
| - force:true | |
| - update_ec_attempt_count:1 | |
| - update_ap_attempt_count:1 | |
| - updater_timeout:600 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download firmware image based on stable_version and install via firmware updater from DUT | |
| - Update FW required the DUT to be run on stable-version OS. | |
| - The reboot is not triggered as part of the action. | |
| - Set timeout to 120 minutes = 10 minutes for download + 100 minutes for find and extract AP/EC images + 10 minutes for run updater. | |
| 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: 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: Provision OS if needed | |
| exec_name: sample_pass | |
| docs: | |
| - Perform provision OS if device is not running on it. | |
| 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: DUT not on stable version | |
| exec_name: cros_not_on_stable_version | |
| docs: | |
| - Confirm that DUT does not have 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. | |
| - 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: Disable software-controlled write-protect for 'internal' (Allow to fail) (ALWAYS_RUN) (time:'5m0s') | |
| exec_name: cros_disable_fprom_write_protect | |
| exec_args: | |
| - fprom:internal | |
| docs: | |
| - Disable write-protect fprom 'internal'. | |
| 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. | |
| - name: Disable software-controlled write-protect for 'ec' (Allow to fail) (ALWAYS_RUN) (time:'5m0s') | |
| exec_name: cros_disable_fprom_write_protect | |
| exec_args: | |
| - fprom:ec | |
| docs: | |
| - Disable write-protect fprom 'ec'. | |
| 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. | |
| - name: Simple reboot (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:reboot | |
| - background:true | |
| docs: | |
| - Simple un-blocker reboot. | |
| 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. | |
| - 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: RO Firmware validations without servo | |
| exec_name: cros_is_on_ro_firmware_stable_version | |
| exec_args: | |
| - only_check_numbers:true | |
| docs: | |
| - Check if the version of RO firmware on DUT matches the stable firmware version. | |
| conditions: | |
| - name: dut_is_not_browser_legacy_duts | |
| exec_name: dut_is_not_browser_legacy_duts | |
| - name: has_stable_version_fw_version | |
| exec_name: has_stable_version_fw_version | |
| - name: has_stable_version_fw_image | |
| exec_name: has_stable_version_fw_image | |
| recoveries: | |
| - name: Fix FW on the DUT to match stable-version and wait to boot | |
| exec_name: sample_pass | |
| docs: | |
| - Update firmware from the host and reboot, then wait for host be available for SSH. | |
| dependencies: | |
| - name: Fix FW on the DUT to match stable-version (Allow to fail) (time:'2h0m0s') | |
| exec_name: cros_update_firmware_from_firmware_image | |
| exec_args: | |
| - mode:recovery | |
| - force:true | |
| - update_ec_attempt_count:1 | |
| - update_ap_attempt_count:1 | |
| - updater_timeout:600 | |
| - use_cache_extractor:true | |
| - use_fw_targets_from_inventory:true | |
| docs: | |
| - Download firmware image based on stable_version and install via firmware updater from DUT | |
| - Update FW required the DUT to be run on stable-version OS. | |
| - The reboot is not triggered as part of the action. | |
| - Set timeout to 120 minutes = 10 minutes for download + 100 minutes for find and extract AP/EC images + 10 minutes for run updater. | |
| 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: 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: Provision OS if needed | |
| exec_name: sample_pass | |
| docs: | |
| - Perform provision OS if device is not running on it. | |
| 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: DUT not on stable version | |
| exec_name: cros_not_on_stable_version | |
| docs: | |
| - Confirm that DUT does not have 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. | |
| - 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: Disable software-controlled write-protect for 'internal' (Allow to fail) (ALWAYS_RUN) (time:'5m0s') | |
| exec_name: cros_disable_fprom_write_protect | |
| exec_args: | |
| - fprom:internal | |
| docs: | |
| - Disable write-protect fprom 'internal'. | |
| 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. | |
| - name: Disable software-controlled write-protect for 'ec' (Allow to fail) (ALWAYS_RUN) (time:'5m0s') | |
| exec_name: cros_disable_fprom_write_protect | |
| exec_args: | |
| - fprom:ec | |
| docs: | |
| - Disable write-protect fprom 'ec'. | |
| 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. | |
| - name: Simple reboot (ALWAYS_RUN) | |
| exec_name: cros_run_command | |
| exec_args: | |
| - host:dut | |
| - command:reboot | |
| - background:true | |
| docs: | |
| - Simple un-blocker reboot. | |
| 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. | |
| - 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: Has repair-request for re-provision | |
| exec_name: dut_has_any_repair_requests | |
| exec_args: | |
| - requests:PROVISION | |
| docs: | |
| - Check if PROVISION repair-request is present. | |
| 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 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: Install OS in recovery mode by booting from servo USB-drive (with FW update) (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: 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 | |
| - 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: 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: 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, 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: Update provisioned info (ALWAYS_RUN) | |
| exec_name: cros_update_provision_info | |
| exec_args: | |
| - update_job_repo_url:true | |
| docs: | |
| - Update cros_version and job_repo_url fields of provision info. | |
| recoveries: | |
| - name: Sleep 1s (Allow to fail) (ALWAYS_RUN) | |
| exec_name: sample_sleep | |
| exec_args: | |
| - sleep:1 | |
| - name: 'Set state: ready (RUN_ONCE)' | |
| exec_name: dut_set_state | |
| exec_args: | |
| - state:ready | |
| docs: | |
| - The action set devices with state ready for the testing. | |
| dependencies: | |
| - name: All repair-requests resolved | |
| exec_name: dut_has_no_repair_requests | |
| docs: | |
| - Checks if all repair requests are resolved | |
| - name: Reset DUT-state reason | |
| exec_name: dut_reset_state_reason | |
| docs: | |
| - Reset DUT-state-reason for good DUT as it becomes stale. | |
| - name: close (Allow to fail) | |
| criticalactions: | |
| - name: Update DUT state for failures more than threshold | |
| exec_name: dut_set_state_reason | |
| exec_args: | |
| - allow_override:false | |
| - reason:REPAIR_RETRY_REACHED_THRESHOLD | |
| docs: | |
| - 'Set the DUT state to the value passed in the ' | |
| - extra args. | |
| conditions: | |
| - name: DUT state is repair_failed | |
| exec_name: dut_state_match | |
| exec_args: | |
| - state:repair_failed | |
| docs: | |
| - Check if the DUT's state is in repair_failed state, if not then fail. | |
| - name: Failure count above threshold | |
| exec_name: metrics_check_task_failures | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:6 | |
| docs: | |
| - 'Check if the number of recovery task failures ' | |
| - on a servo-attached DUT is greater than a threshold | |
| conditions: | |
| - name: Servo-host known | |
| exec_name: dut_servo_host_present | |
| - name: Failure count above threshold (Servo-less) | |
| exec_name: metrics_check_task_failures | |
| exec_args: | |
| - task_name:recovery | |
| - repair_failed_count:3 | |
| docs: | |
| - 'Check if the number of recovery task failures ' | |
| - on a non-servo-attached DUT is greater than a threshold | |
| conditions: | |
| - name: No Servo-host | |
| exec_name: sample_fail | |
| conditions: | |
| - name: Servo-host known | |
| exec_name: dut_servo_host_present | |
| - name: 'Set state: needs_manual_repair (Allow to fail) (ALWAYS_RUN)' | |
| exec_name: dut_set_state | |
| exec_args: | |
| - state:needs_manual_repair | |
| docs: | |
| - Set DUT state as needs_manual_repair. |