From patchwork Fri Mar 12 09:58:38 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: 356 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:c583:0:0:0:0:0 with SMTP id x3csp1554993oop; Fri, 12 Mar 2021 11:58:47 -0800 (PST) X-Received: by 2002:a05:6512:33b6:: with SMTP id i22mr464708lfg.251.1615579127375; Fri, 12 Mar 2021 11:58:47 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1615579127; cv=pass; d=google.com; s=arc-20160816; b=e6MzB6l343sUxTQINC2kCx1yunsNPnLnz4Bq7KaqDKTn1taUVISIF2sNxKek3zyNbj 7X1um1HKvlAA/JgAsTRvZSWcqTvPAR+LcTPUXBi19HcgiBVs+jjdj46+YE0/y9mtn0MR e6TExpgWjtb7YBxySn/sIib8Cjb5b/PmZ/3YwZRdjJvBHyg744t/JrADvkJ6peD1JunU SxMPhXQmqBTgnoYG7d5VZMvhwySA6j8ZjTxCuvFVI5Ha46Wadvn6kk+5sDt4U0wEE+Pd 9a/rYVXisviOTeyEE3tF6sgEHjIzOspWsQj0Y76iNyIg3yzLSe+m3bfgjpr+8ppLaG5E HCQw== 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=rJSKv6XhqUASbxLWSguJkuD7ZPkEGXetW75q+FBcj10=; b=ZZFruF48wBPRkLge00LUQNqSrYKw01/j3FI6qO6VLgSHx7NeGmC5hNrEjzdoV6coym 5dU3PBsY1n1Q6Ed60iNfVEgBgWIAOBbQCVMYCNIeeCyvNi8VVefKzW8ckY/8facQi0nR rUKVdREGD/LaYNjMC5RroMGrexQuyHUKaqznUp4neLvFVdCuIFaq75BPocuDpqVOfW5R pRlmSHGlfkRwUjdwAfzxNqk2m1hjrIVkWH54V/0Sd7ZC68LF9p0vB/cKLPQLzsmvFffu NIfk3FL+o4cyimvaZvDFzRN0x0lIoBPqJmQKqh4tpmk5dJyT8dV0/8jxKbMiEpGEd+aF aolA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=jFOTkXUE; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrb5upv6bamgqeb7jf67i@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRB5UPV6BAMGQEB7JF67I@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 o5sor1864947lfi.35.2021.03.12.11.58.46 (Google Transport Security); Fri, 12 Mar 2021 11:58:47 -0800 (PST) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrb5upv6bamgqeb7jf67i@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=jFOTkXUE; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrb5upv6bamgqeb7jf67i@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRB5UPV6BAMGQEB7JF67I@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1615579126; cv=pass; d=google.com; s=arc-20160816; b=hzoSVQnGFlXJFV/umeNSuaXDCB0rVBLFy/22C/ZIDxGyVsGphnQYivKD0k9uRACJre PkK3N8JLf8h68htWROenaGEr/zgceGJkBJ2N+Bq2OREg3Z925/VshuGgIE16gsjvDPsn nxblTRjrZOmwvvfa8wLZRbwqyGLJ+yPBltputkOI6hiiWzvcSLbqNbNR3cvYA4WlTaCP aVWk1hXb/ew9HyLmJ0r/U5H4M+I6RFBHTe4X/BFz/WKfK1eF8XyHK/0g/axP1VsIpqGZ WBdYkh0qKFsb+AmOz4wfjVxWaMW/V7PO5dEQtAn8Liv5ZHpG67WZOq+e2AKl7WHylSJ3 bzsA== 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=rJSKv6XhqUASbxLWSguJkuD7ZPkEGXetW75q+FBcj10=; b=Df4L0ZFVrwT0ftP5MlwA39H8bpd1Tu9PZHyrWsF/5JyV3ZD6lgq9TwPFlqx6vYy4mL nlLfdk7bOwJLoIQQk9RNucYvK3ERiNmszWzk8XOgP045BqeJfsK96hYYPYVTyW1vU3bQ SKtKveuCt9k4FxeSDdwHwuj4O2uWjzXfmwrzFypW2+UKEFzTgPUSqXsKEMtH0PXszSMF kWniUVLoFBJKCsURcfej3CYstvFd3S/vM9xVP6HtveG27/KkVpbzNWZ0MlrOaL37mDEI Ua8Dj5uasBVKqSJBl3bbW/WAOqctNu3fXVvP2hvk3x68vwFXsAQh2ESExUN1BvVnhH/C T62g== 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=rJSKv6XhqUASbxLWSguJkuD7ZPkEGXetW75q+FBcj10=; b=jFOTkXUEZlvk9fSNudZan2s6pJ7UTyT79M/dl4iUlorB6ahBGpPtlPldNnLypG98mU BJWuu4tXeIAhPK/NJXFUXXtlnZTdbDC6NBbbfzj7UzuT1UTPOx12PNQIFiWxlg3OpkNm Ej0KOvpK+dC/7Su1y5Uxnpdcfe2wqt5aRAEz5p7TsWNWNwdcyYx+N+fb5DjNtlmNiiYY Gi+IFkEx/UGp+BtD1XeG3q0GHAdCjUEyxUbiaxwuI1rwPgJDDP3rKINKnG3Tm8KOI1DD Bysvj3I4BgHRHXT/sspw1O9YX5BU5eRi3INyNdnhdi2iEirn2kGSrrahNDeCrDZTBHZi aSvw== 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=rJSKv6XhqUASbxLWSguJkuD7ZPkEGXetW75q+FBcj10=; b=bZo3mUDYlaJyFvUp3hOIVLWgGr9g34Dcfk3NcRaOyBX3F2ucuh2OjjGZ7161zIBGAQ +IouoeSexIH+hNjQMO6AGxMGabPJcZNd5mXE4DCJJ5d87LqqDe2pRzl1rieBWz3B3d8J LOB7/czjDBZqhMcDCLGMg7y8ykSdxsjYbSiMBXORCYkvnVvPCdwHNZ9InYUO6zaRHCJm nrM3+zYo19Xg2OnpHTvfCyTP89MjM06U6ryYvqbzAnUsqsGEDJWe9xOMx+xsnASkg0cB Kolvy7EVPUVZ4v8qEXZ1RKf/BOcbS8hA4qg509mTRwF6m6b3tADgExgJQnc7wPLpIdBo aFlA== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM530qCupuX/2pzaIpwLEB7c4jvhrlCM5RXUFP5XYYcuRLL30mexMg Wiu+twkAFkWLBiQMI27XmX0= X-Google-Smtp-Source: ABdhPJwmocbau6L9hxeRPO9pODoCCuMh0HclbT3pCNWN/VOtgKH5g9uo90OKln38RVXccIIF/j0NQw== X-Received: by 2002:a05:6512:6ca:: with SMTP id u10mr462758lff.107.1615579126641; Fri, 12 Mar 2021 11:58:46 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:9a48:: with SMTP id k8ls2184028ljj.10.gmail; Fri, 12 Mar 2021 11:58:45 -0800 (PST) X-Received: by 2002:a05:651c:54a:: with SMTP id q10mr3375386ljp.454.1615579125691; Fri, 12 Mar 2021 11:58:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615579125; cv=none; d=google.com; s=arc-20160816; b=pfG298E1/sKHYAHxWyEpg5Id1sNK74bKvvz57aeSzeRhsgbhOB21JXfkDZlaj2DDlW x94uDflfFW/5hqtZY32I9gAlU6QL61u3CL3H4Wdg3a8jea6iTeVIPMVhpoUQcwab8qz0 QVl/Jkz3J0vA/STIo/Mlt3hqGxY2OSRokBUmDO7xQng43DFmBPkLSNe0i4Ixhf7QbfDW 22ql0bnqyoV3nCkAq+74d7hJ6JS/5sUMDJCkixGuxsV9i//cOlQTVAj8FsQ1U8xqz7F3 F/XaiXWED8VEbZyv3g8eeC7tnHaKZ4bz9Ipp9onyNRz17s0vlPPGeBe0/vHo5lUu7Tw4 kcTA== 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=Yi+veJnorSahyEKUruceZa4bQHkU8+z8Q0Xc1UQzzdo=; b=0C8S80werB0/Ww0rOpuKb0fjhg4/kTLkBu1CRDpFLcImuos2zyZHxdRo3bRuqM7tNN ABsxMSNOfXoVtLobTR+sNorOwQuKKA+WLDVH09cGkNs2/Kk1QACONiqDdWuUNJO0KmlM B7hCJI8KHTXJejGuptiM0BR8BsA1HwhhpGeKrMUSYADKPTSAxX6Mqz9N7mI9kFlZbO7z 2FOcxOUF2/5O7VkDJ2D0pky1W3cxjEZuO3W1MNNH4s2H9K+M1fXZLqCQe3vOPJBUS1Gj M3TKwPVDLmFq2dNJcCqINxpqQgPSX2JAPk1/Q0nhe3p36eHYu4vL2PHawvs049YCfF2/ mKVw== 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 d19si256460ljo.1.2021.03.12.11.58.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Mar 2021 11:58:45 -0800 (PST) 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 12CJwiq4014645 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Mar 2021 20:58:45 +0100 Received: from md1sf36c.ad001.siemens.net ([167.87.3.106]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12CJwiaM008930 for ; Fri, 12 Mar 2021 20:58:44 +0100 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v7 0/5] Add support for containerized root filesystems Date: Fri, 12 Mar 2021 20:58:38 +0100 Message-Id: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.1 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?1694057499406302006?= X-GMAIL-MSGID: =?utf-8?q?1694057499406302006?= NEW: 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 | 127 ++++++++++++++++++ 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, 311 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