From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6ED482D97BA for ; Mon, 11 Aug 2025 22:24:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754951095; cv=none; b=M2KojmwQh0BMOQT2XC/CZe38oPk0lqP0TtvTTazX+tU7l85d75BJopfNv66OAKSg1A7SFokRwY/sA2m7pYXy5wcMLxqULozMb9JSPsEv3lhEjPo0xiMgQQJjc1maE/9a1eq5rrzOMl8uZg9DMLb6dvlxhAilymcTX6euZKMznUg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754951095; c=relaxed/simple; bh=nwUtG4EhQmzvdTMTWgAMhu/WtJzyV1aN1mz9SPKUVxg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=CPUuZTwxIN2NQbKxwYnfIx86trv8HOFCrqvNJ1shJPAiE3hZQ47EVE37uh980eU1hmpUBSOXZzm+KlZtdNISrr1EDZgPavkZsz5VgalFWFHGpYpDlcCNE5OxBlC4edRLvL+sYnC4jKQCdsKqJdp02qts3H8FWgnp+V7Av2yunrg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=sEVkRER8; arc=none smtp.client-ip=198.137.202.133 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="sEVkRER8" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=ICyU8Vf1UyMiKpTL5eTWHGn8p2wwQ3R3I3QJD+NEq+w=; b=sEVkRER8jZp4hULUKlVJeYEJEP LzrsI1EZj2c9aZrEExpB5UB/fbTtt0vjQsZ4bXo62VsWmpajA979P4Bx06xj88ziShEmHDnyaAbR6 SgpnXWKdXUO1GOInKSK7k05NkAyK5KYwnHtmQ7FbRGRXZYy+0riAcWLh5O2VTMQmYSJc9X6cxW2Gb ByYYzAljFecDt7Wf9y06EsfkzgqQgNiAFfmNHcdfkcg0fxjdYLt2hESo/OD1ZaLRBM+6OHGWVODeV rebRief8j4w0t9+ozDvv2y7z7M325HeP93wSnAvJ7fexpf7DBM7IaZSjILhgjqD6mnAkAcYCVlemP ATFNllsA==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1ulawn-00000009Hiq-0JoB; Mon, 11 Aug 2025 22:24:53 +0000 From: Luis Chamberlain To: Chuck Lever , Daniel Gomez , kdevops@lists.linux.dev Cc: Luis Chamberlain Subject: [PATCH 00/23] remove old kernel-ci and enhance reboot-limit Date: Mon, 11 Aug 2025 15:24:27 -0700 Message-ID: <20250811222452.2213071-1-mcgrof@kernel.org> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Luis Chamberlain The CONFIG_KERNEL_CI thing was used back in the hay day before we adopted fstests SOAK_DURATION. Although CONFIG_KERNEL_CI proved useful to test fstests in a loop -- the only reasonable way to scale is to just embrace SOAK_DURATION and extend any twitches we need within fstests. However only one workflow uses CONFIG_KERNEL_CI still. So move that functionality directly into the reboot-limit workflow which uses it. While at it, as a drive by, let's enhance the reboot limit workflow with kexec and also graphing capabilities allowing us to do A/B testing for reboots and kexec regression testings. The rationale for this work si to help fix any misunderatandings on what kdevops's kernel CI support consists of, and CONFIG_KERNEL_CI certainly was not it. It's evolved now to just the kdevops kernel-ci repo and the the .ci/ symlinks, along with optional kernel-kpd trees for subsystems. Luis Chamberlain (23): fstests: remove CONFIG_KERNEL_CI support fstests: remove kernel-ci script symlinks blktests: remove CONFIG_KERNEL_CI support gitr: remove CONFIG_KERNEL_CI support ltp: remove CONFIG_KERNEL_CI support nfstest: remove CONFIG_KERNEL_CI support pynfs: remove CONFIG_KERNEL_CI support reboot-limit: convert CONFIG_KERNEL_CI to internal loop feature kconfig: remove CONFIG_KERNEL_CI infrastructure scripts: remove kernel-ci loop infrastructure reboot-limit: simplify what gets selected reboot-limit: add graph visualization support for results reboot-limit: save graphs in organized results/graphs directory docs: add comprehensive reboot-limit workflow documentation reboot-limit: add kexec-tools dependency installation reboot-limit: add A/B testing support targets reboot-limit: fix kexec and reboot connection handling reboot-limit: add COUNT parameter to override reboot count reboot-limit: fix wait_for tasks using wrong host reference reboot-limit: use ansible reboot module for all reboot types reboot-limit: fix COUNT parameter to properly override reboot count reboot-limit: handle empty dev group gracefully reboot-limit: add kexec comparison feature README.md | 19 +- defconfigs/kernel-testing | 1 - defconfigs/reboot-limit | 31 + defconfigs/reboot-limit-compare | 36 ++ defconfigs/reboot-limit-kexec | 32 + docs/fstests.md | 13 +- docs/images/reboot_limit_example.png | Bin 0 -> 735262 bytes docs/reboot-limit.md | 223 +++++++ kconfigs/Kconfig.kdevops | 3 - kconfigs/Kconfig.kernel-ci | 170 ----- playbooks/roles/gen_hosts/tasks/main.yml | 13 + playbooks/roles/gen_hosts/templates/hosts.j2 | 55 +- playbooks/roles/gen_nodes/tasks/main.yml | 32 + .../reboot-limit/tasks/do-reboot-compare.yml | 126 ++++ .../roles/reboot-limit/tasks/do-reboot.yml | 98 ++- .../reboot-limit/tasks/handle-reboot-data.yml | 94 +++ .../tasks/install-deps/debian/main.yml | 10 + .../reboot-limit/tasks/install-deps/main.yml | 12 + .../tasks/install-deps/redhat/main.yml | 10 + .../tasks/install-deps/suse/main.yml | 10 + playbooks/roles/reboot-limit/tasks/main.yml | 88 ++- scripts/workflows/blktests/run_kernel_ci.sh | 1 - .../workflows/blktests/run_kernel_ci_kotd.sh | 1 - scripts/workflows/blktests/run_loop.sh | 66 -- .../demos/reboot-limit/analyze_results.py | 609 ++++++++++++++++++ .../reboot-limit/generate_sample_data.py | 73 +++ .../demos/reboot-limit/run_kernel_ci.sh | 1 - .../demos/reboot-limit/run_kernel_ci_kotd.sh | 1 - .../workflows/demos/reboot-limit/run_loop.sh | 23 +- .../demos/reboot-limit/run_loop_kotd.sh | 25 + scripts/workflows/fstests/run_kernel_ci.sh | 1 - .../workflows/fstests/run_kernel_ci_kotd.sh | 1 - scripts/workflows/fstests/run_loop.sh | 98 --- scripts/workflows/generic/run_kernel_ci.sh | 295 --------- scripts/workflows/gitr/run_kernel_ci.sh | 1 - scripts/workflows/gitr/run_kernel_ci_kotd.sh | 1 - scripts/workflows/gitr/run_loop.sh | 58 -- scripts/workflows/kotd/run_kernel_ci_kotd.sh | 107 --- scripts/workflows/ltp/run_kernel_ci.sh | 1 - scripts/workflows/ltp/run_kernel_ci_kotd.sh | 1 - scripts/workflows/ltp/run_loop.sh | 58 -- scripts/workflows/nfstest/run_kernel_ci.sh | 1 - .../workflows/nfstest/run_kernel_ci_kotd.sh | 1 - scripts/workflows/nfstest/run_loop.sh | 58 -- scripts/workflows/pynfs/run_kernel_ci.sh | 1 - scripts/workflows/pynfs/run_kernel_ci_kotd.sh | 1 - scripts/workflows/pynfs/run_loop.sh | 79 --- workflows/blktests/Makefile | 13 - workflows/demos/reboot-limit/Kconfig | 64 +- workflows/demos/reboot-limit/Makefile | 117 +++- workflows/fstests/Makefile | 14 - workflows/gitr/Makefile | 19 - workflows/ltp/Makefile | 19 - workflows/nfstest/Makefile | 19 - workflows/pynfs/Makefile | 26 - 55 files changed, 1737 insertions(+), 1193 deletions(-) create mode 100644 defconfigs/reboot-limit create mode 100644 defconfigs/reboot-limit-compare create mode 100644 defconfigs/reboot-limit-kexec create mode 100644 docs/images/reboot_limit_example.png create mode 100644 docs/reboot-limit.md delete mode 100644 kconfigs/Kconfig.kernel-ci create mode 100644 playbooks/roles/reboot-limit/tasks/do-reboot-compare.yml create mode 100644 playbooks/roles/reboot-limit/tasks/handle-reboot-data.yml create mode 100644 playbooks/roles/reboot-limit/tasks/install-deps/debian/main.yml create mode 100644 playbooks/roles/reboot-limit/tasks/install-deps/main.yml create mode 100644 playbooks/roles/reboot-limit/tasks/install-deps/redhat/main.yml create mode 100644 playbooks/roles/reboot-limit/tasks/install-deps/suse/main.yml delete mode 120000 scripts/workflows/blktests/run_kernel_ci.sh delete mode 120000 scripts/workflows/blktests/run_kernel_ci_kotd.sh delete mode 100755 scripts/workflows/blktests/run_loop.sh create mode 100755 scripts/workflows/demos/reboot-limit/analyze_results.py create mode 100755 scripts/workflows/demos/reboot-limit/generate_sample_data.py delete mode 120000 scripts/workflows/demos/reboot-limit/run_kernel_ci.sh delete mode 120000 scripts/workflows/demos/reboot-limit/run_kernel_ci_kotd.sh create mode 100755 scripts/workflows/demos/reboot-limit/run_loop_kotd.sh delete mode 120000 scripts/workflows/fstests/run_kernel_ci.sh delete mode 120000 scripts/workflows/fstests/run_kernel_ci_kotd.sh delete mode 100755 scripts/workflows/fstests/run_loop.sh delete mode 100755 scripts/workflows/generic/run_kernel_ci.sh delete mode 120000 scripts/workflows/gitr/run_kernel_ci.sh delete mode 120000 scripts/workflows/gitr/run_kernel_ci_kotd.sh delete mode 100755 scripts/workflows/gitr/run_loop.sh delete mode 100755 scripts/workflows/kotd/run_kernel_ci_kotd.sh delete mode 120000 scripts/workflows/ltp/run_kernel_ci.sh delete mode 120000 scripts/workflows/ltp/run_kernel_ci_kotd.sh delete mode 100755 scripts/workflows/ltp/run_loop.sh delete mode 120000 scripts/workflows/nfstest/run_kernel_ci.sh delete mode 120000 scripts/workflows/nfstest/run_kernel_ci_kotd.sh delete mode 100755 scripts/workflows/nfstest/run_loop.sh delete mode 120000 scripts/workflows/pynfs/run_kernel_ci.sh delete mode 120000 scripts/workflows/pynfs/run_kernel_ci_kotd.sh delete mode 100755 scripts/workflows/pynfs/run_loop.sh -- 2.47.2