import pcs-0.10.6-2.el8

This commit is contained in:
CentOS Sources 2020-07-28 02:54:37 -04:00 committed by Stepan Oksanichenko
parent 2090d271ae
commit 956e7f5fa3
8 changed files with 7888 additions and 5255 deletions

34
.gitignore vendored
View File

@ -1,17 +1,23 @@
SOURCES/HAM-logo.png
SOURCES/backports-3.11.4.gem
SOURCES/ethon-0.11.0.gem
SOURCES/ffi-1.9.25.gem
SOURCES/json-2.1.0.gem
SOURCES/mustermann-1.0.3.gem
SOURCES/backports-3.17.2.gem
SOURCES/dacite-1.5.0.tar.gz
SOURCES/daemons-1.3.1.gem
SOURCES/dataclasses-0.6.tar.gz
SOURCES/ethon-0.12.0.gem
SOURCES/eventmachine-1.2.7.gem
SOURCES/ffi-1.13.1.gem
SOURCES/json-2.3.0.gem
SOURCES/mustermann-1.1.1.gem
SOURCES/open4-1.3.4-1.gem
SOURCES/pcs-0.10.4.tar.gz
SOURCES/pcs-web-ui-0.1.2.tar.gz
SOURCES/pcs-web-ui-node-modules-0.1.2.tar.xz
SOURCES/pcs-0.10.6.tar.gz
SOURCES/pcs-web-ui-0.1.3.tar.gz
SOURCES/pcs-web-ui-node-modules-0.1.3.tar.xz
SOURCES/pyagentx-0.4.pcs.2.tar.gz
SOURCES/rack-2.0.6.gem
SOURCES/rack-protection-2.0.4.gem
SOURCES/rack-test-1.0.0.gem
SOURCES/sinatra-2.0.4.gem
SOURCES/tilt-2.0.9.gem
SOURCES/tornado-6.0.3.tar.gz
SOURCES/rack-2.2.3.gem
SOURCES/rack-protection-2.0.8.1.gem
SOURCES/rack-test-1.1.0.gem
SOURCES/ruby2_keywords-0.0.2.gem
SOURCES/sinatra-2.0.8.1.gem
SOURCES/thin-1.7.2.gem
SOURCES/tilt-2.0.10.gem
SOURCES/tornado-6.0.4.tar.gz

View File

@ -1,17 +1,23 @@
679a4ce22a33ffd4d704261a17c00cff98d9499a SOURCES/HAM-logo.png
edf08f3a0d9e202048857d78ddda44e59294084c SOURCES/backports-3.11.4.gem
3c921ceeb2847be8cfa25704be74923e233786bd SOURCES/ethon-0.11.0.gem
86fa011857f977254ccf39f507587310f9ade768 SOURCES/ffi-1.9.25.gem
8b9e81a2a6ff57f97bec1f65940c61cc6b6d81be SOURCES/json-2.1.0.gem
2d090e7d3cd2a35efeaeacf006100fb83b828686 SOURCES/mustermann-1.0.3.gem
28b63a742124da6c9575a1c5e7d7331ef93600b2 SOURCES/backports-3.17.2.gem
c14ee49221d8e1b09364b5f248bc3da12484f675 SOURCES/dacite-1.5.0.tar.gz
e28c1e78d1a6e34e80f4933b494f1e0501939dd3 SOURCES/daemons-1.3.1.gem
81079b734108084eea0ae1c05a1cab0e806a3a1d SOURCES/dataclasses-0.6.tar.gz
921ef1be44583a7644ee7f20fe5f26f21d018a04 SOURCES/ethon-0.12.0.gem
7a5b2896e210fac9759c786ee4510f265f75b481 SOURCES/eventmachine-1.2.7.gem
cfa25e7a3760c3ec16723cb8263d9b7a52d0eadf SOURCES/ffi-1.13.1.gem
0230e8c5a37f1543982e5b04be503dd5f9004b47 SOURCES/json-2.3.0.gem
50a4e37904485810cb05e27d75c9783e5a8f3402 SOURCES/mustermann-1.1.1.gem
41a7fe9f8e3e02da5ae76c821b89c5b376a97746 SOURCES/open4-1.3.4-1.gem
d2b649f271580b18d39efffa93f62b55291ef55d SOURCES/pcs-0.10.4.tar.gz
8ac1291ce8f56073b74149ac56acc094337a3298 SOURCES/pcs-web-ui-0.1.2.tar.gz
52599fe9c17bda8cc0cad1acf830a9114b8b6db6 SOURCES/pcs-web-ui-node-modules-0.1.2.tar.xz
73fafb4228326c14a799f0cccbcb734ab7ba2bfa SOURCES/pcs-0.10.6.tar.gz
df118954a980ceecc9cdd0e85a83d43253836f7f SOURCES/pcs-web-ui-0.1.3.tar.gz
3e09042e3dc32c992451ba4c0454f2879f0d3f40 SOURCES/pcs-web-ui-node-modules-0.1.3.tar.xz
3176b2f2b332c2b6bf79fe882e83feecf3d3f011 SOURCES/pyagentx-0.4.pcs.2.tar.gz
b15267e1f94e69238a00a6f1bd48fb7683c03a78 SOURCES/rack-2.0.6.gem
c1376e5678322b401d988d261762a78bf2cf3361 SOURCES/rack-protection-2.0.4.gem
4c99cf0a82372a1bc5968c1551d9e606b68b4879 SOURCES/rack-test-1.0.0.gem
1c85f05c874bc8c0bf9c40291ea2d430090cdfd9 SOURCES/sinatra-2.0.4.gem
55a75a80e29731d072fe44dfaf865479b65c27fd SOURCES/tilt-2.0.9.gem
126c66189fc5b26a39c9b54eb17254652cca8b27 SOURCES/tornado-6.0.3.tar.gz
345b7169d4d2d62176a225510399963bad62b68f SOURCES/rack-2.2.3.gem
1f046e23baca8beece3b38c60382f44aa2b2cb41 SOURCES/rack-protection-2.0.8.1.gem
b80bc5ca38a885e747271675ba91dd3d02136bf1 SOURCES/rack-test-1.1.0.gem
0be571aacb5d6a212a30af3f322a7000d8af1ef9 SOURCES/ruby2_keywords-0.0.2.gem
04cca7a5d9d641fe076e4e24dc5b6ff31922f4c3 SOURCES/sinatra-2.0.8.1.gem
41395e86322ffd31f3a7aef1f697bda3e1e2d6b9 SOURCES/thin-1.7.2.gem
d265c822a6b228392d899e9eb5114613d65e6967 SOURCES/tilt-2.0.10.gem
e177f2a092dc5f23b0b3078e40adf52e17a9f8a6 SOURCES/tornado-6.0.4.tar.gz

File diff suppressed because it is too large Load Diff

View File

@ -1,130 +0,0 @@
From 8058591d0d79942bf6c61f105a180592bac7cf69 Mon Sep 17 00:00:00 2001
From: Ondrej Mular <omular@redhat.com>
Date: Thu, 28 Nov 2019 16:57:24 +0100
Subject: [PATCH 2/3] fix error msg when cluster is not set up
---
CHANGELOG.md | 4 +++
pcs/cluster.py | 3 +++
pcs/lib/commands/qdevice.py | 2 ++
pcs_test/tier0/lib/commands/test_qdevice.py | 27 +++++++++++++++++++--
4 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 889436c3..5a7ec377 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,11 @@
- It is possible to configure a disaster-recovery site and display its status
([rhbz#1676431])
+### Fixed
+- Error messages in cases when cluster is not set up ([rhbz#1743731])
+
[rhbz#1676431]: https://bugzilla.redhat.com/show_bug.cgi?id=1676431
+[rhbz#1743731]: https://bugzilla.redhat.com/show_bug.cgi?id=1743731
## [0.10.4] - 2019-11-28
diff --git a/pcs/cluster.py b/pcs/cluster.py
index 9473675f..0e9b3365 100644
--- a/pcs/cluster.py
+++ b/pcs/cluster.py
@@ -190,6 +190,9 @@ def start_cluster(argv):
wait_for_nodes_started(nodes, wait_timeout)
return
+ if not utils.hasCorosyncConf():
+ utils.err("cluster is not currently configured on this node")
+
print("Starting Cluster...")
service_list = ["corosync"]
if utils.need_to_handle_qdevice_service():
diff --git a/pcs/lib/commands/qdevice.py b/pcs/lib/commands/qdevice.py
index 3d7af234..41f7c296 100644
--- a/pcs/lib/commands/qdevice.py
+++ b/pcs/lib/commands/qdevice.py
@@ -81,6 +81,8 @@ def qdevice_start(lib_env, model):
start qdevice now on local host
"""
_check_model(model)
+ if not qdevice_net.qdevice_initialized():
+ raise LibraryError(reports.qdevice_not_initialized(model))
_service_start(lib_env, qdevice_net.qdevice_start)
def qdevice_stop(lib_env, model, proceed_if_used=False):
diff --git a/pcs_test/tier0/lib/commands/test_qdevice.py b/pcs_test/tier0/lib/commands/test_qdevice.py
index b2c83ca4..af23db61 100644
--- a/pcs_test/tier0/lib/commands/test_qdevice.py
+++ b/pcs_test/tier0/lib/commands/test_qdevice.py
@@ -689,6 +689,7 @@ class QdeviceNetDisableTest(QdeviceTestCase):
)
+@mock.patch("pcs.lib.corosync.qdevice_net.qdevice_initialized")
@mock.patch("pcs.lib.external.start_service")
@mock.patch.object(
LibraryEnvironment,
@@ -696,9 +697,11 @@ class QdeviceNetDisableTest(QdeviceTestCase):
lambda self: "mock_runner"
)
class QdeviceNetStartTest(QdeviceTestCase):
- def test_success(self, mock_net_start):
+ def test_success(self, mock_net_start, mock_qdevice_initialized):
+ mock_qdevice_initialized.return_value = True
lib.qdevice_start(self.lib_env, "net")
mock_net_start.assert_called_once_with("mock_runner", "corosync-qnetd")
+ mock_qdevice_initialized.assert_called_once_with()
assert_report_item_list_equal(
self.mock_reporter.report_item_list,
[
@@ -719,11 +722,12 @@ class QdeviceNetStartTest(QdeviceTestCase):
]
)
- def test_failed(self, mock_net_start):
+ def test_failed(self, mock_net_start, mock_qdevice_initialized):
mock_net_start.side_effect = StartServiceError(
"test service",
"test error"
)
+ mock_qdevice_initialized.return_value = True
assert_raise_library_error(
lambda: lib.qdevice_start(self.lib_env, "net"),
@@ -737,6 +741,7 @@ class QdeviceNetStartTest(QdeviceTestCase):
)
)
mock_net_start.assert_called_once_with("mock_runner", "corosync-qnetd")
+ mock_qdevice_initialized.assert_called_once_with()
assert_report_item_list_equal(
self.mock_reporter.report_item_list,
[
@@ -750,6 +755,24 @@ class QdeviceNetStartTest(QdeviceTestCase):
]
)
+ def test_qdevice_not_initialized(
+ self, mock_net_start, mock_qdevice_initialized
+ ):
+ mock_qdevice_initialized.return_value = False
+
+ assert_raise_library_error(
+ lambda: lib.qdevice_start(self.lib_env, "net"),
+ (
+ severity.ERROR,
+ report_codes.QDEVICE_NOT_INITIALIZED,
+ {
+ "model": "net",
+ }
+ )
+ )
+ mock_net_start.assert_not_called()
+ mock_qdevice_initialized.assert_called_once_with()
+
@mock.patch("pcs.lib.corosync.qdevice_net.qdevice_status_cluster_text")
@mock.patch("pcs.lib.external.stop_service")
--
2.21.0

View File

@ -0,0 +1,57 @@
From be40fe494ddeb4f7132389ca0f3c1193de0e425d Mon Sep 17 00:00:00 2001
From: Tomas Jelinek <tojeline@redhat.com>
Date: Tue, 23 Jun 2020 12:57:05 +0200
Subject: [PATCH 2/3] fix 'resource | stonith refresh' documentation
---
pcs/pcs.8 | 4 ++--
pcs/usage.py | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/pcs/pcs.8 b/pcs/pcs.8
index c887d332..3efc5bb2 100644
--- a/pcs/pcs.8
+++ b/pcs/pcs.8
@@ -325,7 +325,7 @@ If a node is not specified then resources / stonith devices on all nodes will be
refresh [<resource id>] [node=<node>] [\fB\-\-strict\fR]
Make the cluster forget the complete operation history (including failures) of the resource and re\-detect its current state. If you are interested in forgetting failed operations only, use the 'pcs resource cleanup' command.
.br
-If the named resource is part of a group, or one numbered instance of a clone or bundled resource, the clean\-up applies to the whole collective resource unless \fB\-\-strict\fR is given.
+If the named resource is part of a group, or one numbered instance of a clone or bundled resource, the refresh applies to the whole collective resource unless \fB\-\-strict\fR is given.
.br
If a resource id is not specified then all resources / stonith devices will be refreshed.
.br
@@ -613,7 +613,7 @@ If a node is not specified then resources / stonith devices on all nodes will be
refresh [<stonith id>] [\fB\-\-node\fR <node>] [\fB\-\-strict\fR]
Make the cluster forget the complete operation history (including failures) of the stonith device and re\-detect its current state. If you are interested in forgetting failed operations only, use the 'pcs stonith cleanup' command.
.br
-If the named stonith device is part of a group, or one numbered instance of a clone or bundled resource, the clean\-up applies to the whole collective resource unless \fB\-\-strict\fR is given.
+If the named stonith device is part of a group, or one numbered instance of a clone or bundled resource, the refresh applies to the whole collective resource unless \fB\-\-strict\fR is given.
.br
If a stonith id is not specified then all resources / stonith devices will be refreshed.
.br
diff --git a/pcs/usage.py b/pcs/usage.py
index 8722bd7b..0f3c95a3 100644
--- a/pcs/usage.py
+++ b/pcs/usage.py
@@ -663,7 +663,7 @@ Commands:
interested in forgetting failed operations only, use the 'pcs resource
cleanup' command.
If the named resource is part of a group, or one numbered instance of a
- clone or bundled resource, the clean-up applies to the whole collective
+ clone or bundled resource, the refresh applies to the whole collective
resource unless --strict is given.
If a resource id is not specified then all resources / stonith devices
will be refreshed.
@@ -1214,7 +1214,7 @@ Commands:
are interested in forgetting failed operations only, use the 'pcs
stonith cleanup' command.
If the named stonith device is part of a group, or one numbered
- instance of a clone or bundled resource, the clean-up applies to the
+ instance of a clone or bundled resource, the refresh applies to the
whole collective resource unless --strict is given.
If a stonith id is not specified then all resources / stonith devices
will be refreshed.
--
2.25.4

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
From b919e643ff75fa47dcecbf60fd4938ae9b076ce4 Mon Sep 17 00:00:00 2001
From c0fff964cc07e3a9fbdea85da33abe3329c653a3 Mon Sep 17 00:00:00 2001
From: Ivan Devat <idevat@redhat.com>
Date: Tue, 20 Nov 2018 15:03:56 +0100
Subject: [PATCH 3/3] do not support cluster setup with udp(u) transport
@ -10,10 +10,10 @@ Subject: [PATCH 3/3] do not support cluster setup with udp(u) transport
3 files changed, 6 insertions(+)
diff --git a/pcs/pcs.8 b/pcs/pcs.8
index 651fda83..9a4673dd 100644
index 3efc5bb2..20247774 100644
--- a/pcs/pcs.8
+++ b/pcs/pcs.8
@@ -283,6 +283,8 @@ By default, encryption is enabled with cipher=aes256 and hash=sha256. To disable
@@ -376,6 +376,8 @@ By default, encryption is enabled with cipher=aes256 and hash=sha256. To disable
Transports udp and udpu:
.br
@ -23,10 +23,10 @@ index 651fda83..9a4673dd 100644
.br
Transport options are: ip_version, netmtu
diff --git a/pcs/usage.py b/pcs/usage.py
index e4f5af32..63e1c061 100644
index 0f3c95a3..51bc1196 100644
--- a/pcs/usage.py
+++ b/pcs/usage.py
@@ -689,6 +689,7 @@ Commands:
@@ -796,6 +796,7 @@ Commands:
hash=sha256. To disable encryption, set cipher=none and hash=none.
Transports udp and udpu:
@ -49,5 +49,5 @@ index b857cbae..b8d48d92 100644
#csetup-transport-options.knet .without-knet
{
--
2.21.0
2.25.4

View File

@ -1,11 +1,17 @@
Name: pcs
Version: 0.10.4
Release: 3%{?dist}
Version: 0.10.6
Release: 2%{?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: handlebars
License: GPLv2 and ASL 2.0 and MIT
# ASL 2.0: dataclasses, tornado
# MIT: handlebars, backports, dacite, daemons, ethon, mustermann, rack,
# rack-protection, rack-test, sinatra, tilt
# GPLv2 or Ruby: eventmachne, json
# (GPLv2 or Ruby) and BSD: thin
# BSD or Ruby: open4, ruby2_keywords
# BSD and MIT: ffi
License: GPLv2 and ASL 2.0 and MIT and BSD and (GPLv2 or Ruby) and (BSD or Ruby)
URL: https://github.com/ClusterLabs/pcs
Group: System Environment/Base
Summary: Pacemaker Configuration System
@ -18,24 +24,30 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64
%global pcs_source_name %{name}-%{version_or_commit}
# ui_commit can be determined by hash, tag or branch
%global ui_commit 0.1.2
%global ui_commit 0.1.3
%global ui_src_name pcs-web-ui-%{ui_commit}
%global pcs_snmp_pkg_name pcs-snmp
%global pyagentx_version 0.4.pcs.2
%global tornado_version 6.0.3
%global version_rubygem_backports 3.11.4
%global version_rubygem_ethon 0.11.0
%global version_rubygem_ffi 1.9.25
%global version_rubygem_json 2.1.0
%global version_rubygem_mustermann 1.0.3
%global tornado_version 6.0.4
%global dataclasses_version 0.6
%global dacite_version 1.5.0
%global version_rubygem_backports 3.17.2
%global version_rubygem_daemons 1.3.1
%global version_rubygem_ethon 0.12.0
%global version_rubygem_eventmachine 1.2.7
%global version_rubygem_ffi 1.13.1
%global version_rubygem_json 2.3.0
%global version_rubygem_mustermann 1.1.1
%global version_rubygem_open4 1.3.4
%global version_rubygem_rack 2.0.6
%global version_rubygem_rack_protection 2.0.4
%global version_rubygem_rack_test 1.0.0
%global version_rubygem_sinatra 2.0.4
%global version_rubygem_tilt 2.0.9
%global version_rubygem_rack 2.2.3
%global version_rubygem_rack_protection 2.0.8.1
%global version_rubygem_rack_test 1.1.0
%global version_rubygem_ruby2_keywords 0.0.2
%global version_rubygem_sinatra 2.0.8.1
%global version_rubygem_thin 1.7.2
%global version_rubygem_tilt 2.0.10
# We do not use _libdir macro because upstream is not prepared for it.
# Pcs does not include binaries and thus it should live in /usr/lib. Tornado
@ -70,6 +82,8 @@ Source2: pcsd-bundle-config-2
Source41: https://github.com/ondrejmular/pyagentx/archive/v%{pyagentx_version}/pyagentx-%{pyagentx_version}.tar.gz
Source42: https://github.com/tornadoweb/tornado/archive/v%{tornado_version}/tornado-%{tornado_version}.tar.gz
Source43: https://github.com/ericvsmith/dataclasses/archive/%{dataclasses_version}/dataclasses-%{dataclasses_version}.tar.gz
Source44: https://github.com/konradhalas/dacite/archive/v%{dacite_version}/dacite-%{dacite_version}.tar.gz
Source81: https://rubygems.org/downloads/backports-%{version_rubygem_backports}.gem
Source82: https://rubygems.org/downloads/ethon-%{version_rubygem_ethon}.gem
@ -85,6 +99,10 @@ Source89: https://rubygems.org/downloads/rack-protection-%{version_rubygem_rack_
Source90: https://rubygems.org/downloads/rack-test-%{version_rubygem_rack_test}.gem
Source91: https://rubygems.org/downloads/sinatra-%{version_rubygem_sinatra}.gem
Source92: https://rubygems.org/downloads/tilt-%{version_rubygem_tilt}.gem
Source93: https://rubygems.org/downloads/eventmachine-%{version_rubygem_eventmachine}.gem
Source94: https://rubygems.org/downloads/daemons-%{version_rubygem_daemons}.gem
Source95: https://rubygems.org/downloads/thin-%{version_rubygem_thin}.gem
Source96: https://rubygems.org/downloads/ruby2_keywords-%{version_rubygem_ruby2_keywords}.gem
Source100: https://github.com/idevat/pcs-web-ui/archive/%{ui_commit}/%{ui_src_name}.tar.gz
Source101: https://github.com/idevat/pcs-web-ui/releases/download/%{ui_commit}/pcs-web-ui-node-modules-%{ui_commit}.tar.xz
@ -93,8 +111,9 @@ Source101: https://github.com/idevat/pcs-web-ui/releases/download/%{ui_commit}/p
# They should come before downstream patches to avoid unnecessary conflicts.
# 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: bz1676431-01-Display-status-of-disaster-recovery.patch
Patch2: bz1743731-01-fix-error-msg-when-cluster-is-not-set-up.patch
# Patch1: name.patch
Patch1: bz1817547-01-resource-and-operation-defaults.patch
Patch2: bz1805082-01-fix-resource-stonith-refresh-documentation.patch
# Downstream patches do not come from upstream. They adapt pcs for specific
# RHEL needs.
@ -104,12 +123,12 @@ Patch101: do-not-support-cluster-setup-with-udp-u-transport.patch
BuildRequires: git
#printf from coreutils is used in makefile
BuildRequires: coreutils
BuildRequires: execstack
# python for pcs
BuildRequires: platform-python
BuildRequires: python3-devel
BuildRequires: platform-python-setuptools
BuildRequires: python3-pycurl
BuildRequires: python3-pyparsing
# gcc for compiling custom rubygems
BuildRequires: gcc
BuildRequires: gcc-c++
@ -126,16 +145,6 @@ BuildRequires: systemd
# for tests
BuildRequires: python3-lxml
BuildRequires: python3-pyOpenSSL
BuildRequires: pacemaker-cli >= 2.0.0
# BuildRequires: fence-agents-all
BuildRequires: fence-agents-apc
BuildRequires: fence-agents-scsi
BuildRequires: fence-agents-ipmilan
# for tests
%ifarch i686 x86_64
BuildRequires: fence-virt
%endif
BuildRequires: booth-site
# pcsd fonts and font management tools for creating symlinks to fonts
BuildRequires: fontconfig
BuildRequires: liberation-sans-fonts
@ -152,6 +161,7 @@ Requires: python3-lxml
Requires: platform-python-setuptools
Requires: python3-clufter => 0.70.0
Requires: python3-pycurl
Requires: python3-pyparsing
# ruby and gems for pcsd
Requires: ruby >= 2.2.0
Requires: rubygems
@ -179,18 +189,26 @@ Requires: liberation-sans-fonts
Requires: overpass-fonts
# favicon Red Hat logo
Requires: redhat-logos
# needs logrotate for /etc/logrotate.d/pcsd
Requires: logrotate
Provides: bundled(tornado) = %{tornado_version}
Provides: bundled(dataclasses) = %{dataclasses_version}
Provides: bundled(dacite) = %{dacite_version}
Provides: bundled(backports) = %{version_rubygem_backports}
Provides: bundled(daemons) = %{version_rubygem_daemons}
Provides: bundled(ethon) = %{version_rubygem_ethon}
Provides: bundled(eventmachine) = %{version_rubygem_eventmachine}
Provides: bundled(ffi) = %{version_rubygem_ffi}
Provides: bundled(json) = %{version_rubygem_json}
Provides: bundled(mustermann) = %{version_rubygem_mustermann}
Provides: bundled(open4) = %{version_rubygem_open4}
Provides: bundled(rack) = %{version_rubygem_rack}
Provides: bundled(rack) = %{version_rubygem_rack_protection}
Provides: bundled(rack) = %{version_rubygem_rack_test}
Provides: bundled(rack_protection) = %{version_rubygem_rack_protection}
Provides: bundled(rack_test) = %{version_rubygem_rack_test}
Provides: bundled(ruby2_keywords) = %{version_rubygem_ruby2_keywords}
Provides: bundled(sinatra) = %{version_rubygem_sinatra}
Provides: bundled(thin) = %{version_rubygem_thin}
Provides: bundled(tilt) = %{version_rubygem_tilt}
%description
@ -238,7 +256,11 @@ update_times(){
unset file_list[0]
for fname in ${file_list[@]}; do
touch -r $reference_file $fname
# some files could be deleted by a patch therefore we test file for
# existance before touch to avoid exit with error: No such file or
# directory
# diffstat cannot create list of files without deleted files
test -e $fname && touch -r $reference_file $fname
done
}
@ -257,6 +279,7 @@ update_times_patch(){
update_times ${patch_file_name} `diffstat -p1 -l ${patch_file_name}`
}
# update_times_patch %%{PATCH1}
update_times_patch %{PATCH1}
update_times_patch %{PATCH2}
update_times_patch %{PATCH101}
@ -288,6 +311,10 @@ cp -f %SOURCE89 pcsd/vendor/cache
cp -f %SOURCE90 pcsd/vendor/cache
cp -f %SOURCE91 pcsd/vendor/cache
cp -f %SOURCE92 pcsd/vendor/cache
cp -f %SOURCE93 pcsd/vendor/cache
cp -f %SOURCE94 pcsd/vendor/cache
cp -f %SOURCE95 pcsd/vendor/cache
cp -f %SOURCE96 pcsd/vendor/cache
# 3) dir for python bundles
@ -308,6 +335,20 @@ update_times %SOURCE42 `find %{bundled_src_dir}/tornado -follow`
cp %{bundled_src_dir}/tornado/LICENSE tornado_LICENSE
cp %{bundled_src_dir}/tornado/README.rst tornado_README.rst
# 6) sources for python dataclasses
tar -xzf %SOURCE43 -C %{bundled_src_dir}
mv %{bundled_src_dir}/dataclasses-%{dataclasses_version} %{bundled_src_dir}/dataclasses
update_times %SOURCE43 `find %{bundled_src_dir}/dataclasses -follow`
cp %{bundled_src_dir}/dataclasses/LICENSE.txt dataclasses_LICENSE.txt
cp %{bundled_src_dir}/dataclasses/README.rst dataclasses_README.rst
# 7) sources for python dacite
tar -xzf %SOURCE44 -C %{bundled_src_dir}
mv %{bundled_src_dir}/dacite-%{dacite_version} %{bundled_src_dir}/dacite
update_times %SOURCE44 `find %{bundled_src_dir}/dacite -follow`
cp %{bundled_src_dir}/dacite/LICENSE dacite_LICENSE
cp %{bundled_src_dir}/dacite/README.md dacite_README.md
%build
%define debug_package %{nil}
@ -321,22 +362,47 @@ gem install \
--force --verbose --no-rdoc --no-ri -l --no-user-install \
-i %{rubygem_bundle_dir} \
%{rubygem_cache_dir}/backports-%{version_rubygem_backports}.gem \
%{rubygem_cache_dir}/daemons-%{version_rubygem_daemons}.gem \
%{rubygem_cache_dir}/ethon-%{version_rubygem_ethon}.gem \
%{rubygem_cache_dir}/eventmachine-%{version_rubygem_eventmachine}.gem \
%{rubygem_cache_dir}/ffi-%{version_rubygem_ffi}.gem \
%{rubygem_cache_dir}/json-%{version_rubygem_json}.gem \
%{rubygem_cache_dir}/mustermann-%{version_rubygem_mustermann}.gem \
%{rubygem_cache_dir}/open4-%{version_rubygem_open4}.gem \
%{rubygem_cache_dir}/rack-%{version_rubygem_rack}.gem \
%{rubygem_cache_dir}/rack-protection-%{version_rubygem_rack_protection}.gem \
%{rubygem_cache_dir}/rack-test-%{version_rubygem_rack_test}.gem \
%{rubygem_cache_dir}/rack-%{version_rubygem_rack}.gem \
%{rubygem_cache_dir}/ruby2_keywords-%{version_rubygem_ruby2_keywords}.gem \
%{rubygem_cache_dir}/sinatra-%{version_rubygem_sinatra}.gem \
%{rubygem_cache_dir}/thin-%{version_rubygem_thin}.gem \
%{rubygem_cache_dir}/tilt-%{version_rubygem_tilt}.gem \
-- '--with-ldflags="-Wl,-z,relro -Wl,-z,ibt -Wl,-z,now -Wl,--gc-sections"' \
'--with-cflags="-O2 -ffunction-sections"'
# prepare license files
# some rubygems do not have a license file (ruby2_keywords, thin)
mv %{rubygem_bundle_dir}/gems/backports-%{version_rubygem_backports}/LICENSE.txt backports_LICENSE.txt
mv %{rubygem_bundle_dir}/gems/daemons-%{version_rubygem_daemons}/LICENSE daemons_LICENSE
mv %{rubygem_bundle_dir}/gems/ethon-%{version_rubygem_ethon}/LICENSE ethon_LICENSE
mv %{rubygem_bundle_dir}/gems/eventmachine-%{version_rubygem_eventmachine}/LICENSE eventmachine_LICENSE
mv %{rubygem_bundle_dir}/gems/eventmachine-%{version_rubygem_eventmachine}/GNU eventmachine_GNU
mv %{rubygem_bundle_dir}/gems/ffi-%{version_rubygem_ffi}/COPYING ffi_COPYING
mv %{rubygem_bundle_dir}/gems/ffi-%{version_rubygem_ffi}/LICENSE ffi_LICENSE
mv %{rubygem_bundle_dir}/gems/ffi-%{version_rubygem_ffi}/LICENSE.SPECS ffi_LICENSE.SPECS
mv %{rubygem_bundle_dir}/gems/json-%{version_rubygem_json}/LICENSE json_LICENSE
mv %{rubygem_bundle_dir}/gems/mustermann-%{version_rubygem_mustermann}/LICENSE mustermann_LICENSE
mv %{rubygem_bundle_dir}/gems/open4-%{version_rubygem_open4}/LICENSE open4_LICENSE
mv %{rubygem_bundle_dir}/gems/rack-%{version_rubygem_rack}/MIT-LICENSE rack_MIT-LICENSE
mv %{rubygem_bundle_dir}/gems/rack-protection-%{version_rubygem_rack_protection}/License rack-protection_License
mv %{rubygem_bundle_dir}/gems/rack-test-%{version_rubygem_rack_test}/MIT-LICENSE.txt rack-test_MIT-LICENSE.txt
mv %{rubygem_bundle_dir}/gems/sinatra-%{version_rubygem_sinatra}/LICENSE sinatra_LICENSE
mv %{rubygem_bundle_dir}/gems/tilt-%{version_rubygem_tilt}/COPYING tilt_COPYING
# We can remove files required for gem compilation
rm -rf %{rubygem_bundle_dir}/gems/eventmachine-%{version_rubygem_eventmachine}/ext
rm -rf %{rubygem_bundle_dir}/gems/ffi-%{version_rubygem_ffi}/ext
rm -rf %{rubygem_bundle_dir}/gems/json-%{version_rubygem_json}/ext
rm -rf %{rubygem_bundle_dir}/gems/thin-%{version_rubygem_thin}/ext
# With this file there is "File is not stripped" problem during rpmdiff
@ -361,6 +427,8 @@ make install \
BASH_COMPLETION_DIR=%{_datadir}/bash-completion/completions \
BUNDLE_PYAGENTX_SRC_DIR=`readlink -f %{bundled_src_dir}/pyagentx` \
BUNDLE_TORNADO_SRC_DIR=`readlink -f %{bundled_src_dir}/tornado` \
BUNDLE_DACITE_SRC_DIR=`readlink -f %{bundled_src_dir}/dacite` \
BUNDLE_DATACLASSES_SRC_DIR=`readlink -f %{bundled_src_dir}/dataclasses` \
BUILD_GEMS=false \
SYSTEMCTL_OVERRIDE=true \
hdrdir="%{_includedir}" \
@ -401,7 +469,7 @@ run_all_tests(){
# TODO: Investigate the issue
BUNDLED_LIB_LOCATION=$RPM_BUILD_ROOT%{pcs_libdir}/pcs/bundled/packages \
%{__python3} pcs_test/suite.py -v --vanilla --all-but \
%{__python3} pcs_test/suite.py --tier0 -v --vanilla --all-but \
pcs_test.tier0.lib.commands.test_resource_agent.DescribeAgentUtf8.test_describe \
pcs_test.tier0.daemon.app.test_app_remote.SyncConfigMutualExclusive.test_get_not_locked \
pcs_test.tier0.daemon.app.test_app_remote.SyncConfigMutualExclusive.test_post_not_locked \
@ -434,20 +502,31 @@ remove_all_tests() {
run_all_tests
remove_all_tests
%posttrans
# Make sure the new version of the daemon is runnning.
# Also, make sure to start pcsd-ruby if it hasn't been started or even
# installed before. This is done by restarting pcsd.service.
%{_bindir}/systemctl daemon-reload
%{_bindir}/systemctl try-restart pcsd.service
%post
%systemd_post pcsd.service
%systemd_post pcsd-ruby.service
%post -n %{pcs_snmp_pkg_name}
%systemd_post pcs_snmp_agent.service
%preun
%systemd_preun pcsd.service
%systemd_preun pcsd-ruby.service
%preun -n %{pcs_snmp_pkg_name}
%systemd_preun pcs_snmp_agent.service
%postun
%systemd_postun_with_restart pcsd.service
%systemd_postun_with_restart pcsd-ruby.service
%postun -n %{pcs_snmp_pkg_name}
%systemd_postun_with_restart pcs_snmp_agent.service
@ -456,8 +535,29 @@ remove_all_tests
%doc CHANGELOG.md
%doc README.md
%doc tornado_README.rst
%doc dacite_README.md
%doc dataclasses_README.rst
%license tornado_LICENSE
%license dacite_LICENSE
%license dataclasses_LICENSE.txt
%license COPYING
# rugygem licenses
%license backports_LICENSE.txt
%license daemons_LICENSE
%license ethon_LICENSE
%license eventmachine_LICENSE
%license eventmachine_GNU
%license ffi_COPYING
%license ffi_LICENSE
%license ffi_LICENSE.SPECS
%license json_LICENSE
%license mustermann_LICENSE
%license open4_LICENSE
%license rack_MIT-LICENSE
%license rack-protection_License
%license rack-test_MIT-LICENSE.txt
%license sinatra_LICENSE
%license tilt_COPYING
%{python3_sitelib}/pcs
%{python3_sitelib}/pcs-%{version}-py3.*.egg-info
%{_sbindir}/pcs
@ -466,10 +566,14 @@ remove_all_tests
%{pcs_libdir}/pcsd/*
%{pcs_libdir}/pcsd/.bundle/config
%{pcs_libdir}/pcs/bundled/packages/tornado*
%{pcs_libdir}/pcs/bundled/packages/dacite*
%{pcs_libdir}/pcs/bundled/packages/dataclasses*
%{pcs_libdir}/pcs/bundled/packages/__pycache__/dataclasses.cpython-36.pyc
%{_unitdir}/pcsd.service
%{_unitdir}/pcsd-ruby.service
%{_datadir}/bash-completion/completions/pcs
%{_sharedstatedir}/pcsd
%{_sysconfdir}/pam.d/pcsd
%config(noreplace) %{_sysconfdir}/pam.d/pcsd
%dir %{_var}/log/pcsd
%config(noreplace) %{_sysconfdir}/logrotate.d/pcsd
%config(noreplace) %{_sysconfdir}/sysconfig/pcsd
@ -484,6 +588,7 @@ remove_all_tests
%{_mandir}/man8/pcsd.*
%exclude %{pcs_libdir}/pcsd/*.debian
%exclude %{pcs_libdir}/pcsd/pcsd.service
%exclude %{pcs_libdir}/pcsd/pcsd-ruby.service
%exclude %{pcs_libdir}/pcsd/pcsd.conf
%exclude %{pcs_libdir}/pcsd/pcsd.8
%exclude %{pcs_libdir}/pcsd/public/js/dev/*
@ -508,6 +613,45 @@ remove_all_tests
%license pyagentx_LICENSE.txt
%changelog
* Thu Jun 25 2020 Miroslav Lisik <mlisik@redhat.com> - 0.10.6-2
- Added resource and operation defaults that apply to specific resource/operation types
- Added Requires/BuildRequires: python3-pyparsing
- Added Requires: logrotate
- Fixed resource and stonith documentation
- Fixed rubygem licenses
- Fixed update_times()
- Updated rubygem rack to version 2.2.3
- Removed BuildRequires execstack (it is not needed)
- Resolves: rhbz#1805082 rhbz#1817547
* Thu Jun 11 2020 Miroslav Lisik <mlisik@redhat.com> - 0.10.6-1
- Rebased to latest upstream sources (see CHANGELOG.md)
- Added python bundled dependencies: dacite, dataclasses
- Added new bundled rubygem ruby2_keywords
- Updated rubygem bundled packages: backports, ethon, ffi, json, mustermann, rack, rack_protection, rack_test, sinatra, tilt
- Updated pcs-web-ui
- Updated test run, only tier0 tests are running during build
- Removed BuildRequires needed for tier1 tests which were removed for build (pacemaker-cli, fence_agents-*, fence_virt, booth-site)
- Resolves: rhbz#1387358 rhbz#1684676 rhbz#1722970 rhbz#1778672 rhbz#1782553 rhbz#1790460 rhbz#1805082 rhbz#1810017 rhbz#1817547 rhbz#1830552 rhbz#1832973 rhbz#1833114 rhbz#1833506 rhbz#1838853 rhbz#1839637
* Fri Mar 20 2020 Miroslav Lisik <mlisik@redhat.com> - 0.10.4-6
- Fixed communication between python and ruby daemons
- Resolves: rhbz#1783106
* Thu Feb 13 2020 Miroslav Lisik <mlisik@redhat.com> - 0.10.4-5
- Fixed link to sbd man page from `sbd enable` doc
- Fixed safe-disabling clones, groups, bundles
- Fixed sinatra wrapper performance issue
- Fixed detecting fence history support
- Fixed cookie options
- Updated hint for 'resource create ... master'
- Updated gating tests execution, smoke tests run from upstream sources
- Resolves: rhbz#1750427 rhbz#1781303 rhbz#1783106 rhbz#1793574
* Mon Jan 20 2020 Tomas Jelinek <tojeline@redhat.com> - 0.10.4-4
- Fix testsuite for pacemaker-2.0.3-4
- Resolves: rhbz#1792946
* Mon Dec 02 2019 Ivan Devat <idevat@redhat.com> - 0.10.4-3
- Added basic resource views in new webUI
- Resolves: rhbz#1744060