commit
f4f4152567
@ -0,0 +1,21 @@
|
||||
SOURCES/backports-3.23.0.gem
|
||||
SOURCES/dacite-1.6.0.tar.gz
|
||||
SOURCES/daemons-1.4.1.gem
|
||||
SOURCES/ethon-0.15.0.gem
|
||||
SOURCES/eventmachine-1.2.7.gem
|
||||
SOURCES/ffi-1.15.5.gem
|
||||
SOURCES/mustermann-1.1.1.gem
|
||||
SOURCES/open4-1.3.4-1.gem
|
||||
SOURCES/pcs-0.11.3.tar.gz
|
||||
SOURCES/pcs-web-ui-0.1.14.tar.gz
|
||||
SOURCES/pcs-web-ui-node-modules-0.1.14.tar.xz
|
||||
SOURCES/pyagentx-0.4.pcs.2.tar.gz
|
||||
SOURCES/rack-2.2.3.1.gem
|
||||
SOURCES/rack-protection-2.2.0.gem
|
||||
SOURCES/rack-test-1.1.0.gem
|
||||
SOURCES/ruby2_keywords-0.0.5.gem
|
||||
SOURCES/sinatra-2.2.0.gem
|
||||
SOURCES/thin-1.8.1.gem
|
||||
SOURCES/tilt-2.0.10.gem
|
||||
SOURCES/tornado-6.1.0.tar.gz
|
||||
SOURCES/webrick-1.7.0.gem
|
@ -0,0 +1,21 @@
|
||||
0e11246385a9e0a4bc122b74fb74fe536a234f81 SOURCES/backports-3.23.0.gem
|
||||
31546c37fbdc6270d5097687619e9c0db6f1c05c SOURCES/dacite-1.6.0.tar.gz
|
||||
4795a8962cc1608bfec0d91fa4d438c7cfe90c62 SOURCES/daemons-1.4.1.gem
|
||||
29697a34b8cd9df4a77c650e2a38d0a36cdeee8b SOURCES/ethon-0.15.0.gem
|
||||
7a5b2896e210fac9759c786ee4510f265f75b481 SOURCES/eventmachine-1.2.7.gem
|
||||
97632b7975067266c0b39596de0a4c86d9330658 SOURCES/ffi-1.15.5.gem
|
||||
50a4e37904485810cb05e27d75c9783e5a8f3402 SOURCES/mustermann-1.1.1.gem
|
||||
41a7fe9f8e3e02da5ae76c821b89c5b376a97746 SOURCES/open4-1.3.4-1.gem
|
||||
c16c4623928ba85b0b94b8cbdec6396be85d3672 SOURCES/pcs-0.11.3.tar.gz
|
||||
4f518dcca24972f19d3e377931595602106f049d SOURCES/pcs-web-ui-0.1.14.tar.gz
|
||||
b3e77ed1e3bb07b8e0ed34ae80fc88b9be0f49a4 SOURCES/pcs-web-ui-node-modules-0.1.14.tar.xz
|
||||
3176b2f2b332c2b6bf79fe882e83feecf3d3f011 SOURCES/pyagentx-0.4.pcs.2.tar.gz
|
||||
be609467c819d263c138c417548431b81f8da216 SOURCES/rack-2.2.3.1.gem
|
||||
21cfac2453436c6856da31e741bbfa59da4973e1 SOURCES/rack-protection-2.2.0.gem
|
||||
b80bc5ca38a885e747271675ba91dd3d02136bf1 SOURCES/rack-test-1.1.0.gem
|
||||
d017b9e4d1978e0b3ccc3e2a31493809e4693cd3 SOURCES/ruby2_keywords-0.0.5.gem
|
||||
5f0d7e63f9d8683f39ad23afe7e00b99602b87cc SOURCES/sinatra-2.2.0.gem
|
||||
1ac6292a98e17247b7bb847a35ff868605256f7b SOURCES/thin-1.8.1.gem
|
||||
d265c822a6b228392d899e9eb5114613d65e6967 SOURCES/tilt-2.0.10.gem
|
||||
c23c617c7a0205e465bebad5b8cdf289ae8402a2 SOURCES/tornado-6.1.0.tar.gz
|
||||
10ba51035928541b7713415f1f2e3a41114972fc SOURCES/webrick-1.7.0.gem
|
@ -0,0 +1,46 @@
|
||||
From f863c38497eb716141c9e585ddb418191e9fc2a4 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Jelinek <tojeline@redhat.com>
|
||||
Date: Fri, 15 Jul 2022 15:55:57 +0200
|
||||
Subject: [PATCH 3/3] booth sync: check whether /etc/booth exists
|
||||
|
||||
---
|
||||
pcsd/pcsd_file.rb | 6 +-----
|
||||
pcsd/remote.rb | 4 ++++
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/pcsd/pcsd_file.rb b/pcsd/pcsd_file.rb
|
||||
index d82b55d2..394db59a 100644
|
||||
--- a/pcsd/pcsd_file.rb
|
||||
+++ b/pcsd/pcsd_file.rb
|
||||
@@ -112,12 +112,8 @@ module PcsdFile
|
||||
end
|
||||
end
|
||||
|
||||
- def dir()
|
||||
- return BOOTH_CONFIG_DIR
|
||||
- end
|
||||
-
|
||||
def full_file_name()
|
||||
- @full_file_name ||= File.join(self.dir, @file[:name])
|
||||
+ @full_file_name ||= File.join(BOOTH_CONFIG_DIR, @file[:name])
|
||||
end
|
||||
end
|
||||
|
||||
diff --git a/pcsd/remote.rb b/pcsd/remote.rb
|
||||
index 854674eb..144d25f3 100644
|
||||
--- a/pcsd/remote.rb
|
||||
+++ b/pcsd/remote.rb
|
||||
@@ -2090,6 +2090,10 @@ def booth_set_config(params, request, auth_user)
|
||||
check_permissions(auth_user, Permissions::WRITE)
|
||||
data = check_request_data_for_json(params, auth_user)
|
||||
|
||||
+ if not File.directory?(BOOTH_CONFIG_DIR)
|
||||
+ raise "Configuration directory for booth '/etc/booth' is missing. Is booth installed?"
|
||||
+ end
|
||||
+
|
||||
PcsdExchangeFormat::validate_item_map_is_Hash('files', data)
|
||||
PcsdExchangeFormat::validate_item_is_Hash('file', :config, data[:config])
|
||||
if data[:authfile]
|
||||
--
|
||||
2.35.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,126 @@
|
||||
From de4845ea2d22c7dd9f4539360b44a900b1cea193 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Jelinek <tojeline@redhat.com>
|
||||
Date: Thu, 14 Jul 2022 16:46:33 +0200
|
||||
Subject: [PATCH 2/3] make booth ticket mode value case insensitive
|
||||
|
||||
---
|
||||
pcs/lib/booth/config_validators.py | 10 ++++++++
|
||||
pcs/lib/commands/booth.py | 14 +++++++++---
|
||||
pcs_test/tier0/lib/commands/test_booth.py | 28 ++++++++++++++++-------
|
||||
3 files changed, 41 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/pcs/lib/booth/config_validators.py b/pcs/lib/booth/config_validators.py
|
||||
index 99badc46..6c4a4ddc 100644
|
||||
--- a/pcs/lib/booth/config_validators.py
|
||||
+++ b/pcs/lib/booth/config_validators.py
|
||||
@@ -100,6 +100,16 @@ def remove_ticket(conf_facade, ticket_name):
|
||||
return []
|
||||
|
||||
|
||||
+def ticket_options_normalization() -> validate.TypeNormalizeFunc:
|
||||
+ return validate.option_value_normalization(
|
||||
+ {
|
||||
+ "mode": (
|
||||
+ lambda value: value.lower() if isinstance(value, str) else value
|
||||
+ )
|
||||
+ }
|
||||
+ )
|
||||
+
|
||||
+
|
||||
def validate_ticket_name(ticket_name: str) -> reports.ReportItemList:
|
||||
if not __TICKET_NAME_RE.search(ticket_name):
|
||||
return [
|
||||
diff --git a/pcs/lib/commands/booth.py b/pcs/lib/commands/booth.py
|
||||
index e7891fbe..fc1454ce 100644
|
||||
--- a/pcs/lib/commands/booth.py
|
||||
+++ b/pcs/lib/commands/booth.py
|
||||
@@ -23,7 +23,10 @@ from pcs.common.reports.item import (
|
||||
)
|
||||
from pcs.common.services.errors import ManageServiceError
|
||||
from pcs.common.str_tools import join_multilines
|
||||
-from pcs.lib import tools
|
||||
+from pcs.lib import (
|
||||
+ tools,
|
||||
+ validate,
|
||||
+)
|
||||
from pcs.lib.booth import (
|
||||
config_files,
|
||||
config_validators,
|
||||
@@ -329,17 +332,22 @@ def config_ticket_add(
|
||||
booth_env = env.get_booth_env(instance_name)
|
||||
try:
|
||||
booth_conf = booth_env.config.read_to_facade()
|
||||
+ options_pairs = validate.values_to_pairs(
|
||||
+ options, config_validators.ticket_options_normalization()
|
||||
+ )
|
||||
report_processor.report_list(
|
||||
config_validators.add_ticket(
|
||||
booth_conf,
|
||||
ticket_name,
|
||||
- options,
|
||||
+ options_pairs,
|
||||
allow_unknown_options=allow_unknown_options,
|
||||
)
|
||||
)
|
||||
if report_processor.has_errors:
|
||||
raise LibraryError()
|
||||
- booth_conf.add_ticket(ticket_name, options)
|
||||
+ booth_conf.add_ticket(
|
||||
+ ticket_name, validate.pairs_to_values(options_pairs)
|
||||
+ )
|
||||
booth_env.config.write_facade(booth_conf, can_overwrite=True)
|
||||
except RawFileError as e:
|
||||
report_processor.report(raw_file_error_report(e))
|
||||
diff --git a/pcs_test/tier0/lib/commands/test_booth.py b/pcs_test/tier0/lib/commands/test_booth.py
|
||||
index 2b20a199..12b169c2 100644
|
||||
--- a/pcs_test/tier0/lib/commands/test_booth.py
|
||||
+++ b/pcs_test/tier0/lib/commands/test_booth.py
|
||||
@@ -1194,7 +1194,7 @@ class ConfigTicketAdd(TestCase, FixtureMixin):
|
||||
},
|
||||
)
|
||||
|
||||
- def test_success_ticket_options(self):
|
||||
+ def assert_success_ticket_options(self, options_command, options_config):
|
||||
self.config.raw_file.read(
|
||||
file_type_codes.BOOTH_CONFIG,
|
||||
self.fixture_cfg_path(),
|
||||
@@ -1203,17 +1203,29 @@ class ConfigTicketAdd(TestCase, FixtureMixin):
|
||||
self.config.raw_file.write(
|
||||
file_type_codes.BOOTH_CONFIG,
|
||||
self.fixture_cfg_path(),
|
||||
- self.fixture_cfg_content(
|
||||
- ticket_list=[
|
||||
- ["ticketA", [("retries", "10"), ("timeout", "20")]]
|
||||
- ]
|
||||
- ),
|
||||
+ self.fixture_cfg_content(ticket_list=[["ticketA", options_config]]),
|
||||
can_overwrite=True,
|
||||
)
|
||||
commands.config_ticket_add(
|
||||
- self.env_assist.get_env(),
|
||||
- "ticketA",
|
||||
+ self.env_assist.get_env(), "ticketA", options_command
|
||||
+ )
|
||||
+
|
||||
+ def test_success_ticket_options(self):
|
||||
+ self.assert_success_ticket_options(
|
||||
{"timeout": "20", "retries": "10"},
|
||||
+ [("retries", "10"), ("timeout", "20")],
|
||||
+ )
|
||||
+
|
||||
+ def test_success_ticket_options_mode(self):
|
||||
+ self.assert_success_ticket_options(
|
||||
+ {"timeout": "20", "retries": "10", "mode": "manual"},
|
||||
+ [("mode", "manual"), ("retries", "10"), ("timeout", "20")],
|
||||
+ )
|
||||
+
|
||||
+ def test_success_ticket_options_mode_case_insensitive(self):
|
||||
+ self.assert_success_ticket_options(
|
||||
+ {"timeout": "20", "retries": "10", "mode": "MaNuAl"},
|
||||
+ [("mode", "manual"), ("retries", "10"), ("timeout", "20")],
|
||||
)
|
||||
|
||||
def test_ticket_already_exists(self):
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,24 @@
|
||||
From eeeaac9a46f3568e0a116048068ff99d0dccf25c Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Jelinek <tojeline@redhat.com>
|
||||
Date: Thu, 30 Jun 2022 14:49:16 +0200
|
||||
Subject: [PATCH] fix 'pcs resource restart' traceback
|
||||
|
||||
---
|
||||
pcs/resource.py | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/pcs/resource.py b/pcs/resource.py
|
||||
index eb59d703..8d402c22 100644
|
||||
--- a/pcs/resource.py
|
||||
+++ b/pcs/resource.py
|
||||
@@ -2596,7 +2596,6 @@ def resource_restart(
|
||||
Options:
|
||||
* --wait
|
||||
"""
|
||||
- del lib
|
||||
modifiers.ensure_only_supported("--wait")
|
||||
if not argv:
|
||||
utils.err("You must specify a resource to restart")
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,46 @@
|
||||
From efd5edbfc96a2d85ee0575beca8b163b4ab9179f Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Jelinek <tojeline@redhat.com>
|
||||
Date: Wed, 10 Aug 2022 14:47:53 +0200
|
||||
Subject: [PATCH] fix ruby socket permissions
|
||||
|
||||
---
|
||||
pcsd/rserver.rb | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
|
||||
diff --git a/pcsd/rserver.rb b/pcsd/rserver.rb
|
||||
index e2c5e2a1..4fde639e 100644
|
||||
--- a/pcsd/rserver.rb
|
||||
+++ b/pcsd/rserver.rb
|
||||
@@ -7,6 +7,29 @@ require 'thin'
|
||||
|
||||
require 'settings.rb'
|
||||
|
||||
+# Replace Thin::Backends::UnixServer:connect
|
||||
+# The only change is 'File.umask(0o777)' instead of 'File.umask(0)' to properly
|
||||
+# set python-ruby socket permissions
|
||||
+module Thin
|
||||
+ module Backends
|
||||
+ class UnixServer < Base
|
||||
+ def connect
|
||||
+ at_exit { remove_socket_file } # In case it crashes
|
||||
+ old_umask = File.umask(0o077)
|
||||
+ begin
|
||||
+ EventMachine.start_unix_domain_server(@socket, UnixConnection, &method(:initialize_connection))
|
||||
+ # HACK EventMachine.start_unix_domain_server doesn't return the connection signature
|
||||
+ # so we have to go in the internal stuff to find it.
|
||||
+ @signature = EventMachine.instance_eval{@acceptors.keys.first}
|
||||
+ ensure
|
||||
+ File.umask(old_umask)
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
+end
|
||||
+
|
||||
+
|
||||
def pack_response(response)
|
||||
return [200, {}, [response.to_json.to_str]]
|
||||
end
|
||||
--
|
||||
2.37.3
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 2a578689db8522971840dbb1644a21c341fe7d83 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Devat <idevat@redhat.com>
|
||||
Date: Tue, 20 Nov 2018 15:03:56 +0100
|
||||
Subject: [PATCH] do not support cluster setup with udp(u) transport in RHEL9
|
||||
|
||||
---
|
||||
pcs/pcs.8.in | 2 ++
|
||||
pcs/usage.py | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/pcs/pcs.8.in b/pcs/pcs.8.in
|
||||
index 363515bb..4c2496aa 100644
|
||||
--- a/pcs/pcs.8.in
|
||||
+++ b/pcs/pcs.8.in
|
||||
@@ -457,6 +457,8 @@ By default, encryption is enabled with cipher=aes256 and hash=sha256. To disable
|
||||
|
||||
Transports udp and udpu:
|
||||
.br
|
||||
+WARNING: These transports are not supported in RHEL 9.
|
||||
+.br
|
||||
These transports are limited to one address per node. They do not support traffic encryption nor compression.
|
||||
.br
|
||||
Transport options are: ip_version, netmtu
|
||||
diff --git a/pcs/usage.py b/pcs/usage.py
|
||||
index cfa2ac9c..519c853e 100644
|
||||
--- a/pcs/usage.py
|
||||
+++ b/pcs/usage.py
|
||||
@@ -1429,6 +1429,7 @@ Commands:
|
||||
hash=sha256. To disable encryption, set cipher=none and hash=none.
|
||||
|
||||
Transports udp and udpu:
|
||||
+ WARNING: These transports are not supported in RHEL 9.
|
||||
These transports are limited to one address per node. They do not
|
||||
support traffic encryption nor compression.
|
||||
Transport options are:
|
||||
--
|
||||
2.35.1
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue