refactor: move LAVA job definition templates into independent files
This change introduces a new script function to expand the variables in
a file. With this, we can move the LAVA YAML job template descriptions,
which are currently embedded inside individual HEREDOCs, into their own
files.
Signed-off-by: Chris Kay <chris.kay@arm.com>
Change-Id: I09805ab4b6894a371e63a944d113ca2f475a806b
diff --git a/script/gen_n1sdp_linux_yaml.sh b/script/gen_n1sdp_linux_yaml.sh
index 36c7f0d..c0a7165 100755
--- a/script/gen_n1sdp_linux_yaml.sh
+++ b/script/gen_n1sdp_linux_yaml.sh
@@ -27,183 +27,4 @@
recovery_img_url="${recovery_img_url:-$(get_recovery_image_url)}"
-cat <<EOF
-device_type: n1sdp
-job_name: tf-n1sdp
-timeouts:
- job:
- minutes: 30
-
-priority: medium
-visibility: public
-context:
- extra_nfsroot_args: ',vers=3'
- extra_kernel_args: rootwait
-actions:
-#
-# Any firmware bundle deployed must be configured to boot automatically without
-# intervention. This means "PMIC_FORCE" must be set "TRUE" in the config file
-# to be deployed.
-#
-#
-# Deploy a firmware bundle with the customised "uefi.bin" installed. This
-# enables an EFI network driver, allowing us to force a TFTP boot from GRUB (assuming cobbler is setup)
-#
-- deploy:
- namespace: recovery
- to: flasher
- images:
- recovery_image:
- url: http://files.oss.arm.com/downloads/lava/health-checks/n1sdp/4/n1sdp-board-firmware-force-netboot.zip
- compression: zip
-
-- deploy:
- namespace: debian
- to: tftp
- os: debian
- kernel:
- url: http://files.oss.arm.com/downloads/lava/health-checks/n1sdp/4/debian/linux
- type: image
- ramdisk:
- url: http://files.oss.arm.com/downloads/lava/health-checks/n1sdp/4/debian/ramdisk.img
- nfsrootfs:
- url: http://files.oss.arm.com/downloads/lava/health-checks/n1sdp/4/debian/debian-buster-arm64-rootfs.tar.xz
- compression: xz
-
-- boot:
- namespace: recovery
- timeout:
- minutes: 3
- method: minimal
- parameters:
- kernel-start-message: ''
- prompts: ['Cmd>']
-
-- boot:
- namespace: uart1
- method: new_connection
- connection: uart1
-
-- boot:
- namespace: debian
- connection-namespace: uart1
- timeout:
- minutes: 5
- method: grub
- commands: nfs
- prompts:
- - '/ # '
-
-- test:
- namespace: debian
- timeout:
- minutes: 5
- definitions:
- - repository:
- metadata:
- format: Lava-Test Test Definition 1.0
- name: device-network
- description: '"Test device network connection"'
- os:
- - debian
- scope:
- - functional
- run:
- steps:
- - apt -q update
- - apt -q install -y iputils-ping
- - ping -c 5 www.arm.com || lava-test-raise "Device failed to reach a remote host"
- - hostname -I
- from: inline
- name: device-network
- path: inline/device-network.yaml
-
-- test:
- namespace: debian
- timeout:
- minutes: 5
- definitions:
- - repository:
- metadata:
- format: Lava-Test Test Definition 1.0
- name: install-dependancies
- description: '"Install dependancies for secondary media deployment"'
- os:
- - debian
- scope:
- - functional
- run:
- steps:
- - apt-get update -q
- - apt-get install -qy wget
- from: inline
- name: install-dependancies
- path: inline/install-dependancies.yaml
-
-- deploy:
- namespace: secondary_media
- connection-namespace: uart1
- timeout:
- minutes: 10
- to: usb
- os: busybox
- images:
- image:
- url: "$n1sdp_prebuilts/busybox.img"
- uniquify: false
- device: usb_storage_device
- download:
- tool: /usr/bin/wget
- prompt: HTTP request sent, awaiting response
- options: --no-check-certificate --no-proxy --connect-timeout=30 -S --progress=dot:giga -O - {DOWNLOAD_URL}
-
-#
-# Deploy the primary board firmware bundle (this time without the additinal
-# network driver).
-#
-- deploy:
- namespace: recovery
- to: flasher
- images:
- recovery_image:
- url: $recovery_img_url
- compression: zip
-
-#
-# Do not verify the flash second time around as cached serial output on the
-# connection will immediately match the prompt.
-#
-- boot:
- namespace: secondary_media
- timeout:
- minutes: 10
- method: minimal
- prompts:
- - '/ #'
- transfer_overlay:
- download_command: wget -S
- unpack_command: tar -C / -xzf
-
-- test:
- namespace: secondary_media
- timeout:
- minutes: 5
- definitions:
- - repository:
- metadata:
- format: Lava-Test Test Definition 1.0
- name: linux-console-test-in-deployed-image
- description: '"Run LAVA test steps inside the deployed image"'
- os:
- - oe
- scope:
- - functional
- run:
- steps:
- - fdisk -l
- - ip addr show
- - cat /proc/cpuinfo
- from: inline
- name: linux-console-test
- path: inline/linux-console-test.yaml
-EOF
+expand_template "$(dirname "$0")/lava-templates/n1sdp-linux.yaml"