From patchwork Mon Mar 29 06:56:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Cirujano Cuesta X-Patchwork-Id: 389 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:378f:0:0:0:0:0 with SMTP id r137csp3546327oor; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) X-Received: by 2002:adf:fcc9:: with SMTP id f9mr29175652wrs.420.1617033403029; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1617033403; cv=pass; d=google.com; s=arc-20160816; b=IfTws06i2tXxXHrm41MJaRUiSIv2g7claSYOyEOYpUGFCmW7ekXBhNo6wb21UGdeue K+J413ExmKenu+BfWiG8VMWcUzsm7xZOEuuhIEWVsnAA0+Rog/3Ip1ULN3T6bn9s52PT ebMVoP6kWLPVuXsbpM/VRn8NLrBuFGrXwz/Gy0cHJXTG2VqVNAqtGCfhavb2WZ549lsc vqXjj0aWwmfuNeXtLN7AmbDJ3WyV6a9cSSRV/29J7YzxW1sEQtXEBWMb0uYpT1A1m5Kn gOtRZ0l6d4iwR5GvNnsUY0OpNquXwwh0kTckdxHZzeUsNRsbvWy7LZUYnCarUOhaP7GA ra9g== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:to:from:sender:dkim-signature; bh=NhmzkpG39MRZ26ucw6Mhi+i8ZFV7m5AjZjuCfwdd8Nc=; b=HusZCUFBHZQtKueGvex3rDIeSv7x4jH8V+5HIHuHqQ7xr527LNKKBQvUp2vEdbB6Xu m4RXdBXZPYoQlxXRBdlJtPru8LLBiGrS1hWw6dtj9fzUpZoQg75RytkfnfETWzO6lSZ2 HPWNI7piaAoNEmK4S4aQtTNKyHFL7rZLkQDZfXYhSlwC531zei0LwwpeyykKHRIRXrq7 i18UtNhmNN4m3fSGMxI6+3pbR8x0eKcyJt34U2CYF8TZ9ZBhlwvFhKNatGfVKdOE4XPM n2Lt8etdUhFeNDj/zG7yeWnmiKwqcoLGeNC8thiNTjAiP3bW4nh7f2SpVkyO7eR18oGF 8GCw== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b="l8lI6Jd/"; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id r9sor8650144wrt.42.2021.03.29.08.56.42 (Google Transport Security); Mon, 29 Mar 2021 08:56:43 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b="l8lI6Jd/"; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1617033402; cv=pass; d=google.com; s=arc-20160816; b=mmSb9vcJvoxX/DAy2QWIuJ6/VtwmrKD74besAk5bYhG1nKneiFhrcUImfuPKwdSUVG L1IqdN+r/IwIATKZg8yl8dhPFJQ+zCamFZe2zOiqNZDwnkEZPSuVp1J/KsPG9GdAI0Vf Y9hFS9xFDbokPKQ04nwxBLKzmyL+1CeSYQLS8XM10OFGhTm01CIfqceVsvCRUlvnrxc6 UbEyHchDsg3y6Yzfk/kQN7u8S+nzSUzebTGQYXo91uQ7JMT1eG6hbxJv6M5X0WI2UEWL e2n+nadW4qh00jbstHfYuaKWwHEms+lyNeOgqoooLt191h0W2CURN9p48lU7h1Ncf7zX PXug== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:to:from:sender:dkim-signature; bh=NhmzkpG39MRZ26ucw6Mhi+i8ZFV7m5AjZjuCfwdd8Nc=; b=da0TFVV8/tSOb9ikw+5vA2AYt6NT2udwolCwNvXfXWj51Ha+MDEYfdJyYpi1vuRoDz kFiwW0e/fQxFXhc1moGwL5HXxR+Q9+e6Px51gKUK5B0PKux11jbCKt06+/MgOD2iAGih ENQEQvzwRamnd4bemZ7XQqZjCHeGOMKwgs5kpKZuE81fnopChSkYlHguXCKmdxP9ubdw f3SBEQLAtpFhIuTAGLEtQEKBtF2ym9AYDWw7GXGNu+ndXXlYWqwo9HXINNFUJQeCiryq wRsxDwK6HzGkzpOamSXoACrwt/eAsgbhRcQ/3jQb8uODp5yKcLgAAgQEZvMOJHwh/j8z HwZg== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=NhmzkpG39MRZ26ucw6Mhi+i8ZFV7m5AjZjuCfwdd8Nc=; b=l8lI6Jd/1mOQjQBrKDZlOWasfn1K7mVURddJ0nIncnJkavo/pQB0U64tSl3wSqEhOx PVyIDamG/UfLS9UOAPTjz1nYikxzP3153RglM7S9YvYypDYQt/lpCAVchSKyetV+azUz WYBxj8jh/Ne3c9pWRSNefmxhp3S/zTuLfkVcKKo2TirtJcF8PRrdJBCXinVCjZyBsNhm XnBWgvmNkFzCSCZrSakq9I8PtBRYIBAEP2Ni1SDvfJRvCraS1sh8jpXmns6ntFLPDhZP PjSj2dTbipvniUC3Q7/U0nqbRc3jeNaxrPiTSuMTyA/D9CtlkPNUkaeeXMe5Laiq+hYM TUqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:subject:date:message-id :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=NhmzkpG39MRZ26ucw6Mhi+i8ZFV7m5AjZjuCfwdd8Nc=; b=MEnQRvE5ha6LyK8P9qKHq5NpEY1CzZ3YlEDt7+RG7jJo7lUzcrfMF3ZOrhJ5JZctYE yadDySkpDKi2jf8QqpRCZIb1IVbIO9mxItBjKQJamacO+XVGLSLKh8NEM8+4A8PDEJoC gRFArTbt6U+h00jvCS/4wEudXNL2miAXisJ1ep11qMMga/RUWZ9Ds2W6oWi0YPWRuHB+ U1xkcNf910s9YPFV22ty4m6Bh2F3/JMNJduO7L77wP2jEGVub1vixPH99YlViQeMrMsS v+sa3iJ82PHalB7I3beSVJOdhVeWTkY6Zfy7CI5YzTbp+eFsX3FJ9afgiCgFrPCecIzb qXJQ== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM533R40U/h5S1tb67QpNd6XVbtvCYt7jeEBFqMQwhW3BkbByc93kl 9ZgIl3hvlUGyF9EZPaFDGuw= X-Google-Smtp-Source: ABdhPJwzc1tZrjX6QKFUT93Qw2sCV0EbOMPA5fZYWzot6Od8Q7dRbFV43wQs1QwXJsbOxPLOaQf7oA== X-Received: by 2002:a5d:570b:: with SMTP id a11mr29136799wrv.281.1617033402369; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:d1c8:: with SMTP id b8ls9370560wrd.3.gmail; Mon, 29 Mar 2021 08:56:41 -0700 (PDT) X-Received: by 2002:a5d:4dd2:: with SMTP id f18mr29189331wru.366.1617033401588; Mon, 29 Mar 2021 08:56:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617033401; cv=none; d=google.com; s=arc-20160816; b=fwNtYVqvRLynyzWvjkjQwNOAUUKYL3r3El2HmwHAJCzSOpTjjWpUHHLluB09tJh8+W gnefJ0QaDXENwpb2FcKoB2M+mz78WSbR2YE1P+HQgYeU4r02dkVIBh9W6+OtSTq/pcaQ aNIAo5cHnk/iCHI4itQaCnyk+MwZypT/hjDZciB5cQYCNQ1gEGLFGPAqCbWwZjrMA6go FHpRkrIqCF/gVKfBvGOV42X/ANdTPc+c5wPxmeaQtYNYf84/SB9u0AqnGnHZ5l+ksky7 nFdUYksZcbYHDBKQF0HvL5vRPyOp8sgdXCeND1kCO4W+fnqW2j3NpWIrVsMMiTQYZJTE eGFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from; bh=yHoCU04XxwvWmnrkJTeq3p3ZiaqeAxvgoUmrH6zUW3M=; b=X3DXTbedI5tNJ3WLggfpy1gyVFWE12Gxt1UQQa8/S3B60w6SCTBCC4K34KtQs0OE2N JIqQdj0lDbk3GRxIrfY78/z7XWUj2Xd6Iq1Jcdd2c11bDRvSRhCX0eVhnkqU2f1aTpqA nr59G0I6J23DaPqFLvDoyRXEvSNLBTcjo/bK267VZsShJH0de1SvtqOm6CEb7xZtJQCq 6qy5MrG6NjRs+OQ+hTTA9vNefwAq8etXILZv3HD6vLxYOXzzyoTmxdjDZJ2DVWDxzWjA rIYgfd6y2yj3dIYpxt5SqODt3hNkOtmKaIIKxQiTvcQvUQ/HqOxkZiDtdOCrVSbyMiwx 7HOw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id p65si16648wmp.0.2021.03.29.08.56.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Mar 2021 08:56:41 -0700 (PDT) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 12TFufP6010082 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Mar 2021 17:56:41 +0200 Received: from md1sf36c.ad001.siemens.net ([167.87.46.205]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12TFufsj031984 for ; Mon, 29 Mar 2021 17:56:41 +0200 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v8 0/5] Add support for containerized root filesystems Date: Mon, 29 Mar 2021 17:56:35 +0200 Message-Id: <20210329155640.62445-1-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Original-Sender: silvano.cirujano-cuesta@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1695582417476998366?= X-GMAIL-MSGID: =?utf-8?q?1695582417476998366?= v8: cosmetic changes in docs and small fix in CI script v7: issues in sample configurations and CI script fixed and tested on two different CI environments. This patch series provides support for containerized root filesystems, for both target images and SDKs. For containerized target images the new image type `container-img` has been added. For containerized SDKs the task `populate_sdk` has been extended. Containerized root filesystems are easy to distribute and run, enabling this way following scenarios: - Use ISAR to build container images meant to be run only in containers. - Use the same ISAR configuration to build images for containers, VMs and bare-metal. - Easy SDK distribution and "installation". - Quickly testing certain applications in the workstation using the target root filesystem. In order to build containerized target root filesystems `IMAGE_TYPE` has to be `container-img`, additionally the container image format can be selected with the variable `CONTAINER_FORMATS`. The default format is `docker-archive`. In order to build containerized SDKs the variable `SDK_FORMAT` has to provide any of the supported container formats (e.g. `docker-archive`). The default format is the legacy non-containerized: `tar_xz`. It also provides a sample machine, multiconfigs and ci-testing. More information about its usage is documented in the file docs/user_manual.md. A PoC/demo of this functionality (only the SDK part) has been created based on the project https://github.com/siemens/meta-iot2050. Jan Kiszka already tested and liked it! => https://github.com/siemens/meta-iot2050/issues/86#issuecomment-768907845 Successful builds of both containerized target and SDK are available on the same PoC project: - https://github.com/Silvanoc/meta-iot2050/actions/runs/558311580 - https://github.com/Silvanoc/meta-iot2050/actions/runs/558311581 and also the resulting images: - https://github.com/users/Silvanoc/packages/container/package/meta-iot2050%2Fiot2050-debian-arm64 - https://github.com/users/Silvanoc/packages/container/package/meta-iot2050%2Fiot2050-debian-sdk-arm64 In order to get a feeling about its usage (you need Docker or Podman), follow these simple copy&paste instructions: https://github.com/Silvanoc/meta-iot2050/blob/master/kas/BUILDING-SDK-CONTAINER.md#running-the-sdk Build instructions are available in the upper part of that document. Two new dependencies (umoci and skopeo -backporting from bullseye to buster works easily) are required to create containerized root filesystems (as specified in the documentation). Typical container image management actions (e.g. push an image to a container image regitry) are out of scope. Available tools (Docker, Skopeo, Buildah, Podman,...) should be used for these actions. A patch will follow this one to get the dependencies into the container images being provided by the project https://github.com/siemens/kas (for `kas-container`, for example). Silvano Cirujano Cuesta (5): classes: add root filesystem containerizing class classes: add new image type 'container-img' sdk: add support for containerized sdk docs: document creation of container images ci: add container image sample configurations doc/user_manual.md | 179 ++++++++++++++++++ meta-isar/conf/local.conf.sample | 3 + meta-isar/conf/machine/container.conf | 5 + .../conf/multiconfig/container-bullseye.conf | 4 + .../conf/multiconfig/container-buster.conf | 4 + .../conf/multiconfig/container-stretch.conf | 4 + meta/classes/container-img.bbclass | 18 ++ .../classes/image-container-extension.bbclass | 82 ++++++++ meta/classes/image-sdk-extension.bbclass | 42 +++- meta/classes/image.bbclass | 1 + scripts/ci_build.sh | 29 ++- 11 files changed, 363 insertions(+), 8 deletions(-) create mode 100644 meta-isar/conf/machine/container.conf create mode 100644 meta-isar/conf/multiconfig/container-bullseye.conf create mode 100644 meta-isar/conf/multiconfig/container-buster.conf create mode 100644 meta-isar/conf/multiconfig/container-stretch.conf create mode 100644 meta/classes/container-img.bbclass create mode 100644 meta/classes/image-container-extension.bbclass