From 0257421cebdcae2d9a9b740c59d02972774263a6 Mon Sep 17 00:00:00 2001 From: Katerina Koukiou Date: Thu, 15 Feb 2024 13:35:49 +0100 Subject: [PATCH 1/3] storage: start using sessionStorage for the communication with cockpit-storage In release 311 cockpit-storaged started using sessionStorage for communication with anaconda. Introduce this and also temporarilly keep the data in localStorage as well. This allows us to maintain backwards compatibility with older cockpit-storage releases. We need this for the purpose of not breaking installability tests, by requesting the not-everywhere available cockpit-storaged version in the spec file. --- src/components/storage/ModifyStorage.jsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/components/storage/ModifyStorage.jsx b/src/components/storage/ModifyStorage.jsx index 229af6a9be..0626a9c69f 100644 --- a/src/components/storage/ModifyStorage.jsx +++ b/src/components/storage/ModifyStorage.jsx @@ -33,6 +33,11 @@ export const ModifyStorage = ({ idPrefix, onCritFail, onRescan, setShowStorage, const targetSystemRoot = useContext(TargetSystemRootContext); const mountPointConstraints = useMountPointConstraints(); const isEfi = mountPointConstraints?.some(c => c["required-filesystem-type"]?.v === "efi"); + const cockpitAnaconda = JSON.stringify({ + mount_point_prefix: targetSystemRoot, + available_devices: selectedDevices, + efi: isEfi, + }); return ( <> @@ -41,13 +46,9 @@ export const ModifyStorage = ({ idPrefix, onCritFail, onRescan, setShowStorage, variant="link" icon={} onClick={() => { - window.localStorage.setItem("cockpit_anaconda", - JSON.stringify({ - mount_point_prefix: targetSystemRoot, - available_devices: selectedDevices, - efi: isEfi, - }) - ); + window.sessionStorage.setItem("cockpit_anaconda", cockpitAnaconda); + // FIXME: Remove when cockpit-storaged 311 is available in Rawhide + window.localStorage.setItem("cockpit_anaconda", cockpitAnaconda); setShowStorage(true); }} > From 34450070b8539273f8641fb2b88de7cb86c82127 Mon Sep 17 00:00:00 2001 From: Katerina Koukiou Date: Thu, 15 Feb 2024 18:47:35 +0100 Subject: [PATCH 2/3] Reduce parallelism on CI Our ci sets `TEST_JOBS=8`, assuming that tests use ~ 1 GiB VMs. But Anaconda creates 4 GiB VMs, resulting in an overall memory usage of 32 GiB for the VMs, plus several more for the browser. Reduce parallelism to avoid OOMs. --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 33bae2e938..3835dfc3ad 100644 --- a/Makefile +++ b/Makefile @@ -196,8 +196,9 @@ create-updates.img: bots # test runs in kernel_t context and triggers massive amounts of SELinux # denials; SELinux gets disabled, but would still trigger unexpected messages +# we create huge VMs, so we need to reduce parallelism on CI integration-test: prepare-test-deps test/reference $(UPDATES_IMG) - TEST_AUDIT_NO_SELINUX=1 test/common/run-tests + J=$$((TEST_JOBS/4)); [ $$J -ge 1 ] || J=1; TEST_AUDIT_NO_SELINUX=1 test/common/run-tests --jobs $$J test/reference: test/common test/common/pixel-tests pull From fe4a11f53d07014407e238ff5acce0ca8ea12ea3 Mon Sep 17 00:00:00 2001 From: Katerina Koukiou Date: Tue, 13 Feb 2024 10:48:49 +0100 Subject: [PATCH 3/3] tests: download cockpit-storaged from custom COPR till release 311 --- test/vm.install | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/vm.install b/test/vm.install index 5bd9e05d43..cb31e81f4d 100755 --- a/test/vm.install +++ b/test/vm.install @@ -49,7 +49,9 @@ def vm_install(image, verbose, quick): # cockpit-storaged is also available in the default rawhide compose, make sure we don't pull it from there download_from_copr(f"packit/cockpit-project-cockpit-{cockpit_pr}", "cockpit-storaged", machine) else: - packages_to_download += " cockpit-storaged" + # FIXME: Download cockpit-storaged from custom COPR + # till https://github.com/cockpit-project/cockpit/pull/19924#event-11785480839 is released + download_from_copr("@cockpit/main-builds", "cockpit-storaged", machine) # Build anaconda-webui from SRPM unless we are testing a anaconda-webui PR scenario # from a different repo, then pull it from the anaconda-webui PR COPR repo