Skip to contentSkip to conversation

Add cip-core-image-kernelci building and uploading system

PATCH Superseded Alice Ferrazzi 2 participants 20 messages Jan 6, 2022 – Jan 7, 2022 1 message not in the archive

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Add cip-core-image-kernelci building and uploading system

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Alice Ferrazzi (4):
Add cip-core-image-kernelci
Add dmesg filter needed for lava test result
Add script deploy-kernelci.py for upload the cip-core-image-kernelci enable cip-core-image-kernelci

 .gitlab-ci.yml                                | 40 +++++++++++++-
 kas/opt/kernelci.yml                          | 16 ++++++
 .../images/cip-core-image-kernelci.bb         | 16 ++++++
 .../files/99-silent-printk.conf               |  1 +
 .../kernelci-customizations/files/dmesg.sh    | 23 ++++++++
 .../kernelci-customizations/files/ethernet    | 23 ++++++++
 .../kernelci-customizations/files/postinst    | 34 ++++++++++++
 .../kernelci-customizations.bb                | 35 ++++++++++++
 scripts/deploy-kernelci.py                    | 55 +++++++++++++++++++
 9 files changed, 242 insertions(+), 1 deletion(-)
 create mode 100644 kas/opt/kernelci.yml
 create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
 create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
 create mode 100644 recipes-core/kernelci-customizations/files/dmesg.sh
 create mode 100644 recipes-core/kernelci-customizations/files/ethernet
 create mode 100644 recipes-core/kernelci-customizations/files/postinst
 create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
 create mode 100755 scripts/deploy-kernelci.py
Signature · 1 line
2.33.1
#1 lore raw

PATCH 1/4 Add cip-core-image-kernelci

This image is currently used by KernelCI production for testing purpose. The purpose of this image is that KernelCI need to be able to autologin without password and to detect the login shell using special characters. Currently added are the default settings used by KernelCI images.

---
 kas/opt/kernelci.yml                          | 16 +++++++++
 .../images/cip-core-image-kernelci.bb         | 16 +++++++++
 .../files/99-silent-printk.conf               |  1 +
 .../kernelci-customizations/files/ethernet    | 23 +++++++++++++
 .../kernelci-customizations/files/postinst    | 34 +++++++++++++++++++
 .../kernelci-customizations.bb                | 34 +++++++++++++++++++
 6 files changed, 124 insertions(+)
 create mode 100644 kas/opt/kernelci.yml
 create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
 create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
 create mode 100644 recipes-core/kernelci-customizations/files/ethernet
 create mode 100644 recipes-core/kernelci-customizations/files/postinst
 create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
kas/opt/kernelci.yml new file +16 -0
new file mode 100644
index 0000000..9c67864
@@ -0,0 +1,16 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Toshiba Corporation, 2020
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Venkata Pyla <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+header:
+  version: 10
+
+target: cip-core-image-kernelci
recipes-core/images/cip-core-image-kernelci.bb new file +16 -0
new file mode 100644
index 0000000..479c14c
@@ -0,0 +1,16 @@
+#
+# A reference image for KernelCI
+#
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit image
+
+DESCRIPTION = "CIP Core image for KernelCI"
+
+IMAGE_INSTALL += "kernelci-customizations"
recipes-core/kernelci-customizations/files/99-silent-printk.conf new file +1 -0
new file mode 100644
index 0000000..ad24d3a
@@ -0,0 +1 @@
+kernel.printk = 3 4 1 3
recipes-core/kernelci-customizations/files/ethernet new file +23 -0
new file mode 100644
index 0000000..fa47d1a
@@ -0,0 +1,23 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+allow-hotplug eth0
+allow-hotplug enp0s2
+allow-hotplug enp2s0
+
+# used on BBB
+iface eth0 inet dhcp
+
+# used on qemu-amd64
+iface enp0s2 inet dhcp
+
+# used on simatic-ipc227e
+iface enp2s0 inet dhcp
recipes-core/kernelci-customizations/files/postinst new file +34 -0
new file mode 100644
index 0000000..7ae30e8
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+echo "CIP Core Demo & Test Image" > /etc/issue
+
+# permit root login without password
+echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
+echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
+passwd root -d
+
+# serial getty service for autologin
+mkdir -p /etc/systemd/system/[email protected]/
+echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
+echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
+echo "ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM" >> /etc/systemd/system/[email protected]/override.conf
+
+# set the profile for KernelCI
+echo "PS1='\$(pwd) # '" > /root/.profile
+echo "cd /" >> /root/.profile
+
+HOSTNAME=demo
+echo "$HOSTNAME" > /etc/hostname
+echo "127.0.0.1 $HOSTNAME" >> /etc/hosts
recipes-core/kernelci-customizations/kernelci-customizations.bb new file +34 -0
new file mode 100644
index 0000000..dca0891
@@ -0,0 +1,34 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit dpkg-raw
+
+DESCRIPTION = "CIP Core image demo & customizations"
+
+SRC_URI = " \
+    file://postinst \
+    file://ethernet \
+    file://99-silent-printk.conf"
+
+DEPENDS += "sshd-regen-keys"
+
+DEBIAN_DEPENDS = " \
+    ifupdown, isc-dhcp-client, net-tools, iputils-ping, ssh, sshd-regen-keys"
+
+do_install() {
+  install -v -d ${D}/etc/network/interfaces.d
+  install -v -m 644 ${WORKDIR}/ethernet ${D}/etc/network/interfaces.d/
+
+  install -v -d ${D}/etc/sysctl.d
+  install -v -m 644 ${WORKDIR}/99-silent-printk.conf ${D}/etc/sysctl.d/
+}
Signature · 1 line
2.33.1
#2 lore raw

Re: [isar-cip-core][PATCH 1/4] Add cip-core-image-kernelci

Quoted 171 lines · Alice Ferrazzi

This image is currently used by KernelCI production for testing purpose. The purpose of this image is that KernelCI need to be able to autologin without password and to detect the login shell using special characters. Currently added are the default settings used by KernelCI images.

---
 kas/opt/kernelci.yml                          | 16 +++++++++
 .../images/cip-core-image-kernelci.bb         | 16 +++++++++
 .../files/99-silent-printk.conf               |  1 +
 .../kernelci-customizations/files/ethernet    | 23 +++++++++++++
 .../kernelci-customizations/files/postinst    | 34 +++++++++++++++++++
 .../kernelci-customizations.bb                | 34 +++++++++++++++++++
 6 files changed, 124 insertions(+)
 create mode 100644 kas/opt/kernelci.yml
 create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
 create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
 create mode 100644 recipes-core/kernelci-customizations/files/ethernet
 create mode 100644 recipes-core/kernelci-customizations/files/postinst
 create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
kas/opt/kernelci.yml new file +16 -0
new file mode 100644
index 0000000..9c67864
@@ -0,0 +1,16 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Toshiba Corporation, 2020
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Venkata Pyla <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+header:
+  version: 10
+
+target: cip-core-image-kernelci
recipes-core/images/cip-core-image-kernelci.bb new file +16 -0
new file mode 100644
index 0000000..479c14c
@@ -0,0 +1,16 @@
+#
+# A reference image for KernelCI
+#
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit image
+
+DESCRIPTION = "CIP Core image for KernelCI"
+
+IMAGE_INSTALL += "kernelci-customizations"
recipes-core/kernelci-customizations/files/99-silent-printk.conf new file +1 -0
new file mode 100644
index 0000000..ad24d3a
@@ -0,0 +1 @@
+kernel.printk = 3 4 1 3
recipes-core/kernelci-customizations/files/ethernet new file +23 -0
new file mode 100644
index 0000000..fa47d1a
@@ -0,0 +1,23 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+allow-hotplug eth0
+allow-hotplug enp0s2
+allow-hotplug enp2s0
+
+# used on BBB
+iface eth0 inet dhcp
+
+# used on qemu-amd64
+iface enp0s2 inet dhcp
+
+# used on simatic-ipc227e
+iface enp2s0 inet dhcp
recipes-core/kernelci-customizations/files/postinst new file +34 -0
new file mode 100644
index 0000000..7ae30e8
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+echo "CIP Core Demo & Test Image" > /etc/issue
+
+# permit root login without password
+echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
+echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
+passwd root -d
+
+# serial getty service for autologin
+mkdir -p /etc/systemd/system/[email protected]/
+echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
+echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
+echo "ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM" >> /etc/systemd/system/[email protected]/override.conf
+
+# set the profile for KernelCI
+echo "PS1='\$(pwd) # '" > /root/.profile
+echo "cd /" >> /root/.profile
+
+HOSTNAME=demo
+echo "$HOSTNAME" > /etc/hostname
+echo "127.0.0.1 $HOSTNAME" >> /etc/hosts
recipes-core/kernelci-customizations/kernelci-customizations.bb new file +24 -0
new file mode 100644
index 0000000..dca0891
@@ -0,0 +1,34 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit dpkg-raw
+
+DESCRIPTION = "CIP Core image demo & customizations"
+
+SRC_URI = " \
+    file://postinst \
+    file://ethernet \
+    file://99-silent-printk.conf"
+
+DEPENDS += "sshd-regen-keys"
+

recipes-core/kernelci-customizations/kernelci-customizations.bb line 34

Quoted 10 lines
recipes-core/kernelci-customizations/kernelci-customizations.bb new file +10 -0
+DEBIAN_DEPENDS = " \
+    ifupdown, isc-dhcp-client, net-tools, iputils-ping, ssh, sshd-regen-keys"
+
+do_install() {
+  install -v -d ${D}/etc/network/interfaces.d
+  install -v -m 644 ${WORKDIR}/ethernet ${D}/etc/network/interfaces.d/
+
+  install -v -d ${D}/etc/sysctl.d
+  install -v -m 644 ${WORKDIR}/99-silent-printk.conf ${D}/etc/sysctl.d/
+}

This is duplicating the default customization package, IIUC, for the purpose of adding further things. And you already miss some things due to this (WIRELESS_FIRMWARE_PACKAGE, INSTALL_WIRELESS_TOOLS).

How about installing both and carrying in kernelci-customization only the delta? Or at least reuse artifacts from customizations package, e.g. via symlinks?

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#3 lore raw

Re: [isar-cip-core][PATCH 1/4] Add cip-core-image-kernelci

Quoted 188 lines · Jan Kiszka
Quoted 171 lines · Alice Ferrazzi

This image is currently used by KernelCI production for testing purpose. The purpose of this image is that KernelCI need to be able to autologin without password and to detect the login shell using special characters. Currently added are the default settings used by KernelCI images.

---
 kas/opt/kernelci.yml                          | 16 +++++++++
 .../images/cip-core-image-kernelci.bb         | 16 +++++++++
 .../files/99-silent-printk.conf               |  1 +
 .../kernelci-customizations/files/ethernet    | 23 +++++++++++++
 .../kernelci-customizations/files/postinst    | 34 +++++++++++++++++++
 .../kernelci-customizations.bb                | 34 +++++++++++++++++++
 6 files changed, 124 insertions(+)
 create mode 100644 kas/opt/kernelci.yml
 create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
 create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
 create mode 100644 recipes-core/kernelci-customizations/files/ethernet
 create mode 100644 recipes-core/kernelci-customizations/files/postinst
 create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
kas/opt/kernelci.yml new file +16 -0
new file mode 100644
index 0000000..9c67864
@@ -0,0 +1,16 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Toshiba Corporation, 2020
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Venkata Pyla <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+header:
+  version: 10
+
+target: cip-core-image-kernelci
recipes-core/images/cip-core-image-kernelci.bb new file +16 -0
new file mode 100644
index 0000000..479c14c
@@ -0,0 +1,16 @@
+#
+# A reference image for KernelCI
+#
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit image
+
+DESCRIPTION = "CIP Core image for KernelCI"
+
+IMAGE_INSTALL += "kernelci-customizations"
recipes-core/kernelci-customizations/files/99-silent-printk.conf new file +1 -0
new file mode 100644
index 0000000..ad24d3a
@@ -0,0 +1 @@
+kernel.printk = 3 4 1 3
recipes-core/kernelci-customizations/files/ethernet new file +23 -0
new file mode 100644
index 0000000..fa47d1a
@@ -0,0 +1,23 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+allow-hotplug eth0
+allow-hotplug enp0s2
+allow-hotplug enp2s0
+
+# used on BBB
+iface eth0 inet dhcp
+
+# used on qemu-amd64
+iface enp0s2 inet dhcp
+
+# used on simatic-ipc227e
+iface enp2s0 inet dhcp
recipes-core/kernelci-customizations/files/postinst new file +34 -0
new file mode 100644
index 0000000..7ae30e8
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+echo "CIP Core Demo & Test Image" > /etc/issue
+
+# permit root login without password
+echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
+echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
+passwd root -d
+
+# serial getty service for autologin
+mkdir -p /etc/systemd/system/[email protected]/
+echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
+echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
+echo "ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM" >> /etc/systemd/system/[email protected]/override.conf
+
+# set the profile for KernelCI
+echo "PS1='\$(pwd) # '" > /root/.profile
+echo "cd /" >> /root/.profile
+
+HOSTNAME=demo
+echo "$HOSTNAME" > /etc/hostname
+echo "127.0.0.1 $HOSTNAME" >> /etc/hosts
recipes-core/kernelci-customizations/kernelci-customizations.bb new file +24 -0
new file mode 100644
index 0000000..dca0891
@@ -0,0 +1,34 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#  Alice Ferrazzi <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit dpkg-raw
+
+DESCRIPTION = "CIP Core image demo & customizations"
+
+SRC_URI = " \
+    file://postinst \
+    file://ethernet \
+    file://99-silent-printk.conf"
+
+DEPENDS += "sshd-regen-keys"
+

recipes-core/kernelci-customizations/kernelci-customizations.bb line 34

Quoted 10 lines
recipes-core/kernelci-customizations/kernelci-customizations.bb new file +10 -0
+DEBIAN_DEPENDS = " \
+    ifupdown, isc-dhcp-client, net-tools, iputils-ping, ssh, sshd-regen-keys"
+
+do_install() {
+  install -v -d ${D}/etc/network/interfaces.d
+  install -v -m 644 ${WORKDIR}/ethernet ${D}/etc/network/interfaces.d/
+
+  install -v -d ${D}/etc/sysctl.d
+  install -v -m 644 ${WORKDIR}/99-silent-printk.conf ${D}/etc/sysctl.d/
+}

This is duplicating the default customization package, IIUC, for the purpose of adding further things. And you already miss some things due to this (WIRELESS_FIRMWARE_PACKAGE, INSTALL_WIRELESS_TOOLS).

Quoted 3 lines

How about installing both and carrying in kernelci-customization only the delta? Or at least reuse artifacts from customizations package, e.g. via symlinks?

KernelCI enviroment and gitlab-ci eviroment are mostly different. Changes on the symlink could possibly broke the KernelCI testing image or the gitlab-ci image.
KernelCI working workflow is to have different files and porting changes manually so that we can be sure it doesn't create problems and revert on necessity.

Thanks,
Alicef

Signature · 5 lines
======================================
Cybertrust Japan Co.,Ltd.
Alice Ferrazzi
[email protected]
======================================
#4 lore raw

PATCH 2/4 Add dmesg filter needed for lava test result

In reply to Alice Ferrazzi

KernelCI is using a dmesg filter script for checking dmesg logs result with lava.
Adding the script to the cip-core-image-kernelci.

---
 .../kernelci-customizations/files/dmesg.sh    | 23 +++++++++++++++++++
 .../kernelci-customizations.bb                |  1 +
 2 files changed, 24 insertions(+)
 create mode 100644 recipes-core/kernelci-customizations/files/dmesg.sh
recipes-core/kernelci-customizations/files/dmesg.sh new file +23 -0
new file mode 100644
index 0000000..3b096e1
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+if [ "$KERNELCI_LAVA" = "y" ]; then
+    alias test-result='lava-test-case'
+else
+    alias test-result='echo'
+fi
+
+for level in crit alert emerg; do
+    dmesg --level=$level --notime -x -k > dmesg.$level
+    test -s dmesg.$level && res=fail || res=pass
+    count=$(cat dmesg.$level | wc -l)
+    cat dmesg.$level
+    test-result \
+        $level \
+        --result $res \
+        --measurement $count \
+        --units lines
+done
+
+exit 0
recipes-core/kernelci-customizations/kernelci-customizations.bb +1 -0
index dca0891..c3f677c 100644
@@ -18,6 +18,7 @@ DESCRIPTION = "CIP Core image demo & customizations"
 SRC_URI = " \
     file://postinst \
     file://ethernet \
+    file://dmesg.sh \
     file://99-silent-printk.conf"
 
 DEPENDS += "sshd-regen-keys"
Signature · 1 line
2.33.1
#5 lore raw

PATCH 3/4 Add script deploy-kernelci.py for upload the cip-core-image-kernelci

In reply to Alice Ferrazzi

The cip-core-image-kernelci need to be uploaded to the KernelCI production storage for been used by KernelCI.
This script use the KernelCI API for uploading the cip-core-image-kernelci to the production storage. The images are uploaded in the following link:
https://storage.kernelci.org/images/rootfs/cip/

---
 scripts/deploy-kernelci.py | 55 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100755 scripts/deploy-kernelci.py
scripts/deploy-kernelci.py new file +55 -0
new file mode 100755
index 0000000..5a8adca
@@ -0,0 +1,55 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import subprocess
+import requests
+import os
+import sys
+import time
+from urllib.parse import urljoin
+
+cdate=time.strftime("%Y%m%d")
+api="https://api.kernelci.org/upload"
+token=os.getenv("KERNELCI_TOKEN")
+
+release=sys.argv[1]
+target=sys.argv[2]
+extension=sys.argv[3]
+
+rootfs_filename="cip-core-image-kernelci-cip-core-"+release+"-"+target+".tar.gz"
+initrd_filename="cip-core-image-kernelci-cip-core-"+release+"-"+target+"-initrd.img"
+initrd_gz_filename="cip-core-image-kernelci-cip-core-"+release+"-"+target+"-initrd.img.gz"
+
+input_dir="build/tmp/deploy/images/"+target
+upload_path="/images/rootfs/cip/"+cdate+"/"+target+"/"
+upload_path_latest="/images/rootfs/cip/latest/"+target+"/"
+rootfs=input_dir+"/"+rootfs_filename
+initrd=input_dir+"/"+initrd_filename
+
+def upload_file(api, token, path, input_file, input_filename):
+    headers = {
+        'Authorization': token,
+    }
+    data = {
+        'path': path,
+    }
+    files = {
+        'file': (input_filename, open(input_file, 'rb').read()),
+    }
+    url = urljoin(api, 'upload')
+    resp = requests.post(url, headers=headers, data=data, files=files)
+    resp.raise_for_status()
+
+if os.path.exists(rootfs) and os.path.exists(initrd):
+    print("uploading rootfs to KernelCI")
+    upload_file(api, token, upload_path, rootfs, rootfs_filename)
+    print("uploading initrd to KernelCI")
+    upload_file(api, token, upload_path, initrd, initrd_gz_filename)
+    print("uploaded to: https://storage.kernelci.org"+upload_path)
+
+    # Upload latest
+    print("uploading rootfs to KernelCI CIP latest")
+    upload_file(api, token, upload_path_latest, rootfs, rootfs_filename)
+    print("uploading initrd to KernelCI CIP latest")
+    upload_file(api, token, upload_path_latest, initrd, initrd_gz_filename)
+    print("uploaded to: https://storage.kernelci.org"+upload_path_latest)
Signature · 1 line
2.33.1
#6 lore raw

PATCH 4/4 enable cip-core-image-kernelci

In reply to Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +39 -1
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi
 
 # base image
 build:simatic-ipc227e-base:
@@ -77,6 +79,18 @@ build:qemu-amd64-base:
     wic_targz: disable
     targz: enable
 
+build:qemu-amd64-base-kernelci:
+  extends:
+    - .build_base
+  variables:
+    target: qemu-amd64
+    extension: kernelci
+    use_rt: disable
+    wic_targz: disable
+    targz: enable
+    deploy: disable
+    deploy_kernelci: enable
+
 build:qemu-arm64-base:
   extends:
     - .build_base
@@ -87,6 +101,18 @@ build:qemu-arm64-base:
     wic_targz: disable
     targz: enable
 
+build:qemu-arm64-base-kernelci:
+  extends:
+    - .build_base
+  variables:
+    target: qemu-arm64
+    extension: kernelci
+    use_rt: disable
+    wic_targz: disable
+    targz: enable
+    deploy: disable
+    deploy_kernelci: enable
+
 build:qemu-arm-base:
   extends:
     - .build_base
@@ -97,6 +123,18 @@ build:qemu-arm-base:
     wic_targz: disable
     targz: enable
 
+build:qemu-arm-base-kernelci:
+  extends:
+    - .build_base
+  variables:
+    target: qemu-arm
+    extension: kernelci
+    use_rt: disable
+    wic_targz: disable
+    targz: enable
+    deploy: disable
+    deploy_kernelci: enable
+
 # test
 build:simatic-ipc227e-test:
   extends:
Signature · 1 line
2.33.1
#7 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 22 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
 stages:
   - build

.gitlab-ci.yml default: · line 42

Quoted 6 lines
.gitlab-ci.yml +2 -1
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#8 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 21 lines · Jan Kiszka
Quoted 19 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
Quoted 13 lines

.gitlab-ci.yml default: · line 42

Quoted 9 lines
.gitlab-ci.yml +2 -1
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

I'm just following the syntax that is already there.
The gitlab-ci.yml file syntax preceding my commit is also doing same thing of adding that closing ; to the last-but-one command. You can check it here
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/blob/master/.gitlab-ci.yml#L40

Thanks,
Alice

Signature · 5 lines
======================================
Cybertrust Japan Co.,Ltd.
Alice Ferrazzi
[email protected]
======================================
#9 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 36 lines · Alice Ferrazzi
Quoted 21 lines · Jan Kiszka
Quoted 19 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
Quoted 13 lines

.gitlab-ci.yml default: · line 42

Quoted 9 lines
.gitlab-ci.yml +2 -1
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

Quoted 6 lines

I'm just following the syntax that is already there.
The gitlab-ci.yml file syntax preceding my commit is also doing same thing of adding that closing ; to the last-but-one command. You can check it here
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/blob/master/.gitlab-ci.yml#L40

Then, if the closing semicolon is needed, add it to the new line as well to avoid having to touch that when adding the next one.

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#10 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 45 lines · Jan Kiszka
Quoted 36 lines · Alice Ferrazzi
Quoted 21 lines · Jan Kiszka
Quoted 19 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
Quoted 13 lines

.gitlab-ci.yml default: · line 42

Quoted 9 lines
.gitlab-ci.yml +2 -1
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

Quoted 6 lines

I'm just following the syntax that is already there.
The gitlab-ci.yml file syntax preceding my commit is also doing same thing of adding that closing ; to the last-but-one command. You can check it here
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/blob/master/.gitlab-ci.yml#L40

Quoted 2 lines

Then, if the closing semicolon is needed, add it to the new line as well to avoid having to touch that when adding the next one.

sorry I'm not understanding what you want me to do. The closing semicolon is needed to the last-but-one command. Adding it to the last command break the script.

Signature · 8 lines
Thanks,
Alicef

======================================
Cybertrust Japan Co.,Ltd.
Alice Ferrazzi
[email protected]
======================================
#11 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 46 lines · Alice Ferrazzi
Quoted 45 lines · Jan Kiszka
Quoted 42 lines · Alice Ferrazzi
Quoted 21 lines · Jan Kiszka
Quoted 19 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
Quoted 13 lines

.gitlab-ci.yml default: · line 42

Quoted 9 lines
.gitlab-ci.yml +2 -1
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

I'm just following the syntax that is already there.
The gitlab-ci.yml file syntax preceding my commit is also doing same thing of adding that closing ; to the last-but-one command. You can check it here
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/blob/master/.gitlab-ci.yml#L40

Quoted 7 lines
Quoted 2 lines

Then, if the closing semicolon is needed, add it to the new line as well to avoid having to touch that when adding the next one.

sorry I'm not understanding what you want me to do. The closing semicolon is needed to the last-but-one command. Adding it to the last command break the script.

Are you really sure about the closing semicolon?

https://gitlab.com/jan-kiszka/ci-test/-/jobs/1951623081
https://gitlab.com/jan-kiszka/ci-test/-/blob/semicolon/.gitlab-ci.yml

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#12 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 56 lines · Jan Kiszka
Quoted 46 lines · Alice Ferrazzi
Quoted 45 lines · Jan Kiszka
Quoted 42 lines · Alice Ferrazzi
Quoted 21 lines · Jan Kiszka
Quoted 19 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
Quoted 13 lines

.gitlab-ci.yml default: · line 42

Quoted 9 lines
.gitlab-ci.yml +2 -1
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

I'm just following the syntax that is already there.
The gitlab-ci.yml file syntax preceding my commit is also doing same thing of adding that closing ; to the last-but-one command. You can check it here
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/blob/master/.gitlab-ci.yml#L40

Quoted 7 lines
Quoted 2 lines

Then, if the closing semicolon is needed, add it to the new line as well to avoid having to touch that when adding the next one.

sorry I'm not understanding what you want me to do. The closing semicolon is needed to the last-but-one command. Adding it to the last command break the script.

Quoted 4 lines

Are you really sure about the closing semicolon?

https://gitlab.com/jan-kiszka/ci-test/-/jobs/1951623081
https://gitlab.com/jan-kiszka/ci-test/-/blob/semicolon/.gitlab-ci.yml

you are right. I just checked my pipeline backlog and found that some months ago,
I just checked for both without ; and not the case of both having it. Still we are changing the syntax already present and used. is it ok to use a new syntax? if is ok I can send a revision.

Thanks,
Alicef

Signature · 5 lines
======================================
Cybertrust Japan Co.,Ltd.
Alice Ferrazzi
[email protected]
======================================
#13 lore raw

Re: [isar-cip-core][PATCH 4/4] enable cip-core-image-kernelci

Quoted 59 lines · Alice Ferrazzi
Quoted 58 lines · Jan Kiszka
Quoted 46 lines · Alice Ferrazzi
Quoted 45 lines · Jan Kiszka
Quoted 42 lines · Alice Ferrazzi
Quoted 21 lines · Jan Kiszka
Quoted 19 lines · Alice Ferrazzi

enable CIP core image KernelCI to be built with gitlab pipeline and uploaded to the KernelCI storage using KernelCI API. enable cip-core-image-kernelci to be built for amd64, arm and arm64.

---
 .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
.gitlab-ci.yml +1 -0
index e7db8c1..784343b 100644
@@ -9,6 +9,7 @@ variables:
   targz: disable
   dtb: none
   deploy: enable
+  deploy_kernelci: disable
 
Quoted 13 lines

.gitlab-ci.yml default: · line 42

Quoted 9 lines
.gitlab-ci.yml +2 -1
 stages:
   - build
@@ -37,7 +38,8 @@ default:
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi;
     - echo "Building ${base_yaml}"
     - kas build ${base_yaml}
-    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi
+    - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG}; fi;
+    - if [ "${deploy_kernelci}" = "enable" ]; then scripts/deploy-kernelci.py ${release} ${target} ${extension} ${dtb}; fi

Does gitlab-ci forces us to add that closing ; to the last-but-one command? If so, better add it to the new from the beginning.

I'm just following the syntax that is already there.
The gitlab-ci.yml file syntax preceding my commit is also doing same thing of adding that closing ; to the last-but-one command. You can check it here
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/blob/master/.gitlab-ci.yml#L40

Quoted 7 lines
Quoted 2 lines

Then, if the closing semicolon is needed, add it to the new line as well to avoid having to touch that when adding the next one.

sorry I'm not understanding what you want me to do. The closing semicolon is needed to the last-but-one command. Adding it to the last command break the script.

Are you really sure about the closing semicolon?

Quoted 9 lines
Quoted 2 lines

https://gitlab.com/jan-kiszka/ci-test/-/jobs/1951623081
https://gitlab.com/jan-kiszka/ci-test/-/blob/semicolon/.gitlab-ci.yml

you are right. I just checked my pipeline backlog and found that some months ago,
I just checked for both without ; and not the case of both having it. Still we are changing the syntax already present and used. is it ok to use a new syntax? if is ok I can send a revision.

I've sent a patch that removes the superfluous semicolons, you were on CC. Just rebase on top and follow that new pattern.

Thanks,
Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#14 lore raw
In reply to Alice Ferrazzi
Quoted 36 lines · Alice Ferrazzi

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Alice Ferrazzi (4):
Add cip-core-image-kernelci
Add dmesg filter needed for lava test result
Add script deploy-kernelci.py for upload the cip-core-image-kernelci enable cip-core-image-kernelci

 .gitlab-ci.yml                                | 40 +++++++++++++-
 kas/opt/kernelci.yml                          | 16 ++++++
 .../images/cip-core-image-kernelci.bb         | 16 ++++++
 .../files/99-silent-printk.conf               |  1 +
 .../kernelci-customizations/files/dmesg.sh    | 23 ++++++++
 .../kernelci-customizations/files/ethernet    | 23 ++++++++
 .../kernelci-customizations/files/postinst    | 34 ++++++++++++
 .../kernelci-customizations.bb                | 35 ++++++++++++
 scripts/deploy-kernelci.py                    | 55 +++++++++++++++++++
 9 files changed, 242 insertions(+), 1 deletion(-)
Quoted 9 lines
 create mode 100644 kas/opt/kernelci.yml
 create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
 create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
 create mode 100644 recipes-core/kernelci-customizations/files/dmesg.sh
 create mode 100644 recipes-core/kernelci-customizations/files/ethernet
 create mode 100644 recipes-core/kernelci-customizations/files/postinst
 create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
 create mode 100755 scripts/deploy-kernelci.py

This is v2 of https://lists.cip-project.org/g/cip-dev/message/7264,
right? Please flag that in the future.

What is the delta?

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#15 lore raw
In reply to Alice Ferrazzi
Quoted 11 lines · Alice Ferrazzi

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

Quoted 9 lines

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Thanks a lot for enabling this!

One meta-question: How does this image relate to what happens to a standard image when adding kas/opt/test.yml? Does kas/opt/kernelci.yml:kas/opt/test.yml make sense? Or should the former actually include the latter?

These things you may ask yourself when try to add the image also to our Kconfig menu ("kas-container menu"). That would be nice to have for a v3 as well, but more important is sorting out the option relationships.

Thanks,
Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#16 lore raw
Quoted 23 lines · Jan Kiszka
Quoted 11 lines · Alice Ferrazzi

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

Quoted 9 lines

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Quoted 6 lines

Thanks a lot for enabling this!

One meta-question: How does this image relate to what happens to a standard image when adding kas/opt/test.yml? Does kas/opt/kernelci.yml:kas/opt/test.yml make sense? Or should the former actually include the latter?

Currently it doesn't make too much sense to add such testing packages. CIP kernel image testing is done using ad-hoc images with a KernelCI built version of the
testing packages for having a common base and better compare results with other kernels.
cip-core-image-kernelci is currently tested as booting image with dmesg checks for each kernel (but still using specific KernelCI configurations and scripts).
We are currently trying to implement the iec-security test as user space test that will use cip-core-image-kernelci,
I sent a pull request for implementing the user space test iec-security but is still in progress.
Because KernelCI testings and test environments differs from CIP gitlab pipeline test environment,
we have to use a different file and merging both would currently make such different environments unstable.

I hope that this answer your question.

Quoted 3 lines

These things you may ask yourself when try to add the image also to our Kconfig menu ("kas-container menu"). That would be nice to have for a v3 as well, but more important is sorting out the option relationships.

cip-core-image-kernelci are build using gitlab pipeline and there is currently no benefit to have such
images manual build.

Thanks,
Alice

Signature · 5 lines
======================================
Cybertrust Japan Co.,Ltd.
Alice Ferrazzi
[email protected]
======================================
#17 lore raw
Quoted 48 lines · Alice Ferrazzi
Quoted 23 lines · Jan Kiszka
Quoted 11 lines · Alice Ferrazzi

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

Quoted 9 lines

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Quoted 6 lines

Thanks a lot for enabling this!

One meta-question: How does this image relate to what happens to a standard image when adding kas/opt/test.yml? Does kas/opt/kernelci.yml:kas/opt/test.yml make sense? Or should the former actually include the latter?

Currently it doesn't make too much sense to add such testing packages. CIP kernel image testing is done using ad-hoc images with a KernelCI built version of the
testing packages for having a common base and better compare results with other kernels.
cip-core-image-kernelci is currently tested as booting image with dmesg checks for each kernel (but still using specific KernelCI configurations and scripts).
We are currently trying to implement the iec-security test as user space test that will use cip-core-image-kernelci,
I sent a pull request for implementing the user space test iec-security but is still in progress.
Because KernelCI testings and test environments differs from CIP gitlab pipeline test environment,
we have to use a different file and merging both would currently make such different environments unstable.

Quoted 1 line

I hope that this answer your question.

Ok, we just need to keep an eye on target configs and options that deal with "testing" so that things are consistent and intuitive.

Quoted 9 lines
Quoted 4 lines

These things you may ask yourself when try to add the image also to our Kconfig menu ("kas-container menu"). That would be nice to have for a v3 as well, but more important is sorting out the option relationships.

cip-core-image-kernelci are build using gitlab pipeline and there is currently no benefit to have such
images manual build.

So, the case that a test fails on kernel CI and someone want to reproduce the image that triggered this does not exist? One would rather build a regular image for the target then?

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux
#18 lore raw
Quoted 60 lines · Jan Kiszka
Quoted 48 lines · Alice Ferrazzi
Quoted 23 lines · Jan Kiszka
Quoted 11 lines · Alice Ferrazzi

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

Quoted 9 lines

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Quoted 6 lines

Thanks a lot for enabling this!

One meta-question: How does this image relate to what happens to a standard image when adding kas/opt/test.yml? Does kas/opt/kernelci.yml:kas/opt/test.yml make sense? Or should the former actually include the latter?

Currently it doesn't make too much sense to add such testing packages. CIP kernel image testing is done using ad-hoc images with a KernelCI built version of the
testing packages for having a common base and better compare results with other kernels.
cip-core-image-kernelci is currently tested as booting image with dmesg checks for each kernel (but still using specific KernelCI configurations and scripts).
We are currently trying to implement the iec-security test as user space test that will use cip-core-image-kernelci,
I sent a pull request for implementing the user space test iec-security but is still in progress.
Because KernelCI testings and test environments differs from CIP gitlab pipeline test environment,
we have to use a different file and merging both would currently make such different environments unstable.

Quoted 1 line

I hope that this answer your question.

Ok, we just need to keep an eye on target configs and options that deal with "testing" so that things are consistent and intuitive.

Quoted 5 lines
Quoted 4 lines

These things you may ask yourself when try to add the image also to our Kconfig menu ("kas-container menu"). That would be nice to have for a v3 as well, but more important is sorting out the option relationships.

Quoted 9 lines
Quoted 4 lines

cip-core-image-kernelci are build using gitlab pipeline and there is currently no benefit to have such
images manual build.

So, the case that a test fails on kernel CI and someone want to reproduce the image that triggered this does not exist? One would rather build a regular image for the target then?

Why not just using the pre made image from
https://storage.kernelci.org/images/rootfs/cip/
for reproducing errors ?

Thanks,
Alicef

Signature · 5 lines
======================================
Cybertrust Japan Co.,Ltd.
Alice Ferrazzi
[email protected]
======================================

A message that is not in the archive (sent off-list or not yet received): CANgtXuPc0_27ZCR7au1e-C3y+-7De-nZQ2ddmjKAinT7Cm09_A@mail.gmail.com

#20 lore raw
Quoted 66 lines · Alice Ferrazzi
Quoted 65 lines · Jan Kiszka
Quoted 48 lines · Alice Ferrazzi
Quoted 23 lines · Jan Kiszka
Quoted 11 lines · Alice Ferrazzi

This patch series add a new image with settings for KernelCI.

This new image is called cip-core-image-kernelci and is based on isar-cip-core general image with some changes needed for make it work with KernelCI and taken from KernelCI image base settings.
The cip-core-image-kernelci images are built by GitlabCI and uploaded to KernelCI production fileserver.
https://storage.kernelci.org/images/rootfs/cip/

Quoted 9 lines

These patches are already integrated in the isar-cip-core:alicef/kernelci_master_refactor repository branch and are generating the images that are currently
used by KernelCI.

cip-core-image-kernelci as been tested and are already used in KernelCI production with good results.
https://linux.kernelci.org/test/job/stable-rc/branch/queue%2F5.14/kernel/v5.14.17-9-g9f7eecaa70b3/plan/baseline-cip-nfs/

Quoted 6 lines

Thanks a lot for enabling this!

One meta-question: How does this image relate to what happens to a standard image when adding kas/opt/test.yml? Does kas/opt/kernelci.yml:kas/opt/test.yml make sense? Or should the former actually include the latter?

Currently it doesn't make too much sense to add such testing packages. CIP kernel image testing is done using ad-hoc images with a KernelCI built version of the
testing packages for having a common base and better compare results with other kernels.
cip-core-image-kernelci is currently tested as booting image with dmesg checks for each kernel (but still using specific KernelCI configurations and scripts).
We are currently trying to implement the iec-security test as user space test that will use cip-core-image-kernelci,
I sent a pull request for implementing the user space test iec-security but is still in progress.
Because KernelCI testings and test environments differs from CIP gitlab pipeline test environment,
we have to use a different file and merging both would currently make such different environments unstable.

Quoted 1 line

I hope that this answer your question.

Ok, we just need to keep an eye on target configs and options that deal with "testing" so that things are consistent and intuitive.

Quoted 9 lines
Quoted 4 lines

These things you may ask yourself when try to add the image also to our Kconfig menu ("kas-container menu"). That would be nice to have for a v3 as well, but more important is sorting out the option relationships.

cip-core-image-kernelci are build using gitlab pipeline and there is currently no benefit to have such
images manual build.

Quoted 8 lines
Quoted 4 lines

So, the case that a test fails on kernel CI and someone want to reproduce the image that triggered this does not exist? One would rather build a regular image for the target then?

Why not just using the pre made image from
https://storage.kernelci.org/images/rootfs/cip/
for reproducing errors ?

Fine, as long as you do not need to adjust things in it afterwards. Granted, such cases will be less common.

Jan

Signature · 2 lines
Siemens AG, Technology
Competence Center Embedded Linux