import pcs-0.11.1-7.el9

This commit is contained in:
CentOS Sources 2022-01-11 13:49:04 -05:00 committed by Stepan Oksanichenko
parent 3aa874a013
commit 083c6aef1b
9 changed files with 232 additions and 138 deletions

6
.gitignore vendored
View File

@ -6,9 +6,9 @@ SOURCES/eventmachine-1.2.7.gem
SOURCES/ffi-1.13.1.gem
SOURCES/mustermann-1.1.1.gem
SOURCES/open4-1.3.4-1.gem
SOURCES/pcs-0.11.1.alpha.1.33-e5970.tar.gz
SOURCES/pcs-web-ui-0.1.10.tar.gz
SOURCES/pcs-web-ui-node-modules-0.1.10.tar.xz
SOURCES/pcs-0.11.1.tar.gz
SOURCES/pcs-web-ui-0.1.11.tar.gz
SOURCES/pcs-web-ui-node-modules-0.1.11.tar.xz
SOURCES/pyagentx-0.4.pcs.2.tar.gz
SOURCES/rack-2.2.3.gem
SOURCES/rack-protection-2.0.8.1.gem

View File

@ -6,9 +6,9 @@ e28c1e78d1a6e34e80f4933b494f1e0501939dd3 SOURCES/daemons-1.3.1.gem
cfa25e7a3760c3ec16723cb8263d9b7a52d0eadf SOURCES/ffi-1.13.1.gem
50a4e37904485810cb05e27d75c9783e5a8f3402 SOURCES/mustermann-1.1.1.gem
41a7fe9f8e3e02da5ae76c821b89c5b376a97746 SOURCES/open4-1.3.4-1.gem
77c5ef61c3a3f4511910d99d76033591988db011 SOURCES/pcs-0.11.1.alpha.1.33-e5970.tar.gz
86002e7752f3db1aa5b98d29166c7bf9bbc6c2b5 SOURCES/pcs-web-ui-0.1.10.tar.gz
14a0e8c5245dc34e8cc80663073e354c81c9e06c SOURCES/pcs-web-ui-node-modules-0.1.10.tar.xz
47d8d30bf502ff2a6a81c6cebc262fc272b48011 SOURCES/pcs-0.11.1.tar.gz
84f87804814a2f97aa9b9a33ca47f43fd6198097 SOURCES/pcs-web-ui-0.1.11.tar.gz
769c4b1abe37b44673e92c90c29d32fe9240fbc1 SOURCES/pcs-web-ui-node-modules-0.1.11.tar.xz
3176b2f2b332c2b6bf79fe882e83feecf3d3f011 SOURCES/pyagentx-0.4.pcs.2.tar.gz
345b7169d4d2d62176a225510399963bad62b68f SOURCES/rack-2.2.3.gem
1f046e23baca8beece3b38c60382f44aa2b2cb41 SOURCES/rack-protection-2.0.8.1.gem

View File

@ -0,0 +1,84 @@
From e1573865543a3d59930b315a40ecd9b7a807e1c1 Mon Sep 17 00:00:00 2001
From: Ondrej Mular <omular@redhat.com>
Date: Mon, 13 Dec 2021 12:48:26 +0100
Subject: [PATCH 3/3] revert of disallowing to clone a group with a stonith
inside
Originally, this was not fixed properly (it was possible to add a stonith
into a cloned group), therefore to stay consistent, this change is being
reverted. It will be fixed in the future by not allowing stonith to be
placed into a group.
---
pcs/resource.py | 16 ++--------------
.../tier1/cib_resource/test_clone_unclone.py | 8 ++------
2 files changed, 4 insertions(+), 20 deletions(-)
diff --git a/pcs/resource.py b/pcs/resource.py
index 928477b2..c7cf4c7e 100644
--- a/pcs/resource.py
+++ b/pcs/resource.py
@@ -1697,7 +1697,7 @@ def resource_clone_create(
):
element.parentNode.parentNode.removeChild(element.parentNode)
- def _reject_stonith_clone_report(force_flags, stonith_ids, group_id=None):
+ if element.getAttribute("class") == "stonith":
process_library_reports(
[
reports.ReportItem(
@@ -1706,24 +1706,12 @@ def resource_clone_create(
is_forced=reports.codes.FORCE in force_flags,
),
message=reports.messages.CloningStonithResourcesHasNoEffect(
- stonith_ids, group_id=group_id
+ [name]
),
)
]
)
- if element.getAttribute("class") == "stonith":
- _reject_stonith_clone_report(force_flags, [name])
-
- if element.tagName == "group":
- stonith_ids = [
- resource.getAttribute("id")
- for resource in element.getElementsByTagName("primitive")
- if resource.getAttribute("class") == "stonith"
- ]
- if stonith_ids:
- _reject_stonith_clone_report(force_flags, stonith_ids, name)
-
parts = parse_clone_args(argv, promotable=promotable)
if not update_existing:
clone_id = parts["clone_id"]
diff --git a/pcs_test/tier1/cib_resource/test_clone_unclone.py b/pcs_test/tier1/cib_resource/test_clone_unclone.py
index 7b0e89f9..4cc4cb3e 100644
--- a/pcs_test/tier1/cib_resource/test_clone_unclone.py
+++ b/pcs_test/tier1/cib_resource/test_clone_unclone.py
@@ -354,12 +354,9 @@ class Clone(
def test_clone_group_with_stonith(self):
self.set_cib_file(FIXTURE_GROUP_WITH_STONITH)
- self.assert_pcs_fail(
+ self.assert_effect(
"resource clone Group".split(),
- fixture_clone_stonith_msg(group=True),
- )
- self.assert_resources_xml_in_cib(
- fixture_resources_xml(FIXTURE_GROUP_WITH_STONITH)
+ fixture_resources_xml(FIXTURE_CLONED_GROUP_WITH_STONITH),
)
def test_clone_group_with_stonith_forced(self):
@@ -367,7 +364,6 @@ class Clone(
self.assert_effect(
"resource clone Group --force".split(),
fixture_resources_xml(FIXTURE_CLONED_GROUP_WITH_STONITH),
- output=fixture_clone_stonith_msg(forced=True, group=True),
)
def test_promotable_clone(self):
--
2.31.1

View File

@ -0,0 +1,73 @@
From 69bfb22dbd68023069f6dae11e418f6ad455474f Mon Sep 17 00:00:00 2001
From: Ondrej Mular <omular@redhat.com>
Date: Tue, 7 Dec 2021 11:14:37 +0100
Subject: [PATCH 2/3] fix rsc update cmd when unable to get agent metadata
`resource update` command failed with a traceback when updating a
resource with a non-existing resource agent
---
pcs/resource.py | 14 ++++++++------
pcs_test/tier1/legacy/test_resource.py | 21 +++++++++++++++++++++
2 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/pcs/resource.py b/pcs/resource.py
index b2a5e355..928477b2 100644
--- a/pcs/resource.py
+++ b/pcs/resource.py
@@ -1075,13 +1075,15 @@ def resource_update(lib, args, modifiers, deal_with_guest_change=True):
if report_list:
process_library_reports(report_list)
except lib_ra.ResourceAgentError as e:
- severity = (
- reports.ReportItemSeverity.WARNING
- if modifiers.get("--force")
- else reports.ReportItemSeverity.ERROR
- )
process_library_reports(
- [lib_ra.resource_agent_error_to_report_item(e, severity)]
+ [
+ lib_ra.resource_agent_error_to_report_item(
+ e,
+ reports.get_severity(
+ reports.codes.FORCE, modifiers.get("--force")
+ ),
+ )
+ ]
)
except LibraryError as e:
process_library_reports(e.args)
diff --git a/pcs_test/tier1/legacy/test_resource.py b/pcs_test/tier1/legacy/test_resource.py
index 417ca131..0f8415b4 100644
--- a/pcs_test/tier1/legacy/test_resource.py
+++ b/pcs_test/tier1/legacy/test_resource.py
@@ -4882,6 +4882,27 @@ class UpdateInstanceAttrs(
),
)
+ def test_nonexisting_agent(self):
+ agent = "ocf:pacemaker:nonexistent"
+ message = (
+ f"Agent '{agent}' is not installed or does "
+ "not provide valid metadata: Metadata query for "
+ f"{agent} failed: Input/output error"
+ )
+ self.assert_pcs_success(
+ f"resource create --force D0 {agent}".split(),
+ f"Warning: {message}\n",
+ )
+
+ self.assert_pcs_fail(
+ "resource update D0 test=testA".split(),
+ f"Error: {message}, use --force to override\n",
+ )
+ self.assert_pcs_success(
+ "resource update --force D0 test=testA".split(),
+ f"Warning: {message}\n",
+ )
+
def test_update_existing(self):
xml = """
<resources>
--
2.31.1

View File

@ -0,0 +1,25 @@
From 798d054db1a20b7cd2f2aed2b35b9e51835dec55 Mon Sep 17 00:00:00 2001
From: Tomas Jelinek <tojeline@redhat.com>
Date: Mon, 6 Dec 2021 16:06:31 +0100
Subject: [PATCH 1/3] fix enabling corosync-qdevice
---
pcsd/remote.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pcsd/remote.rb b/pcsd/remote.rb
index b569e249..e1923d6f 100644
--- a/pcsd/remote.rb
+++ b/pcsd/remote.rb
@@ -2002,7 +2002,7 @@ def qdevice_client_enable(param, request, auth_user)
unless allowed_for_local_cluster(auth_user, Permissions::WRITE)
return 403, 'Permission denied'
end
- if not ServiceChecker.new('corosync', enabled: true).is_enabled?('corosync')
+ if not ServiceChecker.new(['corosync'], enabled: true).is_enabled?('corosync')
return pcsd_success('corosync is not enabled, skipping')
elsif enable_service('corosync-qdevice')
return pcsd_success('corosync-qdevice enabled')
--
2.31.1

View File

@ -1,8 +1,7 @@
From 8dfec4b31078f1a645958aa0002a9f5467152dab Mon Sep 17 00:00:00 2001
From 49d9c698697b0dd49f53b60340705b4fd656e248 Mon Sep 17 00:00:00 2001
From: Ivan Devat <idevat@redhat.com>
Date: Tue, 20 Nov 2018 15:03:56 +0100
Subject: [PATCH 1/2] do not support cluster setup with udp(u) transport in
RHEL9
Subject: [PATCH] do not support cluster setup with udp(u) transport in RHEL9
---
pcs/pcs.8.in | 2 ++
@ -10,10 +9,10 @@ Subject: [PATCH 1/2] do not support cluster setup with udp(u) transport in
2 files changed, 3 insertions(+)
diff --git a/pcs/pcs.8.in b/pcs/pcs.8.in
index 60d0ae71..cafa421c 100644
index 0bbee071..ba14251d 100644
--- a/pcs/pcs.8.in
+++ b/pcs/pcs.8.in
@@ -451,6 +451,8 @@ By default, encryption is enabled with cipher=aes256 and hash=sha256. To disable
@@ -457,6 +457,8 @@ By default, encryption is enabled with cipher=aes256 and hash=sha256. To disable
Transports udp and udpu:
.br
@ -23,10 +22,10 @@ index 60d0ae71..cafa421c 100644
.br
Transport options are: ip_version, netmtu
diff --git a/pcs/usage.py b/pcs/usage.py
index f55e817e..911e85bd 100644
index bc885918..4e286f46 100644
--- a/pcs/usage.py
+++ b/pcs/usage.py
@@ -899,6 +899,7 @@ Commands:
@@ -916,6 +916,7 @@ Commands:
hash=sha256. To disable encryption, set cipher=none and hash=none.
Transports udp and udpu:

View File

@ -1,79 +0,0 @@
From e42084ac211638354fc052c5a24631570a23fe71 Mon Sep 17 00:00:00 2001
From: Miroslav Lisik <mlisik@redhat.com>
Date: Tue, 2 Nov 2021 14:13:47 +0100
Subject: [PATCH 2/2] fix changelog
---
CHANGELOG.md | 28 +++++++++-------------------
1 file changed, 9 insertions(+), 19 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f9a633c3..860bd05b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,15 +3,11 @@
## [Unreleased]
### Added
+- Explicit confirmation is now required to prevent accidental destroying
+ of the cluster with `pcs cluster destroy` ([rhbz#1283805])
- Add add/remove cli syntax for command `pcs stonith update-scsi-devices`
([rhbz#1992668])
-
-### Changed
-- Deprecation warnings use a "Deprecation Warning:" prefix instead of
- "Warning:" on the command line
-
-
### Fixed
- Do not unfence newly added devices on fenced cluster nodes ([rhbz#1991654])
- Fix displaying fencing levels with regular expression targets ([rhbz#1533090])
@@ -19,19 +15,6 @@
- Do not show warning that no stonith device was detected and stonith-enabled
is not false when a stonith device is in a group ([ghpull#370])
-[ghpull#370]: https://github.com/ClusterLabs/pcs/pull/370
-[rhbz#1533090]: https://bugzilla.redhat.com/show_bug.cgi?id=1533090
-[rhbz#1811072]: https://bugzilla.redhat.com/show_bug.cgi?id=1811072
-[rhbz#1991654]: https://bugzilla.redhat.com/show_bug.cgi?id=1991654
-[rhbz#1992668]: https://bugzilla.redhat.com/show_bug.cgi?id=1992668
-
-
-## [0.11.1.alpha.1] - 2021-08-26
-
-### Added
-- Explicit confirmation is now required to prevent accidental destroying
- of the cluster with `pcs cluster destroy` ([rhbz#1283805])
-
### Changed
- Pcs no longer depends on python3-distro package
- 'pcs status xml' now prints cluster status in the new format provided by
@@ -41,6 +24,8 @@
- Make roles `Promoted` and `Unpromoted` default ([rhbz#1885293])
- Make auto-deleting constraint default for `pcs resource move` command
([rhbz#1996062])
+- Deprecation warnings use a "Deprecation Warning:" prefix instead of
+ "Warning:" on the command line
### Removed
- Deprecated obsolete commands `pcs config import-cman` and `pcs config export
@@ -54,10 +39,15 @@
- Option `--master` is deprecated and has been replaced by option `--promoted`
([rhbz#1885293])
+[ghpull#370]: https://github.com/ClusterLabs/pcs/pull/370
[rhbz#1283805]: https://bugzilla.redhat.com/show_bug.cgi?id=1283805
+[rhbz#1533090]: https://bugzilla.redhat.com/show_bug.cgi?id=1533090
+[rhbz#1811072]: https://bugzilla.redhat.com/show_bug.cgi?id=1811072
[rhbz#1881064]: https://bugzilla.redhat.com/show_bug.cgi?id=1881064
[rhbz#1885293]: https://bugzilla.redhat.com/show_bug.cgi?id=1885293
[rhbz#1985981]: https://bugzilla.redhat.com/show_bug.cgi?id=1985981
+[rhbz#1991654]: https://bugzilla.redhat.com/show_bug.cgi?id=1991654
+[rhbz#1992668]: https://bugzilla.redhat.com/show_bug.cgi?id=1992668
[rhbz#1996062]: https://bugzilla.redhat.com/show_bug.cgi?id=1996062
--
2.31.1

View File

@ -1,27 +0,0 @@
From 41e5767f13ce6ff082727a332fc7ce5245f91ac7 Mon Sep 17 00:00:00 2001
From: Miroslav Lisik <mlisik@redhat.com>
Date: Tue, 2 Nov 2021 13:13:47 +0100
Subject: [PATCH] fix version
---
.tarball-version | 2 +-
.version | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.tarball-version b/.tarball-version
index 6ae7995..002e5eb 100644
--- a/.tarball-version
+++ b/.tarball-version
@@ -1 +1 @@
-0.11.1.alpha.1.33-e5970
+0.11.1.33-e5970
diff --git a/.version b/.version
index 6ae7995..002e5eb 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-0.11.1.alpha.1.33-e5970
+0.11.1.33-e5970
--
2.31.1

View File

@ -1,12 +1,12 @@
Name: pcs
Version: 0.11.1
Release: 4%{?dist}
Release: 7%{?dist}
# https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
# GPLv2: pcs
# ASL 2.0: tornado
# MIT: backports, dacite, daemons, ember, ethon, handlebars, jquery, jquery-ui,
# mustermann, rack, rack-protection, rack-test, sinatra, tilt
# MIT: backports, dacite, daemons, ethon, mustermann, rack, rack-protection,
# rack-test, sinatra, tilt
# GPLv2 or Ruby: eventmachne
# (GPLv2 or Ruby) and BSD: thin
# BSD or Ruby: open4, rexml, ruby2_keywords, webrick
@ -21,11 +21,11 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64
%global version_or_commit %{version}
# %%global version_or_commit %%{version}.210-9862
%global pcs_source_name %{name}-%{version_or_commit}.alpha.1.33-e5970
%global pcs_source_name %{name}-%{version_or_commit}
# ui_commit can be determined by hash, tag or branch
%global ui_commit 0.1.10
%global ui_modules_version 0.1.10
%global ui_commit 0.1.11
%global ui_modules_version 0.1.11
%global ui_src_name pcs-web-ui-%{ui_commit}
%global pcs_snmp_pkg_name pcs-snmp
@ -50,6 +50,8 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64
%global version_rubygem_tilt 2.0.10
%global version_rubygem_webrick 1.7.0
%global required_pacemaker_version 2.1.0
%global pcs_bundled_dir pcs_bundled
%global pcsd_public_dir pcsd/public
%global rubygem_bundle_dir pcsd/vendor/bundle
@ -104,14 +106,15 @@ Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_comm
# Z-streams are exception here: they can come from upstream but should be
# applied at the end to keep z-stream changes as straightforward as possible.
# Patch1: bzNUMBER-01-name.patch
Patch2: bz2032473-01-fix-enabling-corosync-qdevice.patch
Patch3: bz2019836-01-fix-rsc-update-cmd-when-unable-to-get-agent-metadata.patch
Patch4: bz1811072-01-revert-of-disallowing-to-clone-a-group-with-a-stonit.patch
# Downstream patches do not come from upstream. They adapt pcs for specific
# RHEL needs.
# pcs patches: <= 200
Patch1: fix-version.patch
Patch2: do-not-support-cluster-setup-with-udp-u-transport.patch
Patch3: fix-changelog.patch
Patch1: do-not-support-cluster-setup-with-udp-u-transport.patch
# ui patches: >200
# Patch201: bzNUMBER-01-name.patch
@ -121,7 +124,7 @@ BuildRequires: git-core
#printf from coreutils is used in makefile
BuildRequires: coreutils
# python for pcs
BuildRequires: python3 >= 3.6
BuildRequires: python3 >= 3.9
BuildRequires: python3-cryptography
BuildRequires: python3-dateutil >= 2.7.0
BuildRequires: python3-devel
@ -139,7 +142,7 @@ BuildRequires: python3-setuptools_scm
BuildRequires: gcc
BuildRequires: gcc-c++
# ruby and gems for pcsd
BuildRequires: ruby >= 2.2.0
BuildRequires: ruby >= 2.5
BuildRequires: ruby-devel
BuildRequires: rubygems
BuildRequires: rubygem-bundler
@ -160,12 +163,12 @@ BuildRequires: booth
BuildRequires: corosync-qdevice-devel
BuildRequires: corosynclib-devel >= 3.0
BuildRequires: fence-agents-common
BuildRequires: pacemaker-libs-devel >= 2.0.0
BuildRequires: pacemaker-libs-devel >= %{required_pacemaker_version}
BuildRequires: resource-agents
BuildRequires: sbd
# python and libraries for pcs, setuptools for pcs entrypoint
Requires: python3 >= 3.6
Requires: python3 >= 3.9
Requires: python3-cryptography
Requires: python3-dateutil >= 2.7.0
Requires: python3-lxml
@ -174,18 +177,18 @@ Requires: python3-pycurl
Requires: python3-pyparsing
Requires: python3-cryptography
# ruby and gems for pcsd
Requires: ruby >= 2.2.0
Requires: ruby >= 2.5
Requires: rubygems
Requires: rubygem-json
# for killall
Requires: psmisc
# cluster stack and related packages
Requires: pcmk-cluster-manager >= 2.0.0
Suggests: pacemaker
Requires: (corosync >= 2.99 if pacemaker)
Requires: pcmk-cluster-manager >= %{required_pacemaker_version}
Suggests: pacemaker >= %{required_pacemaker_version}
Requires: (corosync >= 3.0 if pacemaker)
# pcs enables corosync encryption by default so we require libknet1-plugins-all
Requires: (libknet1-plugins-all if corosync)
Requires: pacemaker-cli >= 2.0.0
Requires: pacemaker-cli >= %{required_pacemaker_version}
# for post, preun and postun macros
Requires(post): systemd
Requires(preun): systemd
@ -297,6 +300,7 @@ update_times_patch(){
update_times_patch %{PATCH1}
update_times_patch %{PATCH2}
update_times_patch %{PATCH3}
update_times_patch %{PATCH4}
# prepare dirs/files necessary for building all bundles
# -----------------------------------------------------
@ -333,7 +337,7 @@ cp -f %SOURCE44 rpm/
%define debug_package %{nil}
./autogen.sh
%{configure} --enable-local-build --enable-use-local-cache-only --enable-individual-bundling PYTHON=%{__python3}
%{configure} --enable-local-build --enable-use-local-cache-only --enable-individual-bundling PYTHON=%{__python3} ruby_CFLAGS="%{optflags}" ruby_LIBS="%{build_ldflags}"
make all
# build pcs-web-ui
@ -537,6 +541,21 @@ run_all_tests
%license pyagentx_LICENSE.txt
%changelog
* Wed Dec 15 2021 Miroslav Lisik <mlisik@redhat.com> - 0.11.1-7
- Fixed enabling corosync-qdevice
- Fixed resource update command when unable to get agent metadata
- Fixed revert of disallowing to clone a group with a stonith
- Resolves: rhbz#1811072 rhbz#2019836 rhbz#2032473
* Thu Dec 02 2021 Miroslav Lisik <mlisik@redhat.com> - 0.11.1-6
- Rebased to latest upstream sources (see CHANGELOG.md)
- Updated pcs web ui
- Resolves: rhbz#1990787 rhbz#1997019 rhbz#2012129 rhbz#2024542 rhbz#2027678 rhbz#2027679
* Thu Nov 18 2021 Miroslav Lisik <mlisik@redhat.com> - 0.11.1-5
- Rebased to latest upstream sources (see CHANGELOG.md)
- Resolves: rhbz#1990787 rhbz#2018969 rhbz#2019836 rhbz#2023752 rhbz#2012129
* Tue Nov 02 2021 Miroslav Lisik <mlisik@redhat.com> - 0.11.1-4
- Rebased to latest upstream sources (see CHANGELOG.md)
- Updated pcs web ui