From patchwork Tue Jul 23 12:27:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Schaffner X-Patchwork-Id: 3715 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 23 Jul 2024 14:27:20 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oo1-f55.google.com (mail-oo1-f55.google.com [209.85.161.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 46NCRFUi026815 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 23 Jul 2024 14:27:16 +0200 Received: by mail-oo1-f55.google.com with SMTP id 006d021491bc7-5ccb0432d4dsf4242932eaf.2 for ; Tue, 23 Jul 2024 05:27:16 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1721737629; cv=pass; d=google.com; s=arc-20160816; b=RSoERxuGCm5C4iP9gCg6grt208bZZBmvTz4dGNfbj7gDZiHR/URiGfHnT6GZHgf2mt Sd+wx1MBWuMXi+nug/0PpuS2A47m1bLJiC90KBaJ72iq1usNwSa01hSaJD4V8LUo/Ni6 LmZfVABJlsO3bKLGMoRG4IFwrpu15a4istVKigGQZPV5JLSRI/QRSF1+COrw8yGYyGZX ceElMioJj0ejFxHUZ/bAZglF7TV/e7qJMwZYqNyUo8ypQZlLrlTvtaVtTMvrHgK4tqs9 1+5TYGcLxvRxnDv0aW3uHzP1wlY/gIdkInL2/4xUYPiVMl3LIYyQ5ocEVpjwk8dF8b3S 8cRQ== 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:reply-to:mime-version:message-id :date:subject:cc:to:from:dkim-signature; bh=VstRLHE+HU1cpYvRW0KVu3NZ+uW6QVY4VwJBbM8ZEUo=; fh=mfVYdvRFNGtp2AA05C459lf92j9xmrf0zob/qNv7FMs=; b=dNuLJHbJ+qVWNJuqx8C8131H8KheltnrqX9b9L8JOZ0L/3YKuqcaVZLMYP40Y/RPpx 7WhyB1jBbm7zmcBRRxikQm/xJL9qtXdEB9T2hRCVdhFN5wzpriTprjOiVTKM3p48+U+G gdVNIxkLUOBvIhMivhSxdmjol1e9C/bWVAOaZIqikS+jcK9GJMI4+F+CZbmk9H3sKELQ Q/D9k3rp/wZ117dX1V2klP1ZmXT+us6AQy1cg9w57944BVJEZJYqz6RXY+V6A9KjAFum PFJVikQu5/sYXxdD8N9z4GDtC71Z0r1omrXNqGRETqWwSXBLPqs4+vDEr5XUvO33zW6z VA8Q==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Ml+h39Gz; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f403:260c::628 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1721737629; x=1722342429; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VstRLHE+HU1cpYvRW0KVu3NZ+uW6QVY4VwJBbM8ZEUo=; b=sTWHStzDnxwqOxSdOG9HNi2g2Z+pKEBW+cjj22qicNzgOTACTr/zHs84br0cxR2Nq1 oYQ/YNDXplCC6VGg7JBgIgJh12NDZJQMZFcaENkjvSzRuw6/ITEYftaDMnTkB6ZLgcm1 25hIqIOkfrA8Z0TdsClz20G5p+K1K+fZutWDSuSpKwx0Q92Q3imolhFt/XKEymS3Hvzu jMsEwi2pvB7RnRvW+JDr/sVe252g925RH8CPI6zRFsPI5fm6mIA589z94pNV9O+m2Oe/ Vue1a8bucELD9VP4c7weBMpJDbVrFHuX4RcWd/T1poiElVBbRSi/F9PtaUgE2G+06ncc 74Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721737629; x=1722342429; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=VstRLHE+HU1cpYvRW0KVu3NZ+uW6QVY4VwJBbM8ZEUo=; b=ZfgLp4D+tcUhO3e9GUe4PJD7UY2odpMFO4yYJ8aDjOqIVqWujjAnDwHXoevlcREqeZ /NlGbaoPgz/WG3k6Gz0Du29tGE1r3it3gDQLNl23CSDlna/dR/DxvhWb8ex1cRBWjpmM Q44QdzaQfBK/pMVewP55jhqcdyrqw4EDqkXfR/gjOBV36Mb+A7JAO1yRSehWVJ0+iu2z voPiOtsmhWVs60URnFaw7Ym6VM5qVVLsKZJKuHLEnI5H3jsk7qQ01je+dvapu4M2IUJl JYMlYISZ527r3maRgEuxq4QJv/4SrysrSKEtXkzh5A516aPzMkTJfTS4QgJGA2N4cueT OBYw== X-Forwarded-Encrypted: i=3; AJvYcCVGpLoVPdO11BYYvpAqxl4JdzbVrYPt2LzSXhwke72D6ymTQuxYHWPQZsausqKQVbPx5BWHo1bKbFKYY/fV9oEgGOgEsww= X-Gm-Message-State: AOJu0Yw7W6jKJPOazp7EWlaxq5OSFlhfNU/CXoKvoIdxva1Bxbhgvr+z /Y3ESsAGmGdBXn40FzMcGXJIL40crrUXP47Yz7lpOt71TdYJxy0j X-Google-Smtp-Source: AGHT+IEFByajOQqxJjowvsQ1xi5sxYkI4EVDDx9qEvMk2sU140qlIyFlVXNFilKEbhIAZEbSrGPnGQ== X-Received: by 2002:a4a:e90b:0:b0:5ce:f75b:175e with SMTP id 006d021491bc7-5d564f5fb1fmr13257781eaf.4.1721737629387; Tue, 23 Jul 2024 05:27:09 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a4a:ac8a:0:b0:5c2:1c26:de10 with SMTP id 006d021491bc7-5d51ebd70ecls5159891eaf.1.-pod-prod-04-us; Tue, 23 Jul 2024 05:27:08 -0700 (PDT) X-Received: by 2002:a05:6808:13d0:b0:3d5:64d6:9f1e with SMTP id 5614622812f47-3dae607dd43mr16841775b6e.36.1721737628617; Tue, 23 Jul 2024 05:27:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1721737628; cv=pass; d=google.com; s=arc-20160816; b=IhNBiw6PywQB/lEt1WlSiWTZHf2VUixCr70WQ8qgUlaHNRHP0TyrwVNZLjnWG7rGMk ebB0+pQtufRuS0s2dE4JPKqFJ884Nc0dlIfzXOqOfu4mQhbFr9+Y5nT/IPzcT9xRN4pU gmG+95vUnhg16ZFRGawniHW63uTGnnFyDb7Ta16naj/1g/VihYwVIhpK/951BdTj70AD 8gQAn0tejs5IrqAt3oVeMuoBfKozzLuTK917YXk62D2znHSvQPq0cIIW7JfLgDQpjiRP KBURSebw6PfUdNEPJUpdaXce5rDBMdX1UoNNbIwBzrqxwmwUl9eVib6jWQEpInLAVldF uZIw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:message-id:date:subject:cc :to:from:dkim-signature; bh=ODnTNgMd6csTjkzlSNKDbnzUsM2HRvWZxO5U89EbiNI=; fh=PG3Ah0dK3ojp0GcH6ht2aYUj3c1p7MjveCg97gnw/0A=; b=ANy4w5K7iaAq8WfwvpP8YILl9AEAoZrNghcZZEdIyVluITV52t2GEQ6dbBhiqWx9og xwtI1NHtkUII74E7wwpBj3mm5aw5ncUfXtFcqSKRl+cIsooM/7RIdIQF8lTYDM7C6p+t O9CMpK9/pu/xNR2GYBqCzADXfQLC17OPgb8qsVZEuoSxms8H/Hn8+K8mrNqxk0aVWf6K Bx6X4vr66UNiuT7U0Y+My/o/AAv9Bm3I5jvAJhjeQTmu9wYkhgK/XkbY4DAOn+2c9Sdk wmjGisuUxQFSOUt+mOLKI57LSt7pd8w5PyniH4Q1ZLmkdqVN+nbVehPRzUgLRWBiFbH6 6vGg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Ml+h39Gz; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f403:260c::628 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on20628.outbound.protection.outlook.com. [2a01:111:f403:260c::628]) by gmr-mx.google.com with ESMTPS id 5614622812f47-3dae0bcec20si348194b6e.5.2024.07.23.05.27.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Jul 2024 05:27:08 -0700 (PDT) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f403:260c::628 as permitted sender) client-ip=2a01:111:f403:260c::628; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h4ar3OG5KyxI6rAtr9lVmuW4OddgFa0nUm62xgxQOkRy3oe3daE2rPlwJSl35/5cvw+Kwx14+XOH5hnZlYg2zCawzHIuKEfxpf1pCEKeL0iRpfvjaHAzI5h6A/BFaeDBE8dBoC4Zl1ff+ls0rP5BrMVgMrIpBUOGBDlyhWE0IWmAJlJMsBTWVp0Gw05XjoNrQjRbqo7mARA/L2sH2jmvgaSEB3pORW7z52btt7UIJUSUq/mFUmLdLjXeokN1hCcV1TQ/VBBdut1QvToK+MNGAOhtfIiSAleUCXNz6a1RRPvQZcs4xG+1j/fdPwJzdTrIwnmSs0dS3lY0JD6GgiIXtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ODnTNgMd6csTjkzlSNKDbnzUsM2HRvWZxO5U89EbiNI=; b=hX8QLjSXxurnMrL/yDFj17ukY7B7qtw2ziS2UZEqCtqBlF0UUXKddRs1EIZYwK7StkY8RkIG62m02+himC9ECEUD/TUlr6Kxq+QB5lHtsyWX3BqOFMhfeFmXJNFahRuQiRPAZsdeRxQFpT3YVdl2BFFDJmLTaBgrO4LEjcb5iEMk8E/T/kMkywHRR4adX5/XoxuRkTYC8FoE7ML+29mbPNZ3y8Ux/4zk/xS/gRu8FlgI7Kju5D9371iIwNRR+rBs4gZawmpjzuWy+1lPy7fkVsVQbcqY0zR33vIMmeT8mwURA8RKyb2lKI1FbyDPZ/k9+8LGbCiCoGq7GjOpG9dnxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:550::8) by DU0PR10MB6536.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:403::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.18; Tue, 23 Jul 2024 12:27:05 +0000 Received: from AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM ([fe80::4cbc:c0b7:27cc:2082]) by AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM ([fe80::4cbc:c0b7:27cc:2082%6]) with mapi id 15.20.7762.027; Tue, 23 Jul 2024 12:27:05 +0000 X-Patchwork-Original-From: "'Tobias Schaffner' via isar-users" From: Tobias Schaffner To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, Tobias Schaffner Subject: [PATCH] isar-sstate: reupload utilized files older than max-age Date: Tue, 23 Jul 2024 14:27:03 +0200 Message-Id: <20240723122703.1210290-1-tobias.schaffner@siemens.com> X-Mailer: git-send-email 2.40.1 X-ClientProxiedBy: FR0P281CA0062.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::23) To AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:550::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR10MB6349:EE_|DU0PR10MB6536:EE_ X-MS-Office365-Filtering-Correlation-Id: a2ebde7a-fa0d-4cf8-b7a5-08dcab12c37a X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: 7RcgqBO7Bw/XeoJYOqGZ7dSGUwa0JORSit0MXKNtmykTzwQ2ny3Q8H0Nma8p+52Yw64vxnLzgtYTSMIyVCpziK11cc9Vcy4GnB3kyXoPhVb3PK66tpjO/+yCFQuY/5IPK8BGy3khlmQmXhnAhRZDDl+j1Ssc09rfVmhPt0st99DHy5HGHKw1hhQm+jUGyfvFPkMUItcyT0qvzV3l/qPSMXU8WvOkpptXd7b2rtoYvzdJSjL5mCnRvNzRS2Z5O67wZiJWLRulcXriPJnDdhXxQd+xE6p6gnrQlMWlvPWqHnx26t/6qs8OBWNVi2khydtaaJErBCShYHqtwZ/+9qkuIRzaMEH1LzZ356K0mk+itLejuZg+uNzVVe6EuYEiThzj7LYJhIZiDm1RMcNPy0CioKPI6fO8HTmMeKZ9mv2K6Iq3Q9MWE8BfKNoUFoNoOCd1Hncgn5I5OiRZsM3l7mwsua8sEYAgE2HFdoxWyIe040u/4Nf7K3CuCX8XxfR5QZbQXVXy2aNJeNdbxjDUJGvkcaffTYsDnsBQP/WGTjvrwQe7MrXyu/FDcNS6va4SAW94KiqMRMoOSl7zfAHDmAKehm4SE1g+n0LsXjA+YaPh/VvdHKS9l443bV7bumTH8UB3ZguhzXmTLPyfZtIMCwdR4D22WoXlm32XaVLDX6Sdexi1ILgyKxxPHAx7DZ4nIZr22TqSh1ZMNYzGyeS5baSQ7sM35vx9T+/juHjLkBQTPp2gkrCcFSzN7KpZAZzNIBsVPvH2chRPtmL8KpEFIpiQf99nKXadTPPWtlITJZy2trRNuv3ZA9u5cenVrPl8/D4zPIYNMVchn0/86vnJjGcaKtFFXX4OdON0eoHbEIv2+k94c4piOFqktdsW2cvCrLGD5uxvWxLYzJw2NvVdb+6w3ALgNrp+emLsDbON7XJcw7v2r+REDnxd5owawS+/JXYFoqODsDS1MnKkwsOfSSC4SOjYLFLIzck58n5wywPWeC16ubUQwwj3CJFIW8yumYiaGDXG0h3e63QCzHVXXKyTMd9oukcC/cqrQ90LzAcHX+6rsbX4o1f+xcS2pnXBeBaHdtdWKKU4X3arsqby5pfurDtqC9ACbWulcTY2qJBNF4vylNcn85DOZiAmHnYS0vI1dy6USVkVPpBwJfv8UmWYYWapNehqxrzxSDfZ7UHohC9ba2urpzJYsjkTSSAQh3QY4XOr2xzu1QJ/zjdp33LV0DBd1RALsLHqRcd+OBLTtlniqSEchZbRwvEb96XIk1guYm8h/ZYkIwOuvAARMs0kjChs6E552T0Yp6DGZCWGa5pgvc7BWKe5bPEo7EM1d8Srhd3OByqbtAkXuBPmeZskFw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MTKQzVrSmkTXt5NXH0XijhoacVOYt5qlIKzy6wIKe4p8KuM0tXzuQ57TAUhHKoJ7Iub16JGM1CBjzykIUQSD+x13vFM144x410pUPKab0jZnxdzKEKBKUKLV4JrFN/B6ky5wkf8XJ3j4kfvbqE4NQsgDlM90wfnJ4p6E840kaxCSKiEtun67pHWeePsPHVCMhJBA7+LEjEB1im/tFklO9MbLL73yrXyru48cIqMZS9xC9qN29wduzuHzlcDd5HJGOJ0BRIXJQDa4jKHAq4c87l87BScrlh4+eznGgGCnRZGM3XhbS2vp9ovCFQbaMEUXjwN+br1QFifbPOV4+/nSoNzuM38UeLCQ4h+ptaS5f/B3kHca1W57VJ+o4kAfnckPkN/LZMUmyG5T4YSVHGZD7aYHFfJWZzMijXQdU24eItNX5u4WHo/ZH8jXBzzew8bKM6JEx2UmL69xL18w3VIO5D8AfyvmYzOmJS20Oe3jCdG5BL5O3mXgzngqs+h5loOYT5Yf9Z7Q+McGU6zXrxSVwvn4cqm/YbM7sGNfH/73EiPqvkja985CmSpe8J4MuZRvgcjc5w8rRq+YmTivzUyMYyHrUEG3x9wg3az8KGJc4nlQ/XptxTd1DA4QASkE01aU9GHrKZFFSmKeHdoAIOQI7a8zy4Dv1FSo0r/MkdXrVul9+vEsVOA8hSXUuuEKYDFH1dhpqnegdAYtRigD+OQLhGNslf5Yc4Iie+yYoSNs77A0hrrTcwY+TAFL2zkpMCoKX8ksJPy+8okLasXJoMll25U02xszJG9jXbAjNcB1379gldW7uFWYg86+2jDXCTk6/WvUd7+u8KiyqPgvnWw7OkevjQ2imS+rEPWCVZPRhWDcu/Ll3lzFVuP9KckxqYsBWlQ23HvHDOOycPB7LqW7k/ZsdyKXxF0QXWHFfjSkL7eF7WtKVM0Egpchm5QhbiCJUC4Q4UsdD0v7zuBDpkRzO30jiV/c4zs/ItwNhBZ1/J3xnE+0aghZ+pHbv/kBSarXbMgkUNW9lW1FVhv/rJyYYxzDICw5isOMDNPJVuF375+thAztYi++wWRJ/7iQrQFiTOQOsuq+cMGSgKlt+90l7vsxNfBegyTF+PSxGOoN4Dlm4q1y05C46fbfMlmh+CUYp1Nn4qk6ZWF4+0YoF3O0UUT6WyDVKGLlsYPk2p31kd28ocOviz20K8EPsnQ2OO12/7kacdrA0U2vGjZRAzdlzU3vxSTiyqWCuBLC7cG5xj6uI4hay/e+PVMfZmMBIVNHnIHItAAoKfTC27MQovcxlzsdxm2ynGeYvC/igH8eaGqo8DPkkGMlfAsvptGQlasdiihim3qZdMDTHiu1jpv840UycO41YpH3X3I2ElDhPI8blXy4UdQcU55NMcn2oH+EWWd6LdEe/eM+03AwOXrO1Km1RvAsWzVxiVzNvSoJH3CLyaeDJmJHzjCKiKOcu95KyfQ360z6HtstzAQOBzonIevs8kwF2pH3+CTLvfyCiElq4Yl6izykjrzZCgdasnYPqE9SvUO9gSmean4HVOAYMzAAwOM5mMOXFs8LpKGofOREJ1Xb5ntejShuA5jU9hbRS3t2Lmy6vlZal7l8F8CQhA== X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2ebde7a-fa0d-4cf8-b7a5-08dcab12c37a X-MS-Exchange-CrossTenant-AuthSource: AS2PR10MB6349.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2024 12:27:05.8180 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TceQLUZVUR1NajgbjX6Of13ucDZTRJOiV2kYmHeKbJ/KjmeAqD52B1BCNmjKdmCqvQU5NNChh6LFHR6ys44N9oxeuKS7hba9XXPzs9pI1R4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB6536 X-Original-Sender: tobias.schaffner@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Ml+h39Gz; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f403:260c::628 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Tobias Schaffner Reply-To: Tobias Schaffner 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-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Currently, the Isar-sstate script deletes all files older than max-age during a clean call, regardless of whether they are still in use. Given that S3 buckets do not offer a means to update timestamps other than through a reupload, this commit introduces a change to reupload all files utilized by the current build if they are older than max-age during an isar-sstate upload call. Signed-off-by: Tobias Schaffner --- scripts/isar-sstate | 57 ++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/scripts/isar-sstate b/scripts/isar-sstate index 4ea38bc8..a60f50dd 100755 --- a/scripts/isar-sstate +++ b/scripts/isar-sstate @@ -32,6 +32,11 @@ and supports three remote backends (filesystem, http/webdav, AWS S3). The `upload` command pushes the contents of a local sstate cache to the remote location, uploading all files that don't already exist on the remote. +`--max-age` specifies after which time artifacts in the cache should be +refreshed. Files older than this age will be reuploaded to update its timestamp. +This value should be chosen to be smaller than the clean max-age to ensure that +the artifacts are refreshed before they are cleaned. + ### clean The `clean` command deletes old artifacts from the remote cache. It takes two @@ -179,6 +184,17 @@ StampsRegex = re.compile( r"(.*/)?(?P[^/]+)/(?P[^/]+)/([^/]+)\.do_(?P[^/]+)\.(?Psigdata)\.(?P[0-9a-f]{64})" ) +def convert_duration_string_to_seconds(x): + seconds_per_unit = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400, 'w': 604800} + m = re.match(r'^(\d+)(w|d|h|m|s)?', x) + if m is None: + return None + unit = m.group(2) + if unit is None: + print("WARNING: MAX_AGE without unit, assuming 'days'") + unit = 'd' + return int(m.group(1)) * seconds_per_unit[unit] + class SstateTargetBase(object): def __init__(self, path, cached=False): """Constructor @@ -598,7 +614,7 @@ def arguments(): '-v', '--verbose', default=False, action='store_true') parser.add_argument( '--max-age', type=str, default='1d', - help="clean: remove archive files older than MAX_AGE (a number followed by w|d|h|m|s)") + help="clean/upload: remove/reupload archive files older than MAX_AGE (a number followed by w|d|h|m|s)") parser.add_argument( '--max-sig-age', type=str, default=None, help="clean: remove siginfo files older than MAX_SIG_AGE (defaults to MAX_AGE)") @@ -632,7 +648,7 @@ def arguments(): return args -def sstate_upload(source, target, verbose, **kwargs): +def sstate_upload(source, target, verbose, max_age="1d", **kwargs): if not os.path.isdir(source): print(f"WARNING: source {source} does not exist. Not uploading.") return 0 @@ -640,23 +656,37 @@ def sstate_upload(source, target, verbose, **kwargs): print(f"WARNING: target {target} does not exist and could not be created. Not uploading.") return 0 + print(f"INFO: scanning {target}") + all_files = target.list_all() + + def target_file_present(file_path): + for file in all_files: + if file.path == file_path: + return file + print(f"INFO: uploading {source} to {target}") os.chdir(source) - upload, exists = [], [] + upload, exists, update = [], [], [] for subdir, dirs, files in os.walk('.'): target_dirs = subdir.split('/')[1:] for f in files: file_path = (('/'.join(target_dirs) + '/') if len(target_dirs) > 0 else '') + f - if target.exists(file_path): + target_file = target_file_present(file_path) + if target_file: if verbose: print(f"[EXISTS] {file_path}") exists.append(file_path) + if target_file.age > convert_duration_string_to_seconds(max_age): + update.append((file_path, target_dirs)) + if verbose: + print(f"[UPDATE] {file_path}") else: upload.append((file_path, target_dirs)) - upload_gb = (sum([os.path.getsize(f[0]) for f in upload]) / 1024.0 / 1024.0 / 1024.0) + upload_gb = (sum([os.path.getsize(f[0]) for f in (upload + update)]) / 1024.0 / 1024.0 / 1024.0) print(f"INFO: uploading {len(upload)} files ({upload_gb:.02f} GB)") print(f"INFO: {len(exists)} files already present on target") - for file_path, target_dirs in upload: + print(f"INFO: {len(update)} files will be refreshed") + for file_path, target_dirs in upload + update: if verbose: print(f"[UPLOAD] {file_path}") target.mkdir('/'.join(target_dirs)) @@ -665,24 +695,13 @@ def sstate_upload(source, target, verbose, **kwargs): def sstate_clean(target, max_age, max_sig_age, verbose, **kwargs): - def convert_to_seconds(x): - seconds_per_unit = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400, 'w': 604800} - m = re.match(r'^(\d+)(w|d|h|m|s)?', x) - if m is None: - return None - unit = m.group(2) - if unit is None: - print("WARNING: MAX_AGE without unit, assuming 'days'") - unit = 'd' - return int(m.group(1)) * seconds_per_unit[unit] - - max_age_seconds = convert_to_seconds(max_age) + max_age_seconds = convert_duration_string_to_seconds(max_age) if max_age_seconds is None: print(f"ERROR: cannot parse MAX_AGE '{max_age}', needs to be a number followed by w|d|h|m|s") return 1 if max_sig_age is None: max_sig_age = max_age - max_sig_age_seconds = max(max_age_seconds, convert_to_seconds(max_sig_age)) + max_sig_age_seconds = max(max_age_seconds, convert_duration_string_to_seconds(max_sig_age)) if not target.exists(): print(f"WARNING: cannot access target {target}. Nothing to clean.")