diff --git a/lava_test_plans/projects/meta-qcom-distro/README.md b/lava_test_plans/projects/meta-qcom-distro/README.md new file mode 100644 index 00000000..6e4b222a --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/README.md @@ -0,0 +1,21 @@ +# Qualcomm Landing Team LAVA test plans + +## Brief + +The Qualcomm Landing Team supports testing of the Kernel and Distros (Debian/OE RPB) using this set of templates. + +These LAVA templates are based on LKFT fastboot and extends to add LXC support, We are planning to migrate to docker but +certain tasks needs to be done like create docker image to access QCOM remote lab boards (qcs-4k-* and sdm845-mtp). + +## Testing + +For generate example of LAVA jobs manually, + + +Kernel bootrr ramdisk based testing, + +$ python3 -m lava_test_plans --variables projects/lt-qcom/variables.ini --testplan-device-path projects/lt-qcom/devices --device-type dragonboard-410c --dry-run --verbose 1 --test-case testcases/kernel-bootrr.yaml + +Kernel rootfs based testing, + +$ python3 -m lava_test_plans --variables projects/lt-qcom/variables-db845c-rootfs.ini --testplan-device-path projects/lt-qcom/devices --device-type dragonboard-845c --dry-run --verbose 1 --test-case testcases/kernel-smoke.yaml diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-410c b/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-410c new file mode 120000 index 00000000..6f7d0974 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-410c @@ -0,0 +1 @@ +../../meta-qcom/devices/dragonboard-410c \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-820c b/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-820c new file mode 120000 index 00000000..81cb534a --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-820c @@ -0,0 +1 @@ +../../meta-qcom/devices/dragonboard-820c \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-845c b/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-845c new file mode 120000 index 00000000..28fad849 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/dragonboard-845c @@ -0,0 +1 @@ +../../meta-qcom/devices/dragonboard-845c \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/qcs404-evb-1k b/lava_test_plans/projects/meta-qcom-distro/devices/qcs404-evb-1k new file mode 120000 index 00000000..ef5dd36a --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/qcs404-evb-1k @@ -0,0 +1 @@ +../../meta-qcom/devices/qcs404-evb-1k \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/qcs404-evb-4k b/lava_test_plans/projects/meta-qcom-distro/devices/qcs404-evb-4k new file mode 120000 index 00000000..e20cdb75 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/qcs404-evb-4k @@ -0,0 +1 @@ +../../meta-qcom/devices/qcs404-evb-4k \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/sdm845-mtp b/lava_test_plans/projects/meta-qcom-distro/devices/sdm845-mtp new file mode 120000 index 00000000..de4ea338 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/sdm845-mtp @@ -0,0 +1 @@ +../../meta-qcom/devices/sdm845-mtp \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/sm8150-mtp b/lava_test_plans/projects/meta-qcom-distro/devices/sm8150-mtp new file mode 120000 index 00000000..f2a9e6d8 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/sm8150-mtp @@ -0,0 +1 @@ +../../meta-qcom/devices/sm8150-mtp \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/sm8250-mtp b/lava_test_plans/projects/meta-qcom-distro/devices/sm8250-mtp new file mode 120000 index 00000000..8af1f499 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/sm8250-mtp @@ -0,0 +1 @@ +../../meta-qcom/devices/sm8250-mtp \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/devices/sm8350-mtp b/lava_test_plans/projects/meta-qcom-distro/devices/sm8350-mtp new file mode 120000 index 00000000..4d2f074b --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/devices/sm8350-mtp @@ -0,0 +1 @@ +../../meta-qcom/devices/sm8350-mtp \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/fastboot.jinja2 b/lava_test_plans/projects/meta-qcom-distro/fastboot.jinja2 new file mode 100644 index 00000000..5c0c633b --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/fastboot.jinja2 @@ -0,0 +1,56 @@ +{% extends "include/fastboot.jinja2" %} + +{% set DEPLOY_TARGET = DEPLOY_TARGET|default("fastboot") %} +{% set download_postprocess_required = false %} +{% set DEPLOY_OS = "" %} +{% set BUILD_OS = BUILD_OS|default("poky-altcfg") %} +{% set BUILD_MACHINE = BUILD_MACHINE|default("qcom-armv8a") %} +{% set DOCKER_IMAGE_POSTPROCESS = DOCKER_IMAGE_POSTPROCESS|default("ghcr.io/foundriesio/lava-lmp-sign:main") %} +{% set BOOT_LABEL = "boot" %} +{% set BOOT_URL = "downloads://" + BOOT_IMG_FILE %} +{% set ROOTFS_URL = "downloads://" + ROOTFS_IMG_FILE + ".img" %} +{% set ROOTFS_URL_COMP = null %} +{% set target_deploy_timeout = 15 %} +{% set use_download_headers = use_download_headers|default(false) %} + +{% block metadata %} + source: https://github.com/Linaro/lava-test-plans.git + path: projects/meta-qcom-distro/ +{% if OS_INFO %} +{% include PROJECT+"include/meta-qcom-distro-"+OS_INFO+"-metadata.jinja2" %} +{% else %} +{% include PROJECT+"include/meta-qcom-distro-metadata.jinja2" %} +{% endif %} +{% endblock metadata %} + +{% block deploy_target %} +- deploy: + timeout: + minutes: {{ target_downloads_timeout }} + to: downloads + images: + boot: +{% if use_download_headers %} + {% include PROJECT+"include/auth-header.jinja2" %} +{% endif %} + url: "{{ BUILD_DOWNLOAD_URL }}/{{ BUILD_OS }}/{{ BUILD_MACHINE }}/{{ BOOT_IMG_FILE }}" + rootfs: +{% if use_download_headers %} + {% include PROJECT+"include/auth-header.jinja2" %} +{% endif %} + url: "{{ BUILD_DOWNLOAD_URL }}/{{ BUILD_OS }}/{{ BUILD_MACHINE }}/{{ ROOTFS_IMG_FILE }}.gz" + compression: gz + postprocess: + docker: + image: {{ DOCKER_IMAGE_POSTPROCESS }} + steps: + - export IMAGE_PATH=$PWD + - img2simg {{ ROOTFS_IMG_FILE }} {{ ROOTFS_IMG_FILE }}.img +{{ super() }} +{% endblock deploy_target %} + +{% block pre_boot_command %} +{% endblock pre_boot_command %} + +{% block post_boot_command %} +{% endblock post_boot_command %} diff --git a/lava_test_plans/projects/meta-qcom-distro/flasher.jinja2 b/lava_test_plans/projects/meta-qcom-distro/flasher.jinja2 new file mode 100644 index 00000000..e2c84bf3 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/flasher.jinja2 @@ -0,0 +1,20 @@ +{% extends "include/flasher.jinja2" %} + +{% block deploy_target %} +{{ super() }} +{% endblock deploy_target %} + +{% block metadata %} + source: https://github.com/Linaro/lava-test-plans.git + path: projects/meta-qcom-distro/ +{% if OS_INFO %} +{% include PROJECT+"include/meta-qcom-distro-"+OS_INFO+"-metadata.jinja2" %} +{% else %} +{% include PROJECT+"include/meta-qcom-distro-metadata.jinja2" %} +{% endif %} +{% endblock metadata %} + +{% block context %} + lava_test_results_dir: /home/lava-%s + test_character_delay: 10 +{% endblock context %} diff --git a/lava_test_plans/projects/meta-qcom-distro/include/auth-header.jinja2 b/lava_test_plans/projects/meta-qcom-distro/include/auth-header.jinja2 new file mode 120000 index 00000000..702035f5 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/include/auth-header.jinja2 @@ -0,0 +1 @@ +../../../include/auth-header.jinja2 \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/include/meta-qcom-distro-metadata.jinja2 b/lava_test_plans/projects/meta-qcom-distro/include/meta-qcom-distro-metadata.jinja2 new file mode 120000 index 00000000..3796180e --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/include/meta-qcom-distro-metadata.jinja2 @@ -0,0 +1 @@ +../../meta-qcom/include/meta-qcom-metadata.jinja2 \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/include/meta-qcom-distro-qcom-distro-metadata.jinja2 b/lava_test_plans/projects/meta-qcom-distro/include/meta-qcom-distro-qcom-distro-metadata.jinja2 new file mode 120000 index 00000000..4a2ac90d --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/include/meta-qcom-distro-qcom-distro-metadata.jinja2 @@ -0,0 +1 @@ +../../meta-qcom/include/meta-qcom-poky-altcfg-metadata.jinja2 \ No newline at end of file diff --git a/lava_test_plans/projects/meta-qcom-distro/variables-db845c-rootfs.ini b/lava_test_plans/projects/meta-qcom-distro/variables-db845c-rootfs.ini new file mode 100644 index 00000000..d2c62623 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/variables-db845c-rootfs.ini @@ -0,0 +1,30 @@ +PROJECT_NAME=meta-qcom-distro +PROJECT=projects/meta-qcom-distro/ +LAVA_JOB_PRIORITY=high +BUILD_NUMBER=738 +BOOT_URL=https://snapshots.linaro.org/member-builds/qcomlt/linux-integration/sdm845-db845c/738/boot-rootfs-linux-integration-v5.11-rc5-319-g2d623fc6ac5c-738-sdm845-db845c.img +BOOT_URL_COMP= +LXC_BOOT_FILE=boot-rootfs-linux-integration-v5.11-rc5-319-g2d623fc6ac5c-738-sdm845-db845c.img +PTABLE_URL=https://images.validation.linaro.org/snapshots.linaro.org/96boards/dragonboard845c/linaro/rescue/28/dragonboard-845c-bootloader-ufs-linux-28/gpt_both0.bin +LXC_PTABLE_FILE=gpt_both0.bin +ROOTFS_URL=https://snapshots.linaro.org/member-builds/qcomlt/linux-integration/sdm845-db845c/738/rpb-console-image-test-qemuarm64-20210124073924-672.rootfs.img.gz +ROOTFS_URL_COMP=gz +LXC_ROOTFS_FILE=rpb-console-image-test-qemuarm64-20210124073924-672.rootfs.img +DEPLOY_OS=oe +OS_INFO=kernel +BOOT_OS_PROMPT=root@qemuarm64:~# +FASTBOOT_COMMANDS=oem select-display-panel none, reboot + +KERNEL_BRANCH=integration-linux-qcomlt +KERNEL_REPO=https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/ +KERNEL_COMMIT=latest +KERNEL_DESCRIBE=v5.11-rc5-319-g2d623fc6ac5c +KERNEL_CONFIG=defconfig distro.config +TOOLCHAIN=unknown +BUILD_URL=https://ci.linaro.org/job/meta-qcom-distro-linux-integration/738/MACHINE=sdm845-db845c,label=docker-stretch-amd64/ + +# QCOM test variables +SMOKE_TESTS="pwd, uname -a, ip a, vmstat, lsblk, lscpu" +WLAN_DEVICE=wlan0 +ETH_DEVICE=eth0 + diff --git a/lava_test_plans/projects/meta-qcom-distro/variables.ini b/lava_test_plans/projects/meta-qcom-distro/variables.ini new file mode 100644 index 00000000..321de1c6 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/variables.ini @@ -0,0 +1,23 @@ +PROJECT_NAME=meta-qcom-distro +PROJECT=projects/meta-qcom-distro/ +LAVA_JOB_PRIORITY=high +BUILD_NUMBER=738 +BOOT_URL=https://snapshots.linaro.org/member-builds/qcomlt/linux-integration/apq8016-sbc/738/boot-linux-integration-v5.11-rc5-319-g2d623fc6ac5c-738-apq8016-sbc.img +BOOT_URL_COMP= +LXC_BOOT_FILE=boot-linux-integration-v5.11-rc5-319-g2d623fc6ac5c-738-apq8016-sbc.img +ROOTFS_URL= +ROOTFS_URL_COMP= +LXC_ROOTFS_FILE= +DEPLOY_OS=oe +OS_INFO=kernel +BOOT_OS_PROMPT=root@qemuarm64:~# +KERNEL_BRANCH=integration-linux-qcomlt +KERNEL_REPO=https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/ +KERNEL_COMMIT=latest +KERNEL_DESCRIBE=v5.11-rc5-319-g2d623fc6ac5c +KERNEL_CONFIG=defconfig distro.config +TOOLCHAIN=unknown +BUILD_URL=https://ci.linaro.org/job/meta-qcom-distro-linux-integration/738/MACHINE=apq8016-sbc,label=docker-stretch-amd64/ +# Audio test variables (generate AUDIO_CLIPS_URL with: aws s3 presign s3://qcom-prd-gh-artifacts/qualcomm-linux/test-media-assets/AudioClips.tar.gz --expires-in 196000) +AUDIO_CLIPS_URL= +AUDIO_CLIPS_BASE_DIR=/home/AudioClips/ diff --git a/lava_test_plans/projects/meta-qcom-distro/variables.yaml b/lava_test_plans/projects/meta-qcom-distro/variables.yaml new file mode 100644 index 00000000..affc7d71 --- /dev/null +++ b/lava_test_plans/projects/meta-qcom-distro/variables.yaml @@ -0,0 +1,38 @@ +"PROJECT_NAME": "test" +"LAVA_JOB_PRIORITY": "99" +"BUILD_NUMBER": "123" +"BOOT_URL": "boot-url" +# QCOM variables +"BOOT_URL_COMP": "gz" +"BOOT_IMG_FILE": "boot-apq8096-db820c-qcom-armv8a.img" +"ROOTFS_IMG_FILE": "variable-value" +"ROOTFS_URL": "variable-value" +"BUILD_DOWNLOAD_URL": "variable-value" +"# ROOTFS_URL_FORMAT": "variable-value" +"ROOTFS_URL_COMP": "xz" +"DEPLOY_OS": "variable-value" +"DOCKER_ROOTFS_FILE": "docker-rootfs-file" +"BOOT_OS_PROMPT": "variable-value" +"SMOKE_TESTS": "variable-value" +"PM_QA_TESTS": "pm-qa-tests" +"DOCKER_BOOT_FILE": "docker-boot" +"WLAN_DEVICE": "variable-value" +"ETH_DEVICE": "variable-value" +"WIFI_SSID_NAME": "variable-value" +"WIFI_SSID_PASSWORD": "variable-value" +"WLAN_TIME_DELAY": "wlan-time-delay" +"GST_IGNORE_TESTS_REPO": "variable-value" +"GST_IGNORE_TESTS_FILE": "variable-value" +"PTEST_EXCLUDE": "variable-value" +"QA_SERVER_PROJECT": "qa-server-project" +"PROJECT": "projects/meta-qcom-distro/" +"LXC_BOOT_FILE": "" +"LXC_ROOTFS_FILE": "" +"VIDEO_DEVICES" : {"/dev/video0": "venus-encoder", "/dev/video1": "venus-decoder"} +"KERNEL_BRANCH": "variable-value" +"KERNEL_REPO": "variable-value" +"KERNEL_COMMIT": "variable-value" +"KERNEL_DESCRIBE": "variable-value" +"KERNEL_CONFIG": "defconfig" +"TOOLCHAIN": "unknown" +"BUILD_URL": "https://some-url" diff --git a/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/boot/boot.yaml b/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/boot/boot.yaml new file mode 120000 index 00000000..ce7d73fc --- /dev/null +++ b/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/boot/boot.yaml @@ -0,0 +1 @@ +../../../../testcases/boot.yaml \ No newline at end of file diff --git a/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/pre-merge/pre-merge-basic.yaml b/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/pre-merge/pre-merge-basic.yaml new file mode 120000 index 00000000..fd9626ca --- /dev/null +++ b/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/pre-merge/pre-merge-basic.yaml @@ -0,0 +1 @@ +../../../../testcases/pre-merge-basic.yaml \ No newline at end of file diff --git a/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/pre-merge/pre-merge-bt.yaml b/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/pre-merge/pre-merge-bt.yaml new file mode 100644 index 00000000..69defb24 --- /dev/null +++ b/lava_test_plans/testplans/meta-qcom-distro/qcom-distro/pre-merge/pre-merge-bt.yaml @@ -0,0 +1 @@ +../../../../testcases/pre-merge-bt.yaml \ No newline at end of file