compatibility: 2
device: !!python/object/new:lava_dispatcher.device.NewDevice
  dictitems:
    actions:
      boot:
        connections: {lxc: null, serial: null}
        methods:
          fastboot: [reboot]
          minimal: null
          ssh: null
          u-boot:
            mmc:
              commands: [run findfdt, 'setenv console ttyS2,115200n8', setenv mmcdev
                  1, 'setenv bootpart 1:e', run mmcboot]
            nbd:
              commands: [setenv autoload no, setenv initrd_high 0xffffffff, setenv
                  fdt_high 0xffffffff, dhcp, 'setenv serverip {SERVER_IP}', 'tftp
                  {KERNEL_ADDR} {KERNEL}', 'tftp {RAMDISK_ADDR} {RAMDISK}', 'setenv
                  initrd_size ${filesize}', 'tftp {DTB_ADDR} {DTB}', 'setenv bootargs
                  ''console=ttyS2,115200n8 rw nbd.server={NBDSERVERIP} nbd.port={NBDSERVERPORT}
                  root=/dev/ram0 ramdisk_size=16384 rootdelay=7   ip=dhcp verbose
                  earlyprintk systemd.log_color=false ${extraargs} rw''', '{BOOTX}']
            nfs:
              commands: [setenv autoload no, setenv initrd_high 0xffffffff, setenv
                  fdt_high 0xffffffff, dhcp, 'setenv serverip {SERVER_IP}', 'tftp
                  {KERNEL_ADDR} {KERNEL}', 'tftp {RAMDISK_ADDR} {RAMDISK}', 'setenv
                  initrd_size ${filesize}', 'tftp {DTB_ADDR} {DTB}', 'setenv bootargs
                  ''console=ttyS2,115200n8 root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard,intr  ip=dhcp''',
                '{BOOTX}']
            parameters: &id007 {bootloader_prompt: =>, interrupt_char: ' ', interrupt_prompt: Press
                SPACE to abort autoboot, mkimage_arch: arm, needs_interrupt: true}
            ramdisk:
              commands: [setenv autoload no, setenv initrd_high 0xffffffff, setenv
                  fdt_high 0xffffffff, dhcp, 'setenv serverip {SERVER_IP}', 'tftp
                  {KERNEL_ADDR} {KERNEL}', 'tftp {RAMDISK_ADDR} {RAMDISK}', 'setenv
                  initrd_size ${filesize}', 'tftp {DTB_ADDR} {DTB}', 'setenv bootargs
                  ''console=ttyS2,115200n8 root=/dev/ram0  ip=dhcp''', '{BOOTX}']
            sata:
              commands: [scsi scan, setenv autoload no, 'load scsi {ROOT_PART} {KERNEL_ADDR}
                  {KERNEL}', 'load scsi {ROOT_PART} {RAMDISK_ADDR} {RAMDISK}; setenv
                  initrd_size ${filesize}', 'load scsi {ROOT_PART} {DTB_ADDR} {DTB}',
                'setenv bootargs ''console=ttyS2,115200n8 root={ROOT}  ip=dhcp''',
                '{BOOTX}']
            ums:
              commands: [ums 0 mmc 0]
            usb:
              commands: [usb start, setenv autoload no, 'load usb 0:{ROOT_PART} {KERNEL_ADDR}
                  {KERNEL}', 'load usb 0:{ROOT_PART} {RAMDISK_ADDR} {RAMDISK}', 'setenv
                  initrd_size ${filesize}', 'load usb 0:{ROOT_PART} {DTB_ADDR} {DTB}',
                'console=ttyS2,115200n8 root={ROOT}  ip=dhcp', '{BOOTX}']
      deploy:
        connections: {lxc: null, serial: null}
        methods:
          fastboot: null
          lxc: null
          nbd: null
          overlay: null
          ssh:
            host: ''
            identity_file: dynamic_vm_keys/lava
            options: [-o, Compression=yes, -o, PasswordAuthentication=no, -o, LogLevel=FATAL]
            port: 22
            user: root
          tftp: null
          u-boot:
            parameters:
              bootloader_prompt: =>
              fastboot:
                commands: [fastboot 1]
              interrupt_char: null
              interrupt_prompt: Press SPACE to abort autoboot
              send_char: false
          usb: null
        parameters: {add_header: u-boot, append_dtb: false, mkimage_arch: arm, use_xip: false}
    adb_serial_number: '0000000000'
    commands:
      connections:
        ttyUSB1:
          connect: telnet localhost 2001
          tags: [primary]
      hard_reset: [/usr/local/lab-scripts/power --command reboot]
      power_off: [/usr/local/lab-scripts/power --command off]
      power_on: [/usr/local/lab-scripts/power --command on]
    constants:
      default-shell-prompt: 'lava-test: # '
      grub:
        error-messages: ['error: missing (.*) symbol.']
        interrupt-character: c
        interrupt-newline: false
        interrupt-prompt: for a command-line
      grub-efi:
        error-messages: [Undefined OpCode Exception PC at, Synchronous Exception at,
          'error: missing (.*) symbol.']
        interrupt-character: c
        interrupt-prompt: for a command-line
      ipxe:
        error-messages: [No configuration methods succeeded, Connection timed out]
        interrupt-prompt: Press Ctrl-B for the iPXE command line
        interrupt_ctrl_list: [b]
      kernel-start-message: Linux version [0-9]
      posix: {lava_test_results_dir: /lava-%s, lava_test_sh_cmd: /bin/sh, lava_test_shell_file: ~/.bashrc}
      shutdown-message: The system is going down for reboot NOW
      spawn_maxread: '4092'
      u-boot:
        error-messages: [Resetting CPU, Must RESET board to recover, TIMEOUT, Retry
            count exceeded, 'ERROR: The remote end did not respond in time.', Invalid
            partition]
        final-message: Starting kernel
        interrupt-character: ' '
        interrupt-prompt: Hit any key to stop autoboot
        interrupt_ctrl_list: []
    device_info:
    - {board_id: '''0000000000'''}
    fastboot_options: []
    fastboot_serial_number: '0000000000'
    fastboot_via_uboot: true
    flash_cmds_order: [update, ptable, partition, hyp, modem, rpm, sbl1, sbl2, sec,
      tz, aboot, boot, rootfs, vendor, system, cache, userdata]
    parameters:
      bootm: {dtb: '0x88000000', kernel: '0x82000000', ramdisk: '0x88080000'}
      bootz: {dtb: '0x88000000', kernel: '0x82000000', ramdisk: '0x88080000'}
      pass: null
      uimage: {dtb: '0x88000000', kernel: '0x82000000', ramdisk: '0x88080000'}
      zimage: {dtb: '0x88000000', kernel: '0x82000000', ramdisk: '0x88080000'}
    power_state: 'off'
    timeouts:
      actions:
        apply-overlay-image: {minutes: 2}
        auto-login-action: {minutes: 2}
        boot-image-retry: {minutes: 2}
        boot-qemu-image: {minutes: 2}
        bootloader-action: {minutes: 3}
        bootloader-commands: {minutes: 3}
        bootloader-interrupt: {seconds: 30}
        bootloader-retry: {minutes: 3}
        dd-image: {minutes: 10}
        download-retry: {minutes: 5}
        flash-uboot-ums: {minutes: 20}
        http-download: {minutes: 5}
        lava-test-shell: {minutes: 3}
        nfs-deploy: {minutes: 10}
        power-off: {seconds: 5}
        u-boot-interrupt: {seconds: 30}
        uboot-action: {minutes: 3}
        uboot-retry: {minutes: 3}
        umount-retry: {seconds: 45}
      connections:
        auto-login-action: {minutes: 2}
        bootloader-commands: {seconds: 30}
        bootloader-interrupt: {seconds: 30}
        dd-image: {minutes: 10}
        lava-test-shell: {seconds: 10}
        u-boot-interrupt: {seconds: 30}
        uboot-retry: {seconds: 30}
job:
  actions:
  - deploy:
      deployment_data: {TESTER_PS1: 'linaro-test [rc=$(echo \$?)]# ', TESTER_PS1_INCLUDES_RC: true,
        TESTER_PS1_PATTERN: 'linaro-test \[rc=(\d+)\]# ', boot_cmds: boot_cmds, distro: debian,
        lava_test_dir: /lava-%s, lava_test_results_dir: /lava-%s, lava_test_results_part_attr: root_part,
        lava_test_sh_cmd: /bin/bash, lava_test_shell_file: ~/.bashrc, line_separator: '

          ', tar_flags: --warning no-timestamp}
      dtb: {url: 'http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/dtbs/am57xx-beagle-x15-revb1.dtb',
        yaml_line: 3}
      kernel: {type: zimage, url: 'http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/vmlinuz',
        yaml_line: 4}
      modules: {compression: gz, url: 'http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/modules.tar.gz',
        yaml_line: 5}
      namespace: common
      nfsrootfs: {compression: gz, url: 'http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/stretch-armhf-nfs.tar.gz',
        yaml_line: 6}
      os: debian
      ramdisk:
        add-header: u-boot
        compression: gz
        timeout: {minutes: 3, yaml_line: 11}
        url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/initramfs.cpio.gz
        yaml_line: 8
      test_info: &id001
        common:
        - class: !!python/name:lava_dispatcher.actions.test.shell.TestShell ''
          parameters: &id002
            definitions: &id003
            - {from: git, name: smoke-tests, path: lava-test-shell/smoke-tests-basic.yaml,
              repository: 'http://git.linaro.org/lava-team/lava-functional-tests.git',
              yaml_line: 24}
            namespace: common
            stage: 0
            test_info: *id001
            timeout: {minutes: 5, yaml_line: 25}
            yaml_line: 21
      timeout: {minutes: 6, yaml_line: 13}
      to: tftp
      yaml_line: 2
  - boot:
      auto_login: {login_prompt: 'login:', username: root, yaml_line: 16}
      commands: nfs
      method: u-boot
      namespace: common
      prompts: ['root@stretch:']
      test_info: *id001
      timeout: {minutes: 3, yaml_line: 20}
      yaml_line: 15
  - test: *id002
  compatibility: 0
  device_type: x15
  dispatcher: {}
  env_dut: null
  job_name: x15 standard NFS health check
  metadata: {build-console: 'https://ci.linaro.org/view/lava-ci/job/lava-debian-armmp-armhf/1/console',
    build-readme: 'http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/debian-armmp-armhf-readme.html',
    build-script: 'http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/armmp-nfs.sh',
    job.original: 'http://example.com/scheduler/job/69', path: health-checks/x15-beagle-health.yaml,
    source: 'https://git.linaro.org/lava-team/refactoring.git', yaml_line: 29}
  priority: medium
  timeouts:
    action: {minutes: 5, yaml_line: 36}
    connection: {minutes: 2, yaml_line: 37}
    job: {minutes: 10, yaml_line: 38}
    yaml_line: 35
  visibility: public
  yaml_line: 1
pipeline:
- data: &id004
    common:
      test-definition:
        test-definition:
          test_list: &id006
          - *id003
          testdef_index: [smoke-tests]
      tftp-deploy:
        tftp: {ramdisk: true, tftp_dir: /srv/tftp/70/tftp-deploy-awlm16p1}
  description: download files and deploy using tftp
  level: '1'
  max_retries: 1
  name: tftp-deploy
  pipeline:
  - data: *id004
    description: download with retry
    key: ramdisk
    level: '1.1'
    max_retries: 3
    name: download-retry
    path: /srv/tftp/70/tftp-deploy-awlm16p1
    pipeline:
    - data: *id004
      decompress_command_map: {bz2: bunzip2, gz: gunzip, xz: unxz}
      description: use http to download the file
      key: ramdisk
      level: 1.1.1
      max_retries: 1
      name: http-download
      path: /srv/tftp/70/tftp-deploy-awlm16p1/ramdisk
      section: deploy
      size: -1
      summary: http download
      timeout: {duration: 360, name: http-download}
      timeout_exception: &id005 !!python/name:lava_common.exceptions.JobError ''
      url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/initramfs.cpio.gz
      valid: true
    section: deploy
    sleep: 1
    summary: download-retry
    timeout: {duration: 360, name: download-retry}
    timeout_exception: *id005
    uniquify: true
    valid: true
  - data: *id004
    description: download with retry
    key: kernel
    level: '1.2'
    max_retries: 3
    name: download-retry
    path: /srv/tftp/70/tftp-deploy-awlm16p1
    pipeline:
    - data: *id004
      decompress_command_map: {bz2: bunzip2, gz: gunzip, xz: unxz}
      description: use http to download the file
      key: kernel
      level: 1.2.1
      max_retries: 1
      name: http-download
      path: /srv/tftp/70/tftp-deploy-awlm16p1/kernel
      section: deploy
      size: -1
      summary: http download
      timeout: {duration: 360, name: http-download}
      timeout_exception: *id005
      url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/vmlinuz
      valid: true
    section: deploy
    sleep: 1
    summary: download-retry
    timeout: {duration: 360, name: download-retry}
    timeout_exception: *id005
    uniquify: true
    valid: true
  - data: *id004
    description: download with retry
    key: dtb
    level: '1.3'
    max_retries: 3
    name: download-retry
    path: /srv/tftp/70/tftp-deploy-awlm16p1
    pipeline:
    - data: *id004
      decompress_command_map: {bz2: bunzip2, gz: gunzip, xz: unxz}
      description: use http to download the file
      key: dtb
      level: 1.3.1
      max_retries: 1
      name: http-download
      path: /srv/tftp/70/tftp-deploy-awlm16p1/dtb
      section: deploy
      size: -1
      summary: http download
      timeout: {duration: 360, name: http-download}
      timeout_exception: *id005
      url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/dtbs/am57xx-beagle-x15-revb1.dtb
      valid: true
    section: deploy
    sleep: 1
    summary: download-retry
    timeout: {duration: 360, name: download-retry}
    timeout_exception: *id005
    uniquify: true
    valid: true
  - data: *id004
    description: download with retry
    key: nfsrootfs
    level: '1.4'
    max_retries: 3
    name: download-retry
    path: /srv/tftp/70/tftp-deploy-awlm16p1
    pipeline:
    - data: *id004
      decompress_command_map: {bz2: bunzip2, gz: gunzip, xz: unxz}
      description: use http to download the file
      key: nfsrootfs
      level: 1.4.1
      max_retries: 1
      name: http-download
      path: /srv/tftp/70/tftp-deploy-awlm16p1/nfsrootfs
      section: deploy
      size: -1
      summary: http download
      timeout: {duration: 360, name: http-download}
      timeout_exception: *id005
      url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/stretch-armhf-nfs.tar.gz
      valid: true
    section: deploy
    sleep: 1
    summary: download-retry
    timeout: {duration: 360, name: download-retry}
    timeout_exception: *id005
    uniquify: true
    valid: true
  - data: *id004
    description: download with retry
    key: modules
    level: '1.5'
    max_retries: 3
    name: download-retry
    path: /srv/tftp/70/tftp-deploy-awlm16p1
    pipeline:
    - data: *id004
      decompress_command_map: {bz2: bunzip2, gz: gunzip, xz: unxz}
      description: use http to download the file
      key: modules
      level: 1.5.1
      max_retries: 1
      name: http-download
      path: /srv/tftp/70/tftp-deploy-awlm16p1/modules
      section: deploy
      size: -1
      summary: http download
      timeout: {duration: 360, name: http-download}
      timeout_exception: *id005
      url: http://images.validation.linaro.org/snapshots.linaro.org/components/lava/standard/debian/stretch/armhf/3/modules.tar.gz
      valid: true
    section: deploy
    sleep: 1
    summary: download-retry
    timeout: {duration: 360, name: download-retry}
    timeout_exception: *id005
    uniquify: true
    valid: true
  - data: *id004
    description: extract ramdisk or nfsrootfs in preparation for lava overlay
    level: '1.6'
    max_retries: 1
    name: prepare-tftp-overlay
    pipeline:
    - data: *id004
      description: unpack nfsrootfs
      extra_compression: [xz]
      file_key: nfsroot
      level: 1.6.1
      max_retries: 1
      name: extract-nfsrootfs
      param_key: nfsrootfs
      section: deploy
      summary: unpack nfsrootfs, ready to apply lava overlay
      timeout: {duration: 360, name: extract-nfsrootfs}
      timeout_exception: *id005
      use_tarfile: true
      valid: true
    - data: *id004
      description: add lava scripts during deployment for test shell use
      lava_test_dir: /usr/local/lib/python3.5/dist-packages/lava-2018.7.post1-py3.5.egg/lava_dispatcher/lava_test_shell
      level: 1.6.2
      max_retries: 1
      name: lava-overlay
      pipeline:
      - data: *id004
        description: include public key in overlay and authorize root user
        level: 1.6.2.1
        max_retries: 1
        name: ssh-authorize
        section: deploy
        summary: add public key to authorized_keys
        timeout: {duration: 360, name: ssh-authorize}
        timeout_exception: *id005
        valid: true
      - data: *id004
        description: Populate specific vland scripts for tests to lookup vlan data.
        lava_test_dir: /usr/local/lib/python3.5/dist-packages/lava-2018.7.post1-py3.5.egg/lava_dispatcher/lava_test_shell
        lava_vland_cache_file: /tmp/lava_vland_cache.txt
        lava_vland_test_dir: /usr/local/lib/python3.5/dist-packages/lava-2018.7.post1-py3.5.egg/lava_dispatcher/lava_test_shell/vland
        level: 1.6.2.2
        max_retries: 1
        name: lava-vland-overlay
        protocol: lava-vland
        section: deploy
        summary: Add files detailing vlan configuration.
        timeout: {duration: 360, name: lava-vland-overlay}
        timeout_exception: *id005
        valid: true
        xmod: 493
      - data: *id004
        description: add lava scripts during deployment for multinode test shell use
        lava_multi_node_cache_file: /tmp/lava_multi_node_cache.txt
        lava_multi_node_test_dir: /usr/local/lib/python3.5/dist-packages/lava-2018.7.post1-py3.5.egg/lava_dispatcher/lava_test_shell/multi_node
        lava_test_dir: /usr/local/lib/python3.5/dist-packages/lava-2018.7.post1-py3.5.egg/lava_dispatcher/lava_test_shell
        level: 1.6.2.3
        max_retries: 1
        name: lava-multinode-overlay
        protocol: lava-multinode
        section: deploy
        summary: overlay the lava multinode scripts
        timeout: {duration: 360, name: lava-multinode-overlay}
        timeout_exception: *id005
        valid: true
        xmod: 493
      - data: *id004
        description: load test definitions into image
        level: 1.6.2.4
        max_retries: 1
        name: test-definition
        pipeline:
        - data: *id004
          default_pattern: (?P<test_case_id>.*-*)\s+:\s+(?P<result>(PASS|pass|FAIL|fail|SKIP|skip|UNKNOWN|unknown))
          description: apply git repository of tests to the test image
          level: 1.6.2.4.1
          max_retries: 1
          name: git-repo-action
          priority: 1
          section: deploy
          summary: clone git test repo
          timeout: {duration: 360, name: git-repo-action}
          timeout_exception: *id005
          uuid: 70_1.6.2.4.1
          valid: true
        - data: *id004
          description: overlay test support files onto image
          level: 1.6.2.4.2
          max_retries: 1
          name: test-overlay
          section: deploy
          summary: applying LAVA test overlay
          test_uuid: 70_1.6.2.4.1
          timeout: {duration: 360, name: test-overlay}
          timeout_exception: *id005
          valid: true
        - data: *id004
          description: overlay dependency installation support files onto image
          level: 1.6.2.4.3
          max_retries: 1
          name: test-install-overlay
          param_keys: [url, destination, branch]
          section: deploy
          skip_list: [keys, sources, deps, steps, git-repos, all]
          summary: applying LAVA test install scripts
          test_uuid: 70_1.6.2.4.1
          timeout: {duration: 360, name: test-install-overlay}
          timeout_exception: *id005
          valid: true
        - data: *id004
          description: overlay run script onto image
          level: 1.6.2.4.4
          max_retries: 1
          name: test-runscript-overlay
          section: deploy
          summary: applying LAVA test run script
          test_uuid: 70_1.6.2.4.1
          timeout: {duration: 360, name: test-runscript-overlay}
          timeout_exception: *id005
          valid: true
        run_levels: {smoke-tests: 0}
        section: deploy
        stages: 1
        summary: loading test definitions
        test_list: *id006
        timeout: {duration: 360, name: test-definition}
        timeout_exception: *id005
        valid: true
      - data: *id004
        description: Create a lava overlay tarball and store alongside the job
        level: 1.6.2.5
        max_retries: 1
        name: compress-overlay
        section: deploy
        summary: Compress the lava overlay files
        timeout: {duration: 360, name: compress-overlay}
        timeout_exception: *id005
        valid: true
      - data: *id004
        description: unpack overlay into persistent NFS
        level: 1.6.2.6
        max_retries: 1
        name: persistent-nfs-overlay
        section: deploy
        summary: add test overlay to NFS
        timeout: {duration: 360, name: persistent-nfs-overlay}
        timeout_exception: *id005
        valid: true
      section: deploy
      summary: overlay the lava support scripts
      timeout: {duration: 360, name: lava-overlay}
      timeout_exception: *id005
      valid: true
      xmod: 493
    - data: *id004
      description: extract ramdisk to a temporary directory
      level: 1.6.3
      max_retries: 1
      name: extract-overlay-ramdisk
      section: deploy
      summary: extract the ramdisk
      timeout: {duration: 360, name: extract-overlay-ramdisk}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: extract supplied kernel modules
      level: 1.6.4
      max_retries: 1
      name: extract-modules
      section: deploy
      summary: extract kernel modules
      timeout: {duration: 360, name: extract-modules}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: unpack the overlay into the nfsrootfs or ramdisk
      level: 1.6.5
      max_retries: 1
      name: apply-overlay-tftp
      section: deploy
      summary: apply lava overlay test files
      timeout: {duration: 360, name: apply-overlay-tftp}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: populates the pipeline with a kernel conversion action
      level: 1.6.6
      max_retries: 1
      name: prepare-kernel
      pipeline:
      - data: *id004
        description: convert kernel to uimage
        level: 1.6.6.1
        max_retries: 1
        name: uboot-prepare-kernel
        section: deploy
        summary: prepare/convert kernel
        timeout: {duration: 360, name: uboot-prepare-kernel}
        timeout_exception: *id005
        valid: true
      section: deploy
      summary: add a kernel conversion
      timeout: {duration: 360, name: prepare-kernel}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: add commands to automated installers, to copy the lava test overlay
        to the installed system
      level: 1.6.7
      max_retries: 1
      name: configure-preseed-file
      section: deploy
      summary: add commands to installer config
      timeout: {duration: 360, name: configure-preseed-file}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: recreate a ramdisk with the overlay applied.
      level: 1.6.8
      max_retries: 1
      name: compress-ramdisk
      section: deploy
      summary: compress ramdisk with overlay
      timeout: {duration: 360, name: compress-ramdisk}
      timeout_exception: *id005
      valid: true
    section: deploy
    summary: extract ramdisk or nfsrootfs
    timeout: {duration: 360, name: prepare-tftp-overlay}
    timeout_exception: *id005
    valid: true
  - data: *id004
    description: create lxc udev rule action
    level: '1.7'
    max_retries: 1
    name: lxc-create-udev-rule-action
    retries: 10
    section: deploy
    sleep: 10
    summary: create lxc udev rule
    timeout: {duration: 360, name: lxc-create-udev-rule-action}
    timeout_exception: *id005
    valid: true
  - data: *id004
    description: deploy device environment
    level: '1.8'
    max_retries: 1
    name: deploy-device-env
    section: deploy
    summary: deploy device environment
    timeout: {duration: 360, name: deploy-device-env}
    timeout_exception: *id005
    valid: true
  section: deploy
  summary: tftp deployment
  tftp_dir: /srv/tftp/70/tftp-deploy-awlm16p1
  timeout: {duration: 360, name: tftp-deploy}
  timeout_exception: *id005
  valid: true
- data: *id004
  description: interactive uboot action
  level: '2'
  max_retries: 1
  name: uboot-action
  pipeline:
  - data: *id004
    description: let uboot know where to find the kernel in the image on secondary
      media
    level: '2.1'
    max_retries: 1
    name: uboot-from-media
    section: boot
    summary: set uboot strings for deployed media
    timeout: {duration: 180, name: uboot-from-media}
    timeout_exception: *id005
    valid: true
  - data: *id004
    description: substitute job data into bootloader command list
    level: '2.2'
    max_retries: 1
    name: bootloader-overlay
    section: boot
    summary: replace placeholders with job data
    timeout: {duration: 180, name: bootloader-overlay}
    timeout_exception: *id005
    valid: true
  - data: *id004
    description: use the configured command to connect serial to the device
    level: '2.3'
    max_retries: 1
    message: Connecting to device using
    name: connect-device
    primary: true
    section: boot
    session_class: !!python/name:lava_dispatcher.shell.ShellSession ''
    shell_class: !!python/name:lava_dispatcher.shell.ShellCommand ''
    summary: run connection command
    timeout: {duration: 180, name: connect-device}
    timeout_exception: &id008 !!python/name:lava_common.exceptions.InfrastructureError ''
    valid: true
  - data: *id004
    description: interactive uboot retry action
    level: '2.4'
    max_retries: 1
    method_params: *id007
    name: uboot-retry
    pipeline:
    - data: *id004
      description: reboot or power-cycle the device
      level: 2.4.1
      max_retries: 1
      name: reset-device
      pipeline:
      - data: *id004
        description: issue commands to a PDU to power cycle a device
        level: 2.4.1.1
        max_retries: 1
        name: pdu-reboot
        section: boot
        summary: hard reboot using PDU
        timeout: {duration: 180, name: pdu-reboot}
        timeout_exception: *id008
        valid: true
      section: boot
      summary: reboot the device
      timeout: {duration: 180, name: reset-device}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: interrupt bootloader
      level: 2.4.2
      max_retries: 1
      name: bootloader-interrupt
      section: boot
      summary: interrupt bootloader to get an interactive shell
      timeout: {duration: 180, name: bootloader-interrupt}
      timeout_exception: *id008
      valid: true
    - data: *id004
      description: send commands to bootloader
      expect_final: true
      level: 2.4.3
      max_retries: 1
      name: bootloader-commands
      section: boot
      summary: interactive bootloader
      timeout: {duration: 180, name: bootloader-commands}
      timeout_exception: *id008
      valid: true
    - booting: true
      check_prompt_characters_warning: The string '%s' does not look like a typical
        prompt and could match status messages instead. Please check the job log files
        and use a prompt string which matches the actual prompt string more closely.
      data: *id004
      description: automatically login after boot using job parameters and checking
        for messages.
      level: 2.4.4
      max_retries: 1
      name: auto-login-action
      section: boot
      summary: Auto-login after boot with support for kernel messages.
      timeout: {duration: 180, name: auto-login-action}
      timeout_exception: *id005
      valid: true
    - compatibility: 2
      data: *id004
      description: Wait for a shell
      force_prompt: true
      level: 2.4.5
      max_retries: 1
      name: expect-shell-connection
      section: boot
      summary: Expect a shell prompt
      timeout: {duration: 180, name: expect-shell-connection}
      timeout_exception: *id005
      valid: true
    - data: *id004
      description: Exports environment variables to the device
      level: 2.4.6
      max_retries: 1
      name: export-device-env
      section: boot
      summary: Exports environment variables action
      timeout: {duration: 180, name: export-device-env}
      timeout_exception: *id005
      valid: true
    section: boot
    sleep: 1
    summary: uboot commands with retry
    timeout: {duration: 180, name: uboot-retry}
    timeout_exception: *id005
    valid: true
  section: boot
  sleep: 1
  summary: pass uboot commands
  timeout: {duration: 180, name: uboot-action}
  timeout_exception: *id005
  valid: true
- data: *id004
  description: Retry wrapper for lava-test-shell
  level: '3'
  max_retries: 1
  name: lava-test-retry
  pipeline:
  - data: *id004
    description: Executing lava-test-runner
    level: '3.1'
    max_retries: 1
    name: lava-test-shell
    section: test
    summary: Lava Test Shell
    timeout: {duration: 300, name: lava-test-shell}
    timeout_exception: *id005
    valid: true
  section: test
  sleep: 1
  summary: Retry support for Lava Test Shell
  timeout: {duration: 300, name: lava-test-retry}
  timeout_exception: *id005
  valid: true
- data: *id004
  description: finish the process and cleanup
  level: '4'
  max_retries: 1
  name: finalize
  pipeline:
  - data: *id004
    description: discontinue power to device
    level: '4.1'
    max_retries: 1
    name: power-off
    section: finalize
    summary: send power_off command
    timeout: {duration: 5, name: power-off}
    timeout_exception: *id008
    valid: true
  - data: *id004
    description: Check for messages on all other namespaces
    duration: 1
    finalize: true
    level: '4.2'
    max_retries: 1
    name: read-feedback
    repeat: true
    section: finalize
    summary: Read from other namespaces
    timeout: {duration: 300, name: read-feedback}
    timeout_exception: *id005
    valid: true
  section: finalize
  summary: finalize the job
  timeout: {duration: 300, name: finalize}
  timeout_exception: *id005
  valid: true
