diff --git a/.gitignore b/.gitignore index 1691214..a843c3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,22 @@ -SOURCES/backports-3.25.2.gem +SOURCES/backports-3.25.3.gem SOURCES/base64-0.2.0.gem SOURCES/childprocess-5.1.0.gem SOURCES/dacite-1.9.2.tar.gz SOURCES/ethon-0.18.0.gem SOURCES/ffi-1.17.2.gem SOURCES/logger-1.7.0.gem -SOURCES/mustermann-3.0.4.gem +SOURCES/mustermann-3.1.1.gem SOURCES/nio4r-2.7.5.gem -SOURCES/pcs-0.11.11.tar.gz -SOURCES/pcs-web-ui-0.1.24.2.tar.gz -SOURCES/pcs-web-ui-node-modules-0.1.24.2.tar.xz -SOURCES/puma-7.1.0.gem +SOURCES/pcs-0.11.12.tar.gz +SOURCES/pcs-web-ui-0.1.25.tar.gz +SOURCES/pcs-web-ui-node-modules-0.1.25.tar.xz +SOURCES/puma-8.0.1.gem SOURCES/pyagentx-0.4.pcs.2.tar.gz -SOURCES/rack-3.2.4.gem +SOURCES/rack-3.2.6.gem SOURCES/rack-protection-4.2.1.gem -SOURCES/rack-session-2.1.1.gem +SOURCES/rack-session-2.1.2.gem SOURCES/rack-test-2.2.0.gem -SOURCES/rackup-2.2.1.gem +SOURCES/rackup-2.3.1.gem SOURCES/ruby2_keywords-0.0.5.gem SOURCES/sinatra-4.2.1.gem -SOURCES/tilt-2.6.1.gem +SOURCES/tilt-2.7.0.gem diff --git a/.pcs.metadata b/.pcs.metadata index d1c72e4..f6eb784 100644 --- a/.pcs.metadata +++ b/.pcs.metadata @@ -1,22 +1,22 @@ -83f4267dacf83004d47a4cac784b2dea403810f5 SOURCES/backports-3.25.2.gem +41b95975c12381bcd9cbc32bd278440313fce12d SOURCES/backports-3.25.3.gem ea3a591bdfa93655d8eec9d7bdd7fb87ecb5616a SOURCES/base64-0.2.0.gem 963b12b359251f41998eebe6f6adfec92fe6f49f SOURCES/childprocess-5.1.0.gem 01690d9883c149890e04dce4db43ec305959aa39 SOURCES/dacite-1.9.2.tar.gz ffd8b3e5ac044a1a69791411e3e5cf4b5d4a6768 SOURCES/ethon-0.18.0.gem 01747fce469e932b701cb7a35d1ef4b3c68eb170 SOURCES/ffi-1.17.2.gem abfa641d98ab2e71bc8102b0aab2f466569668d2 SOURCES/logger-1.7.0.gem -09083bd58f23a4a9153f440e8f398601b75bae51 SOURCES/mustermann-3.0.4.gem +0b23c093481361b6b7dc4c733407e28f6aba181a SOURCES/mustermann-3.1.1.gem 34420ab7703c0033e18680504a9f8899322ac908 SOURCES/nio4r-2.7.5.gem -62daec4b5c7b796434021927ed738776ea75575b SOURCES/pcs-0.11.11.tar.gz -bc3ce8d4486b8fc9651047f2194854d40341556f SOURCES/pcs-web-ui-0.1.24.2.tar.gz -080b9735cfd8a5e777c1ab6e0219c6b045ba9b59 SOURCES/pcs-web-ui-node-modules-0.1.24.2.tar.xz -68945ed88cc06ad8fa963abcf302fd49da2154b3 SOURCES/puma-7.1.0.gem +4377db28b20fbf93819f3d719545d644e93b9886 SOURCES/pcs-0.11.12.tar.gz +76c4bde0b534e8ce82ad2b2f3b155faaa09ae6fb SOURCES/pcs-web-ui-0.1.25.tar.gz +384635d68c0648c3d18c53c0c7a93227167841bf SOURCES/pcs-web-ui-node-modules-0.1.25.tar.xz +7fb9184ad87327fd94ea3c1f75158d3ca8332d4a SOURCES/puma-8.0.1.gem 3176b2f2b332c2b6bf79fe882e83feecf3d3f011 SOURCES/pyagentx-0.4.pcs.2.tar.gz -a2ad0e1c27926296f2489a3f2c1385de313fc639 SOURCES/rack-3.2.4.gem +41b3f39ab51fe8584be6f9e849152bb69b06f575 SOURCES/rack-3.2.6.gem 1457dded6ffa0f564b33329861dd6b257f07498d SOURCES/rack-protection-4.2.1.gem -654168c0755ffe10443dd066276d4661bafdb2a4 SOURCES/rack-session-2.1.1.gem +3353c03a5d41f14bfa3459436400fc363ab4fd96 SOURCES/rack-session-2.1.2.gem 922c597f0503f97dc3a058fe997590b108bc429a SOURCES/rack-test-2.2.0.gem -efa414fe946ccc1f70e64337d206e98807baa717 SOURCES/rackup-2.2.1.gem +f470c1dc5a15e44a241cae4cb50d94b7b3f6b010 SOURCES/rackup-2.3.1.gem d017b9e4d1978e0b3ccc3e2a31493809e4693cd3 SOURCES/ruby2_keywords-0.0.5.gem 611999f43e27779278c80acfb5825c7255497988 SOURCES/sinatra-4.2.1.gem -43d4eaaed4bb0f481afd079cb1dd22be41b24ad4 SOURCES/tilt-2.6.1.gem +93253f48f74242535d1c572e88a5651f2c1565c4 SOURCES/tilt-2.7.0.gem diff --git a/SOURCES/RHEL-173500-01-revert-feat-deprecate-multi-cluster-management.patch b/SOURCES/RHEL-173500-01-revert-feat-deprecate-multi-cluster-management.patch new file mode 100644 index 0000000..a586421 --- /dev/null +++ b/SOURCES/RHEL-173500-01-revert-feat-deprecate-multi-cluster-management.patch @@ -0,0 +1,235 @@ +From cab85b898e69e9eb7590f10449b5c134b3b6e0ed Mon Sep 17 00:00:00 2001 +From: Ivan Devat +Date: Wed, 3 Jun 2026 13:25:11 +0200 +Subject: [PATCH] Revert "feat: deprecate multi cluster management" + +This reverts commit f26ee4ce4c2fc1e2ed15d0bf62e4ebeb57a72d50. +--- + CHANGELOG.md | 5 -- + packages/app/Makefile.am | 1 - + .../src/app/view/dashboard/DashboardApp.tsx | 36 -------------- + .../useDashboardDeprecationDismiss.ts | 21 --------- + .../src/app/view/dataTest/json/dashboard.json | 4 -- + packages/test/Makefile.am | 1 - + .../dashboard/deprecation-alert.test.ts | 47 ------------------- + 7 files changed, 115 deletions(-) + delete mode 100644 packages/app/src/app/view/dashboard/useDashboardDeprecationDismiss.ts + delete mode 100644 packages/test/src/test/scenes/dashboard/deprecation-alert.test.ts + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index bea609c9..5f66dce2 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -6,11 +6,6 @@ + + * Support for pacemaker CIB secrets ([RHEL-7604]) + +-### Deprecated +- +-* Multi-cluster management is deprecated and will be removed in a future version +- ([RHEL-148956]) +- + ### Fixed + + * Omit empty link options in cluster setup request +diff --git a/packages/app/Makefile.am b/packages/app/Makefile.am +index f2919961..15b98600 100644 +--- a/packages/app/Makefile.am ++++ b/packages/app/Makefile.am +@@ -560,7 +560,6 @@ EXTRA_DIST = \ + src/app/view/dashboard/DashboardApp.tsx \ + src/app/view/dashboard/DashboardToolbar.tsx \ + src/app/view/dashboard/index.ts \ +- src/app/view/dashboard/useDashboardDeprecationDismiss.ts \ + src/app/view/dataTest/index.ts \ + src/app/view/dataTest/json/cluster/acl.json \ + src/app/view/dataTest/json/cluster/aclToolbar.json \ +diff --git a/packages/app/src/app/view/dashboard/DashboardApp.tsx b/packages/app/src/app/view/dashboard/DashboardApp.tsx +index 80404724..b5d23d2a 100644 +--- a/packages/app/src/app/view/dashboard/DashboardApp.tsx ++++ b/packages/app/src/app/view/dashboard/DashboardApp.tsx +@@ -1,16 +1,12 @@ + import React from "react"; + import {useSelector} from "react-redux"; + import { +- Alert, +- AlertActionCloseButton, + Breadcrumb, + BreadcrumbItem, +- Button, + PageSection, + Stack, + StackItem, + } from "@patternfly/react-core"; +-import {InfoCircleIcon} from "@patternfly/react-icons"; + + import {testMarks} from "app/view/dataTest"; + import {selectors} from "app/store"; +@@ -25,7 +21,6 @@ import { + + import {DashboardClusterList} from "./clusterList"; + import {DashboardToolbar} from "./DashboardToolbar"; +-import {useDashboardDeprecationDismiss} from "./useDashboardDeprecationDismiss"; + + const useDashboardSync = () => { + const dispatch = useDispatch(); +@@ -51,7 +46,6 @@ export const DashboardApp = () => { + const dispatch = useDispatch(); + const importedClusterNameList = useSelector(selectors.getImportedClusterList); + const loading = useSelector(selectors.dashboardGetLoadingStatus); +- const {dismissed, dismiss, restore} = useDashboardDeprecationDismiss(); + + return ( + +@@ -69,17 +63,6 @@ export const DashboardApp = () => { + when={loading.when} + isLoading={loading.currently} + /> +- {dismissed && ( +- +- )} + + + } +@@ -90,25 +73,6 @@ export const DashboardApp = () => { + + + +- {!dismissed && ( +- +- +- } +- {...testMarks.dashboard.deprecationAlert.mark} +- > +- Management of multiple clusters will be removed in a future +- version. +- +- +- )} + + {loading.status === "SUCCESS" && ( + { +- const [dismissed, setDismissed] = React.useState( +- () => localStorage.getItem(storageKey) === "true", +- ); +- +- const dismiss = () => { +- localStorage.setItem(storageKey, "true"); +- setDismissed(true); +- }; +- +- const restore = () => { +- localStorage.removeItem(storageKey); +- setDismissed(false); +- }; +- +- return {dismissed, dismiss, restore}; +-}; +diff --git a/packages/app/src/app/view/dataTest/json/dashboard.json b/packages/app/src/app/view/dataTest/json/dashboard.json +index 7d92a3ab..909f3fd4 100644 +--- a/packages/app/src/app/view/dataTest/json/dashboard.json ++++ b/packages/app/src/app/view/dataTest/json/dashboard.json +@@ -1,8 +1,4 @@ + { +- "deprecationAlert": { +- "close": {}, +- "showNotices": {} +- }, + "clusterList": { + "cluster": { + "actions": { +diff --git a/packages/test/Makefile.am b/packages/test/Makefile.am +index b0cd2c38..d7c201c0 100644 +--- a/packages/test/Makefile.am ++++ b/packages/test/Makefile.am +@@ -43,7 +43,6 @@ EXTRA_DIST = \ + src/test/scenes/dashboard/cluster-status.test.ts \ + src/test/scenes/dashboard/cluster-stop.test.ts \ + src/test/scenes/dashboard/common.ts \ +- src/test/scenes/dashboard/deprecation-alert.test.ts \ + src/test/scenes/dashboard/import-existring-cluster.test.ts \ + src/test/scenes/dashboard/to-cluster-transition.test.ts \ + src/test/scenes/fence-devices/arguments-view.test.ts \ +diff --git a/packages/test/src/test/scenes/dashboard/deprecation-alert.test.ts b/packages/test/src/test/scenes/dashboard/deprecation-alert.test.ts +deleted file mode 100644 +index bba245e4..00000000 +--- a/packages/test/src/test/scenes/dashboard/deprecation-alert.test.ts ++++ /dev/null +@@ -1,47 +0,0 @@ +-import {mock} from "test/tools"; +- +-const {deprecationAlert} = marks.dashboard; +- +-describe("Deprecation alert", () => { +- beforeEach(async () => { +- await page.evaluate(() => +- localStorage.removeItem("deprecationMultiClusterDismissed"), +- ); +- mock.shortcuts.withDashboard({clusterStatus: []}); +- }); +- +- afterEach(mock.stop); +- +- it("should display deprecation alert", async () => { +- await goToDashboard(); +- await isVisible(deprecationAlert); +- }); +- +- it("should hide alert after clicking close", async () => { +- await goToDashboard(); +- await click(deprecationAlert.close); +- await isAbsent(deprecationAlert); +- }); +- +- it("should show 'Show deprecation notices' after dismiss", async () => { +- await goToDashboard(); +- await click(deprecationAlert.close); +- await isVisible(deprecationAlert.showNotices); +- }); +- +- it("should restore alert when clicking 'Show deprecation notices'", async () => { +- await goToDashboard(); +- await click(deprecationAlert.close); +- await click(deprecationAlert.showNotices); +- await isVisible(deprecationAlert); +- }); +- +- it("should stay hidden when previously dismissed", async () => { +- await page.evaluate(() => +- localStorage.setItem("deprecationMultiClusterDismissed", "true"), +- ); +- await goToDashboard(); +- await isAbsent(deprecationAlert); +- await isVisible(deprecationAlert.showNotices); +- }); +-}); +-- +2.54.0 + diff --git a/SOURCES/do-not-support-cluster-setup-with-udp-u-transport.patch b/SOURCES/do-not-support-cluster-setup-with-udp-u-transport.patch index 21c5e19..f4bd46d 100644 --- a/SOURCES/do-not-support-cluster-setup-with-udp-u-transport.patch +++ b/SOURCES/do-not-support-cluster-setup-with-udp-u-transport.patch @@ -1,4 +1,4 @@ -From 289189cae07bc934efafe0dd3988f2345c6935a6 Mon Sep 17 00:00:00 2001 +From 20140bbe7ac508ae38dea9ff5dd6fa92ec84b8bf Mon Sep 17 00:00:00 2001 From: Ivan Devat Date: Tue, 20 Nov 2018 15:03:56 +0100 Subject: [PATCH] do not support cluster setup with udp(u) transport in RHEL9 @@ -9,7 +9,7 @@ Subject: [PATCH] do not support cluster setup with udp(u) transport in RHEL9 2 files changed, 3 insertions(+) diff --git a/pcs/pcs.8.in b/pcs/pcs.8.in -index 930d9ec58..2d2b44ff4 100644 +index 3b644d054..a1c573cf5 100644 --- a/pcs/pcs.8.in +++ b/pcs/pcs.8.in @@ -479,6 +479,8 @@ By default, encryption is enabled with cipher=aes256 and hash=sha256. To disable @@ -22,10 +22,10 @@ index 930d9ec58..2d2b44ff4 100644 .br Transport options are: ip_version, netmtu diff --git a/pcs/usage.py b/pcs/usage.py -index 102deceb1..4d63192d9 100644 +index 4bcef3d25..d6eb51750 100644 --- a/pcs/usage.py +++ b/pcs/usage.py -@@ -1498,6 +1498,7 @@ Commands: +@@ -1502,6 +1502,7 @@ Commands: hash=sha256. To disable encryption, set cipher=none and hash=none. Transports udp and udpu: @@ -34,5 +34,5 @@ index 102deceb1..4d63192d9 100644 support traffic encryption nor compression. Transport options are: -- -2.51.0 +2.54.0 diff --git a/SPECS/pcs.spec b/SPECS/pcs.spec index a62150c..628520e 100644 --- a/SPECS/pcs.spec +++ b/SPECS/pcs.spec @@ -1,6 +1,6 @@ Name: pcs -Version: 0.11.11 -Release: 2%{?dist} +Version: 0.11.12 +Release: 1%{?dist} # https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/ # https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses # GPL-2.0-only: pcs @@ -19,7 +19,7 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64 # To build an official pcs release, comment out branch_or_commit # Use long commit hash or branch name to build an unreleased version -# %%global branch_or_commit 4eb4cc1f9e7184021b3f5ed74752301af9fef8a5 +# %%global branch_or_commit 7686631f1f30e1088c9ef4260e9883e58a9063dc %global version_or_commit %{version} %if 0%{?branch_or_commit:1} @@ -30,10 +30,10 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64 # To build an official pcs-web-ui release, comment out ui_branch_or_commit # Last tagged version, also used as fallback version for untagged tarballs -%global ui_version 0.1.24.2 +%global ui_version 0.1.25 # Use long commit hash or branch name to build an unreleased version -# %%global ui_branch_or_commit 1dcc2142bbba73c758ab2f3d8499156780689e34 -%global ui_modules_version 0.1.24.2 +# %%global ui_branch_or_commit ce49beeeb386cb9c6773e72ee8ca320f73cf8eda +%global ui_modules_version 0.1.25 %global ui_version_or_commit %{ui_version} %if 0%{?ui_branch_or_commit:1} @@ -47,23 +47,23 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64 %global pyagentx_version 0.4.pcs.2 %global dacite_version 1.9.2 -%global version_rubygem_backports 3.25.2 %global version_rubygem_base64 0.2.0 +%global version_rubygem_backports 3.25.3 %global version_rubygem_childprocess 5.1.0 %global version_rubygem_ethon 0.18.0 %global version_rubygem_ffi 1.17.2 %global version_rubygem_logger 1.7.0 -%global version_rubygem_mustermann 3.0.4 +%global version_rubygem_mustermann 3.1.1 %global version_rubygem_nio4r 2.7.5 -%global version_rubygem_puma 7.1.0 -%global version_rubygem_rack 3.2.4 +%global version_rubygem_puma 8.0.1 +%global version_rubygem_rack 3.2.6 %global version_rubygem_rack_protection 4.2.1 -%global version_rubygem_rack_session 2.1.1 +%global version_rubygem_rack_session 2.1.2 %global version_rubygem_rack_test 2.2.0 -%global version_rubygem_rackup 2.2.1 +%global version_rubygem_rackup 2.3.1 %global version_rubygem_ruby2_keywords 0.0.5 %global version_rubygem_sinatra 4.2.1 -%global version_rubygem_tilt 2.6.1 +%global version_rubygem_tilt 2.7.0 %global min_compatible_pacemaker_version 2.1.0 %global first_incompatible_pacemaker_version 3.0.0 @@ -118,6 +118,7 @@ Patch1: do-not-support-cluster-setup-with-udp-u-transport.patch # ui patches: >200 # Patch201: bzNUMBER-01-name.patch +Patch201: RHEL-173500-01-revert-feat-deprecate-multi-cluster-management.patch # git for patches @@ -324,6 +325,7 @@ update_times_patch(){ %autosetup -T -b 100 -a 101 -N -n %{ui_src_name} %autopatch -p1 -m 201 # update_times_patch %%{PATCH201} +update_times_patch %%{PATCH201} # patch pcs sources %autosetup -S git -n %{pcs_source_name} -N @@ -624,6 +626,19 @@ run_all_tests %changelog +* Thu Jul 2 2026 Michal Pospíšil - 0.11.12-1 +- Rebased pcs to the latest sources (see CHANGELOG.md) + Resolves: RHEL-176268, RHEL-176478, RHEL-190558 +- Updated pcs-web-ui to 0.1.25 (see CHANGELOG_WUI.md) +- Reverted showing deprecation warnings for removal of multi-cluster support in pcs-web-ui (formerly tracked as RHEL-173500) + +* Tue May 5 2026 Michal Pospíšil - 0.11.11-3 +- Rebased pcs to the latest sources (see CHANGELOG.md) + Resolves: RHEL-149172, RHEL-164221 +- Rebased pcs-web-ui to the latest sources (see CHANGELOG_WUI.md) + Resolves: RHEL-173500 +- Updated bundled rubygems: backports, mustermann, puma, rack, rack-session, rackup, tilt + * Tue Feb 17 2026 Michal Pospíšil - 0.11.11-2 - Fixed CVE-2025-13465 by updating pcs-web-ui to 0.1.24.2 Resolves: RHEL-144308