import CS pcs-0.11.7-1.el9
This commit is contained in:
parent
186ac077d4
commit
d11746eba6
20
.gitignore
vendored
20
.gitignore
vendored
@ -2,18 +2,18 @@ SOURCES/backports-3.24.1.gem
|
||||
SOURCES/childprocess-4.1.0.gem
|
||||
SOURCES/dacite-1.8.1.tar.gz
|
||||
SOURCES/ethon-0.16.0.gem
|
||||
SOURCES/ffi-1.15.5.gem
|
||||
SOURCES/ffi-1.16.3.gem
|
||||
SOURCES/mustermann-3.0.0.gem
|
||||
SOURCES/nio4r-2.5.9.gem
|
||||
SOURCES/pcs-0.11.6.tar.gz
|
||||
SOURCES/pcs-web-ui-0.1.17.tar.gz
|
||||
SOURCES/pcs-web-ui-node-modules-0.1.17.tar.xz
|
||||
SOURCES/puma-6.3.0.gem
|
||||
SOURCES/pcs-0.11.7.tar.gz
|
||||
SOURCES/pcs-web-ui-0.1.18.tar.gz
|
||||
SOURCES/pcs-web-ui-node-modules-0.1.18.tar.xz
|
||||
SOURCES/puma-6.4.0.gem
|
||||
SOURCES/pyagentx-0.4.pcs.2.tar.gz
|
||||
SOURCES/rack-2.2.7.gem
|
||||
SOURCES/rack-protection-3.0.6.gem
|
||||
SOURCES/rack-2.2.8.gem
|
||||
SOURCES/rack-protection-3.1.0.gem
|
||||
SOURCES/rack-test-2.1.0.gem
|
||||
SOURCES/ruby2_keywords-0.0.5.gem
|
||||
SOURCES/sinatra-3.0.6.gem
|
||||
SOURCES/tilt-2.2.0.gem
|
||||
SOURCES/tornado-6.3.2.tar.gz
|
||||
SOURCES/sinatra-3.1.0.gem
|
||||
SOURCES/tilt-2.3.0.gem
|
||||
SOURCES/tornado-6.3.3.tar.gz
|
||||
|
@ -2,18 +2,18 @@
|
||||
81639c8886342e01d189c10a6beab6ad0526dc4e SOURCES/childprocess-4.1.0.gem
|
||||
07b26abbf7ff0dcba5c7f9e814ff7eebafefb058 SOURCES/dacite-1.8.1.tar.gz
|
||||
5b56a68268708c474bef04550639ded3add5e946 SOURCES/ethon-0.16.0.gem
|
||||
97632b7975067266c0b39596de0a4c86d9330658 SOURCES/ffi-1.15.5.gem
|
||||
10e4cf0e11ef4581ec4ad5fe2cdf3c78b6077d39 SOURCES/ffi-1.16.3.gem
|
||||
e892678aaf02ccb27f3a6cd58482cda00aea6ce8 SOURCES/mustermann-3.0.0.gem
|
||||
2f65d371f5f37460ad74afcedcb97d2b41a46806 SOURCES/nio4r-2.5.9.gem
|
||||
18622c035d84535340ff004083170497f8cb5414 SOURCES/pcs-0.11.6.tar.gz
|
||||
2d6a9f30b5c14351fc6c68d9a5519dc9f756c6ec SOURCES/pcs-web-ui-0.1.17.tar.gz
|
||||
2b799265059e4c2008187ca32233cf4e04a9a2fb SOURCES/pcs-web-ui-node-modules-0.1.17.tar.xz
|
||||
77e706abd5f50cc4b6e175931dda25e902c46018 SOURCES/puma-6.3.0.gem
|
||||
3aec6fd614169e4d0272a71eb3688ad3a54f91b3 SOURCES/pcs-0.11.7.tar.gz
|
||||
59d3e570bcbb7b3bcb2b9bf519425b2036e0faad SOURCES/pcs-web-ui-0.1.18.tar.gz
|
||||
252cc42bf9715209c67981da06f2791a91c2f3fb SOURCES/pcs-web-ui-node-modules-0.1.18.tar.xz
|
||||
d6049c4555f3c9d198e6eb1d7e53ce9b68e175ff SOURCES/puma-6.4.0.gem
|
||||
3176b2f2b332c2b6bf79fe882e83feecf3d3f011 SOURCES/pyagentx-0.4.pcs.2.tar.gz
|
||||
f60fea8846d18d6389fe22ef431fac9e9a8d796d SOURCES/rack-2.2.7.gem
|
||||
c212026bdfdb35923d1e46fed2c2c5ac1fd8faa1 SOURCES/rack-protection-3.0.6.gem
|
||||
f0cdb53d6ed96f91851c32bccf9b21c4662afd2d SOURCES/rack-2.2.8.gem
|
||||
d34d1d308e3a1028c85bd0a7e4ba1d4f1ec0f725 SOURCES/rack-protection-3.1.0.gem
|
||||
ae09ea83748b55875edc3708fffba90db180cb8e SOURCES/rack-test-2.1.0.gem
|
||||
d017b9e4d1978e0b3ccc3e2a31493809e4693cd3 SOURCES/ruby2_keywords-0.0.5.gem
|
||||
71fb81a5bad00452c5fdaeacf74e053415a7c2e5 SOURCES/sinatra-3.0.6.gem
|
||||
6a06f99324246b8d4c443ce596789e64a0c05fe4 SOURCES/tilt-2.2.0.gem
|
||||
877e6035bee39ed749f2b05bffb515fc772101e3 SOURCES/tornado-6.3.2.tar.gz
|
||||
cd57dfa17b103c514dd0b107ebda6ee4bfb6b0d4 SOURCES/sinatra-3.1.0.gem
|
||||
4a38a9a55887b2882182a2c5771e592efe514e5e SOURCES/tilt-2.3.0.gem
|
||||
4db49c4d5570e6fdc7ec845335bb341ebd5346a7 SOURCES/tornado-6.3.3.tar.gz
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,302 +0,0 @@
|
||||
From 24a8e84e3f81fc846a8d60dc636c9d42fc7a0cd8 Mon Sep 17 00:00:00 2001
|
||||
From: Miroslav Lisik <mlisik@redhat.com>
|
||||
Date: Tue, 4 Jul 2023 21:43:38 +0200
|
||||
Subject: [PATCH 2/3] fix displaying duplicate records in property commands
|
||||
|
||||
---
|
||||
pcs/cli/cluster_property/output.py | 65 +++++++++----------
|
||||
.../cli/cluster_property/test_command.py | 15 +++++
|
||||
.../tier0/cli/cluster_property/test_output.py | 31 ++++++---
|
||||
.../lib/commands/test_cluster_property.py | 28 ++++++++
|
||||
4 files changed, 93 insertions(+), 46 deletions(-)
|
||||
|
||||
diff --git a/pcs/cli/cluster_property/output.py b/pcs/cli/cluster_property/output.py
|
||||
index c538c5c1..c9c46d1c 100644
|
||||
--- a/pcs/cli/cluster_property/output.py
|
||||
+++ b/pcs/cli/cluster_property/output.py
|
||||
@@ -31,21 +31,15 @@ class PropertyConfigurationFacade:
|
||||
readonly_properties: StringCollection,
|
||||
) -> None:
|
||||
self._properties = properties
|
||||
+ self._first_nvpair_set = (
|
||||
+ self._properties[0].nvpairs if self._properties else []
|
||||
+ )
|
||||
self._properties_metadata = properties_metadata
|
||||
self._readonly_properties = readonly_properties
|
||||
- self._defaults_map = {
|
||||
- metadata.name: metadata.default
|
||||
- for metadata in self._properties_metadata
|
||||
- if metadata.default is not None
|
||||
+ self._defaults_map = self.get_defaults(include_advanced=True)
|
||||
+ self._name_nvpair_dto_map = {
|
||||
+ nvpair_dto.name: nvpair_dto for nvpair_dto in self._first_nvpair_set
|
||||
}
|
||||
- self._name_nvpair_dto_map = (
|
||||
- {
|
||||
- nvpair_dto.name: nvpair_dto
|
||||
- for nvpair_dto in self._properties[0].nvpairs
|
||||
- }
|
||||
- if self._properties
|
||||
- else {}
|
||||
- )
|
||||
|
||||
@classmethod
|
||||
def from_properties_dtos(
|
||||
@@ -105,17 +99,6 @@ class PropertyConfigurationFacade:
|
||||
return value
|
||||
return self._defaults_map.get(property_name, custom_default)
|
||||
|
||||
- @staticmethod
|
||||
- def _filter_names_advanced(
|
||||
- metadata: ResourceAgentParameterDto,
|
||||
- property_names: Optional[StringSequence] = None,
|
||||
- include_advanced: bool = False,
|
||||
- ) -> bool:
|
||||
- return bool(
|
||||
- (not property_names and (include_advanced or not metadata.advanced))
|
||||
- or (property_names and metadata.name in property_names)
|
||||
- )
|
||||
-
|
||||
def get_defaults(
|
||||
self,
|
||||
property_names: Optional[StringSequence] = None,
|
||||
@@ -123,11 +106,10 @@ class PropertyConfigurationFacade:
|
||||
) -> dict[str, str]:
|
||||
return {
|
||||
metadata.name: metadata.default
|
||||
- for metadata in self._properties_metadata
|
||||
- if metadata.default is not None
|
||||
- and self._filter_names_advanced(
|
||||
- metadata, property_names, include_advanced
|
||||
+ for metadata in self.get_properties_metadata(
|
||||
+ property_names, include_advanced
|
||||
)
|
||||
+ if metadata.default is not None
|
||||
}
|
||||
|
||||
def get_properties_metadata(
|
||||
@@ -135,23 +117,34 @@ class PropertyConfigurationFacade:
|
||||
property_names: Optional[StringSequence] = None,
|
||||
include_advanced: bool = False,
|
||||
) -> Sequence[ResourceAgentParameterDto]:
|
||||
- return [
|
||||
- metadata
|
||||
- for metadata in self._properties_metadata
|
||||
- if self._filter_names_advanced(
|
||||
- metadata, property_names, include_advanced
|
||||
- )
|
||||
- ]
|
||||
+ if property_names:
|
||||
+ filtered_metadata = [
|
||||
+ metadata
|
||||
+ for metadata in self._properties_metadata
|
||||
+ if metadata.name in property_names
|
||||
+ ]
|
||||
+ else:
|
||||
+ filtered_metadata = [
|
||||
+ metadata
|
||||
+ for metadata in self._properties_metadata
|
||||
+ if include_advanced or not metadata.advanced
|
||||
+ ]
|
||||
+ deduplicated_metadata = {
|
||||
+ metadata.name: metadata for metadata in filtered_metadata
|
||||
+ }
|
||||
+ return list(deduplicated_metadata.values())
|
||||
|
||||
def get_name_value_default_list(self) -> list[tuple[str, str, bool]]:
|
||||
name_value_default_list = [
|
||||
(nvpair_dto.name, nvpair_dto.value, False)
|
||||
- for nvpair_dto in self._name_nvpair_dto_map.values()
|
||||
+ for nvpair_dto in self._first_nvpair_set
|
||||
]
|
||||
name_value_default_list.extend(
|
||||
[
|
||||
(metadata_dto.name, metadata_dto.default, True)
|
||||
- for metadata_dto in self._properties_metadata
|
||||
+ for metadata_dto in self.get_properties_metadata(
|
||||
+ include_advanced=True
|
||||
+ )
|
||||
if metadata_dto.name not in self._name_nvpair_dto_map
|
||||
and metadata_dto.default is not None
|
||||
]
|
||||
diff --git a/pcs_test/tier0/cli/cluster_property/test_command.py b/pcs_test/tier0/cli/cluster_property/test_command.py
|
||||
index b54d0e58..f8cc2afa 100644
|
||||
--- a/pcs_test/tier0/cli/cluster_property/test_command.py
|
||||
+++ b/pcs_test/tier0/cli/cluster_property/test_command.py
|
||||
@@ -21,6 +21,21 @@ from pcs_test.tools.misc import dict_to_modifiers
|
||||
|
||||
FIXTURE_PROPERTY_METADATA = ClusterPropertyMetadataDto(
|
||||
properties_metadata=[
|
||||
+ ResourceAgentParameterDto(
|
||||
+ name="property_name",
|
||||
+ shortdesc="Duplicate property",
|
||||
+ longdesc=None,
|
||||
+ type="string",
|
||||
+ default="duplicate_default",
|
||||
+ enum_values=None,
|
||||
+ required=False,
|
||||
+ advanced=False,
|
||||
+ deprecated=False,
|
||||
+ deprecated_by=[],
|
||||
+ deprecated_desc=None,
|
||||
+ unique_group=None,
|
||||
+ reloadable=False,
|
||||
+ ),
|
||||
ResourceAgentParameterDto(
|
||||
name="property_name",
|
||||
shortdesc=None,
|
||||
diff --git a/pcs_test/tier0/cli/cluster_property/test_output.py b/pcs_test/tier0/cli/cluster_property/test_output.py
|
||||
index 0ce8f6a8..59d33466 100644
|
||||
--- a/pcs_test/tier0/cli/cluster_property/test_output.py
|
||||
+++ b/pcs_test/tier0/cli/cluster_property/test_output.py
|
||||
@@ -21,6 +21,7 @@ FIXTURE_TWO_PROPERTY_SETS = [
|
||||
CibNvpairDto(id="", name="readonly2", value="ro_val2"),
|
||||
CibNvpairDto(id="", name="property2", value="val2"),
|
||||
CibNvpairDto(id="", name="property1", value="val1"),
|
||||
+ CibNvpairDto(id="", name="property1", value="duplicate_val1"),
|
||||
],
|
||||
),
|
||||
CibNvsetDto(
|
||||
@@ -39,6 +40,7 @@ FIXTURE_READONLY_PROPERTIES_LIST = ["readonly1", "readonly2"]
|
||||
FIXTURE_TEXT_OUTPUT_FIRST_SET = dedent(
|
||||
"""\
|
||||
Cluster Properties: id1 score=150
|
||||
+ property1=duplicate_val1
|
||||
property1=val1
|
||||
property2=val2
|
||||
readonly1=ro_val1
|
||||
@@ -75,6 +77,7 @@ def fixture_property_metadata(
|
||||
|
||||
|
||||
FIXTURE_PROPERTY_METADATA_LIST = [
|
||||
+ fixture_property_metadata(name="property1", default="duplicate_default1"),
|
||||
fixture_property_metadata(name="property1", default="default1"),
|
||||
fixture_property_metadata(name="property2", default="default2"),
|
||||
fixture_property_metadata(
|
||||
@@ -136,7 +139,7 @@ class TestPropertyConfigurationFacadeGetPropertyValue(TestCase):
|
||||
)
|
||||
|
||||
def test_property_value_from_first_set(self):
|
||||
- self.assertEqual(self.facade.get_property_value("property1"), "val1")
|
||||
+ self.assertEqual(self.facade.get_property_value("property2"), "val2")
|
||||
|
||||
def test_property_value_from_second_set(self):
|
||||
self.assertEqual(self.facade.get_property_value("property3"), None)
|
||||
@@ -152,6 +155,11 @@ class TestPropertyConfigurationFacadeGetPropertyValue(TestCase):
|
||||
"custom",
|
||||
)
|
||||
|
||||
+ def test_property_with_multiple_values(self):
|
||||
+ self.assertEqual(
|
||||
+ self.facade.get_property_value("property1"), "duplicate_val1"
|
||||
+ )
|
||||
+
|
||||
|
||||
class TestPropertyConfigurationFacadeGetPropertyValueOrDefault(TestCase):
|
||||
def setUp(self):
|
||||
@@ -163,7 +171,7 @@ class TestPropertyConfigurationFacadeGetPropertyValueOrDefault(TestCase):
|
||||
|
||||
def test_property_value_from_first_set(self):
|
||||
self.assertEqual(
|
||||
- self.facade.get_property_value_or_default("property1"), "val1"
|
||||
+ self.facade.get_property_value_or_default("property2"), "val2"
|
||||
)
|
||||
|
||||
def test_property_value_not_in_set(self):
|
||||
@@ -239,21 +247,22 @@ class TestPropertyConfigurationFacadeGetPropertiesMetadata(TestCase):
|
||||
)
|
||||
|
||||
def test_metadata_without_advanced(self):
|
||||
- metadata = FIXTURE_PROPERTY_METADATA_LIST[0:2]
|
||||
- self.assertEqual(self.facade.get_properties_metadata(), metadata)
|
||||
+ metadata = FIXTURE_PROPERTY_METADATA_LIST[1:3]
|
||||
+ self.assertCountEqual(self.facade.get_properties_metadata(), metadata)
|
||||
|
||||
def test_metadata_with_advanced(self):
|
||||
- metadata = FIXTURE_PROPERTY_METADATA_LIST
|
||||
- self.assertEqual(
|
||||
- self.facade.get_properties_metadata(include_advanced=True), metadata
|
||||
+ metadata = FIXTURE_PROPERTY_METADATA_LIST[1:]
|
||||
+ self.assertCountEqual(
|
||||
+ self.facade.get_properties_metadata(include_advanced=True),
|
||||
+ metadata,
|
||||
)
|
||||
|
||||
def test_metadata_specified(self):
|
||||
metadata = (
|
||||
- FIXTURE_PROPERTY_METADATA_LIST[0:1]
|
||||
+ FIXTURE_PROPERTY_METADATA_LIST[1:2]
|
||||
+ FIXTURE_PROPERTY_METADATA_LIST[-1:]
|
||||
)
|
||||
- self.assertEqual(
|
||||
+ self.assertCountEqual(
|
||||
self.facade.get_properties_metadata(
|
||||
property_names=["property4", "property1"]
|
||||
),
|
||||
@@ -275,6 +284,7 @@ class TestPropertyConfigurationFacadeGetNameValueDefaultList(TestCase):
|
||||
("readonly2", "ro_val2", False),
|
||||
("property2", "val2", False),
|
||||
("property1", "val1", False),
|
||||
+ ("property1", "duplicate_val1", False),
|
||||
("property3", "default3", True),
|
||||
("property4", "default4", True),
|
||||
]
|
||||
@@ -503,7 +513,8 @@ class TestPropertiesToCmd(TestCase):
|
||||
"""\
|
||||
pcs property set --force -- \\
|
||||
property2=val2 \\
|
||||
- property1=val1
|
||||
+ property1=val1 \\
|
||||
+ property1=duplicate_val1
|
||||
"""
|
||||
)
|
||||
self.assert_lines(facade, output)
|
||||
diff --git a/pcs_test/tier0/lib/commands/test_cluster_property.py b/pcs_test/tier0/lib/commands/test_cluster_property.py
|
||||
index c7cb7ae5..c02761a0 100644
|
||||
--- a/pcs_test/tier0/lib/commands/test_cluster_property.py
|
||||
+++ b/pcs_test/tier0/lib/commands/test_cluster_property.py
|
||||
@@ -911,6 +911,10 @@ class TestGetProperties(TestCase):
|
||||
)
|
||||
self.env_assist.assert_reports([])
|
||||
|
||||
+ @mock.patch(
|
||||
+ "pcs.lib.cib.rule.in_effect.has_rule_in_effect_status_tool",
|
||||
+ lambda: True,
|
||||
+ )
|
||||
def test_evaluate_expired_but_no_set_rule(self):
|
||||
self.config.runner.cib.load(
|
||||
crm_config=fixture_crm_config_properties([("set_id", {})])
|
||||
@@ -924,6 +928,30 @@ class TestGetProperties(TestCase):
|
||||
),
|
||||
)
|
||||
|
||||
+ @mock.patch(
|
||||
+ "pcs.lib.cib.rule.in_effect.has_rule_in_effect_status_tool",
|
||||
+ lambda: False,
|
||||
+ )
|
||||
+ def test_evaluate_expired_no_status_tool(self):
|
||||
+ self.config.runner.cib.load(
|
||||
+ crm_config=fixture_crm_config_properties([("set_id", {})])
|
||||
+ )
|
||||
+ self.assertEqual(
|
||||
+ self.command(evaluate_expired=True),
|
||||
+ ListCibNvsetDto(
|
||||
+ nvsets=[
|
||||
+ CibNvsetDto(id="set_id", options={}, rule=None, nvpairs=[])
|
||||
+ ]
|
||||
+ ),
|
||||
+ )
|
||||
+ self.env_assist.assert_reports(
|
||||
+ [
|
||||
+ fixture.warn(
|
||||
+ reports.codes.RULE_IN_EFFECT_STATUS_DETECTION_NOT_SUPPORTED,
|
||||
+ )
|
||||
+ ]
|
||||
+ )
|
||||
+
|
||||
|
||||
class TestGetPropertiesMetadata(MetadataErrorMixin, TestCase):
|
||||
_load_cib_when_metadata_error = False
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,55 +0,0 @@
|
||||
From e47799cbdd588649872efd24d6bcfa78acb23ecb Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Jelinek <tojeline@redhat.com>
|
||||
Date: Tue, 11 Jul 2023 14:09:17 +0200
|
||||
Subject: [PATCH 3/3] use a filter when extracting a config backup tarball
|
||||
|
||||
---
|
||||
pcs/config.py | 26 ++++++++++++++++++++++++--
|
||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pcs/config.py b/pcs/config.py
|
||||
index 56c49aae..d750f52f 100644
|
||||
--- a/pcs/config.py
|
||||
+++ b/pcs/config.py
|
||||
@@ -488,14 +488,36 @@ def config_restore_local(infile_name, infile_obj):
|
||||
if "rename" in extract_info and extract_info["rename"]:
|
||||
if tmp_dir is None:
|
||||
tmp_dir = tempfile.mkdtemp()
|
||||
- tarball.extractall(tmp_dir, [tar_member_info])
|
||||
+ if hasattr(tarfile, "data_filter"):
|
||||
+ # Safe way of extraction is available since Python 3.12,
|
||||
+ # hasattr above checks if it's available.
|
||||
+ # It's also backported to 3.11.4, 3.10.12, 3.9.17.
|
||||
+ # It may be backported to older versions in downstream.
|
||||
+ tarball.extractall(
|
||||
+ tmp_dir, [tar_member_info], filter="data"
|
||||
+ )
|
||||
+ else:
|
||||
+ # Unsafe way of extraction
|
||||
+ # Remove once we don't support Python 3.8 and older
|
||||
+ tarball.extractall(tmp_dir, [tar_member_info])
|
||||
path_full = extract_info["path"]
|
||||
shutil.move(
|
||||
os.path.join(tmp_dir, tar_member_info.name), path_full
|
||||
)
|
||||
else:
|
||||
dir_path = os.path.dirname(extract_info["path"])
|
||||
- tarball.extractall(dir_path, [tar_member_info])
|
||||
+ if hasattr(tarfile, "data_filter"):
|
||||
+ # Safe way of extraction is available since Python 3.12,
|
||||
+ # hasattr above checks if it's available.
|
||||
+ # It's also backported to 3.11.4, 3.10.12, 3.9.17.
|
||||
+ # It may be backported to older versions in downstream.
|
||||
+ tarball.extractall(
|
||||
+ dir_path, [tar_member_info], filter="data"
|
||||
+ )
|
||||
+ else:
|
||||
+ # Unsafe way of extracting
|
||||
+ # Remove once we don't support Python 3.8 and older
|
||||
+ tarball.extractall(dir_path, [tar_member_info])
|
||||
path_full = os.path.join(dir_path, tar_member_info.name)
|
||||
file_attrs = extract_info["attrs"]
|
||||
os.chmod(path_full, file_attrs["mode"])
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 074e24f039a5bdfa81d17feb390dd342eda5ba73 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Devat <idevat@redhat.com>
|
||||
Date: Fri, 14 Jul 2023 14:44:20 +0200
|
||||
Subject: [PATCH] fix assets url (relative -> absolute)
|
||||
|
||||
---
|
||||
.bin/build.sh | 16 +++++++++++-----
|
||||
1 file changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/.bin/build.sh b/.bin/build.sh
|
||||
index 2113eaae..c7f0b4a0 100755
|
||||
--- a/.bin/build.sh
|
||||
+++ b/.bin/build.sh
|
||||
@@ -74,10 +74,15 @@ inject_built_assets() {
|
||||
}
|
||||
|
||||
fix_asset_paths() {
|
||||
- # All assets in index.html uses absolute path. This function makes them
|
||||
- # relative. The index.html is also used by development server which needs
|
||||
- # absolute paths. There is no copy/edit phase in development server, so it is
|
||||
- # done here.
|
||||
+ # All assets in index.html uses absolute path. The index.html is also used by
|
||||
+ # development server which needs absolute paths. There is no copy/edit phase
|
||||
+ # in development server, so it is done here.
|
||||
+ # Here is the absolute path prefixed according to pcsd url namespace for
|
||||
+ # webui.
|
||||
+ # WARNING: Don't use relative path. It works well in dashboard but in the
|
||||
+ # cluster detail the resulting url contains word "cluster" inside, so instead
|
||||
+ # of "/ui/static/..." we get "/ui/cluster/static" and asset loading fails.
|
||||
+ # see: https://bugzilla.redhat.com/show_bug.cgi?id=2222788
|
||||
html=$1
|
||||
path_prefix=$2
|
||||
js_path="$3/"
|
||||
@@ -130,6 +135,7 @@ adapt_for_environment() {
|
||||
}
|
||||
|
||||
use_current_node_modules=${BUILD_USE_CURRENT_NODE_MODULES:-"false"}
|
||||
+url_prefix=${PCSD_BUILD_URL_PREFIX:-"/ui"}
|
||||
node_modules=$(get_path "appNodeModules")
|
||||
node_modules_backup="${node_modules}.build-backup"
|
||||
export BUILD_DIR="${BUILD_DIR:-$(realpath "$(dirname "$0")"/../build)}"
|
||||
@@ -155,7 +161,7 @@ adapt_for_environment \
|
||||
static/js/adapterCockpit.js \
|
||||
"${PCSD_UINIX_SOCKET:-"/var/run/pcsd.socket"}"
|
||||
|
||||
-fix_asset_paths "$BUILD_DIR"/index.html "." \
|
||||
+fix_asset_paths "$BUILD_DIR"/index.html "$url_prefix" \
|
||||
static/js \
|
||||
static/css \
|
||||
manifest.json \
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 948eb79f2f4057ac8143242b29e8c164ee4516ed Mon Sep 17 00:00:00 2001
|
||||
From cf1e0cc06a94804a4a98a12ee06d09e5786bad1b 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
|
||||
@ -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 2baf0009..9b2f7388 100644
|
||||
index 55f4b4a9..8cc9360d 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 2baf0009..9b2f7388 100644
|
||||
.br
|
||||
Transport options are: ip_version, netmtu
|
||||
diff --git a/pcs/usage.py b/pcs/usage.py
|
||||
index df149e5b..c915b513 100644
|
||||
index cc6c5803..a7d4b24b 100644
|
||||
--- a/pcs/usage.py
|
||||
+++ b/pcs/usage.py
|
||||
@@ -1486,6 +1486,7 @@ Commands:
|
||||
@@ -1482,6 +1482,7 @@ Commands:
|
||||
hash=sha256. To disable encryption, set cipher=none and hash=none.
|
||||
|
||||
Transports udp and udpu:
|
||||
@ -34,5 +34,5 @@ index df149e5b..c915b513 100644
|
||||
support traffic encryption nor compression.
|
||||
Transport options are:
|
||||
--
|
||||
2.41.0
|
||||
2.43.0
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: pcs
|
||||
Version: 0.11.6
|
||||
Release: 3%{?dist}
|
||||
Version: 0.11.7
|
||||
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
|
||||
@ -20,32 +20,32 @@ ExclusiveArch: i686 x86_64 s390x ppc64le aarch64
|
||||
|
||||
# When specifying a commit, use its long hash
|
||||
%global version_or_commit %{version}
|
||||
# %%global version_or_commit 3e479bdb68dc900523a743e7dcb759b501385555
|
||||
# %%global version_or_commit aaa16e0de986890e6ca3038f907bbad331e41a87
|
||||
%global pcs_source_name %{name}-%{version_or_commit}
|
||||
|
||||
# ui_commit can be determined by hash, tag or branch
|
||||
%global ui_commit 0.1.17
|
||||
%global ui_modules_version 0.1.17
|
||||
%global ui_commit 0.1.18
|
||||
%global ui_modules_version 0.1.18
|
||||
%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.3.2
|
||||
%global tornado_version 6.3.3
|
||||
%global dacite_version 1.8.1
|
||||
%global version_rubygem_backports 3.24.1
|
||||
%global version_rubygem_childprocess 4.1.0
|
||||
%global version_rubygem_ethon 0.16.0
|
||||
%global version_rubygem_ffi 1.15.5
|
||||
%global version_rubygem_ffi 1.16.3
|
||||
%global version_rubygem_mustermann 3.0.0
|
||||
%global version_rubygem_nio4r 2.5.9
|
||||
%global version_rubygem_puma 6.3.0
|
||||
%global version_rubygem_rack 2.2.7
|
||||
%global version_rubygem_rack_protection 3.0.6
|
||||
%global version_rubygem_puma 6.4.0
|
||||
%global version_rubygem_rack 2.2.8
|
||||
%global version_rubygem_rack_protection 3.1.0
|
||||
%global version_rubygem_rack_test 2.1.0
|
||||
%global version_rubygem_ruby2_keywords 0.0.5
|
||||
%global version_rubygem_sinatra 3.0.6
|
||||
%global version_rubygem_tilt 2.2.0
|
||||
%global version_rubygem_sinatra 3.1.0
|
||||
%global version_rubygem_tilt 2.3.0
|
||||
|
||||
%global required_pacemaker_version 2.1.0
|
||||
|
||||
@ -101,13 +101,9 @@ Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_comm
|
||||
# pcs patches: <= 200
|
||||
# Patch0: bzNUMBER-01-name.patch
|
||||
Patch0: do-not-support-cluster-setup-with-udp-u-transport.patch
|
||||
Patch1: bz2163953-01-constraint-fixes.patch
|
||||
Patch2: bz2217850-01-fix-exporting-location-constraints-with-rules.patch
|
||||
Patch3: bz2219407-01-use-a-filter-when-extracting-a-config-backup-tarball.patch
|
||||
|
||||
# ui patches: >200
|
||||
# Patch201: bzNUMBER-01-name.patch
|
||||
Patch201: bz2222788-01-fix-assets-url-relative-absolute.patch
|
||||
|
||||
# git for patches
|
||||
BuildRequires: git-core
|
||||
@ -291,16 +287,12 @@ update_times_patch(){
|
||||
%autosetup -D -T -b 100 -a 101 -S git -n %{ui_src_name} -N
|
||||
%autopatch -p1 -m 201
|
||||
# update_times_patch %%{PATCH201}
|
||||
update_times_patch %{PATCH201}
|
||||
|
||||
# patch pcs sources
|
||||
%autosetup -S git -n %{pcs_source_name} -N
|
||||
%autopatch -p1 -M 200
|
||||
# update_times_patch %%{PATCH0}
|
||||
update_times_patch %{PATCH0}
|
||||
update_times_patch %{PATCH1}
|
||||
update_times_patch %{PATCH2}
|
||||
update_times_patch %{PATCH3}
|
||||
|
||||
# generate .tarball-version if building from an untagged commit, not a released version
|
||||
# autogen uses git-version-gen which uses .tarball-version for generating version number
|
||||
@ -338,7 +330,10 @@ cp -f %SOURCE44 rpm/
|
||||
%define debug_package %{nil}
|
||||
|
||||
./autogen.sh
|
||||
%{configure} --enable-local-build --enable-use-local-cache-only --enable-individual-bundling --enable-booth-enable-authfile-set --enable-booth-enable-authfile-unset PYTHON=%{__python3} ruby_CFLAGS="%{optflags}" ruby_LIBS="%{build_ldflags}"
|
||||
%{configure} --enable-local-build --enable-use-local-cache-only \
|
||||
--enable-individual-bundling --with-pcsd-default-cipherlist='PROFILE=SYSTEM' \
|
||||
--enable-booth-enable-authfile-unset --enable-booth-enable-authfile-set \
|
||||
PYTHON=%{__python3} ruby_CFLAGS="%{optflags}" ruby_LIBS="%{build_ldflags}"
|
||||
make all
|
||||
|
||||
# build pcs-web-ui
|
||||
@ -350,6 +345,10 @@ pwd
|
||||
|
||||
%make_install
|
||||
|
||||
# RHEL-7716 - fix rubygem permissions - remove write access for owner's group
|
||||
# and other users
|
||||
chmod --recursive g-w,o-w ${RPM_BUILD_ROOT}%{_libdir}/%{rubygem_bundle_dir}
|
||||
|
||||
# install pcs-web-ui
|
||||
cp -r %{_builddir}/%{ui_src_name}/build ${RPM_BUILD_ROOT}%{_libdir}/%{pcsd_public_dir}/ui
|
||||
|
||||
@ -537,6 +536,26 @@ run_all_tests
|
||||
%license pyagentx_LICENSE.txt
|
||||
|
||||
%changelog
|
||||
* Fri Jan 05 2024 Michal Pospisil <mpospisi@redhat.com> - 0.11.7-1
|
||||
- Rebased to the latest sources (see CHANGELOG.md)
|
||||
Resolves: RHEL-7740
|
||||
|
||||
* Mon Nov 13 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.6-6
|
||||
- Rebased to the latest upstream sources (see CHANGELOG.md)
|
||||
Resolves: RHEL-7582, RHEL-7583, RHEL-7669, RHEL-7672, RHEL-7697, RHEL-7698, RHEL-7700, RHEL-7703, RHEL-7719, RHEL-7725, RHEL-7730, RHEL-7738, RHEL-7739, RHEL-7740, RHEL-7744, RHEL-7746
|
||||
- TLS cipher setting in pcsd now follows system-wide crypto policies by default
|
||||
Resolves: RHEL-7724
|
||||
- Tightened permissions of bundled rubygems to be 755 or stricter
|
||||
Resolves: RHEL-7716
|
||||
|
||||
* Thu Nov 2 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.6-5
|
||||
- No changes, fixing an error in a new quality control process
|
||||
- Resolves: RHEL-15217
|
||||
|
||||
* Fri Oct 27 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.6-4
|
||||
- No changes, testing a new quality control process
|
||||
- Resolves: RHEL-15217
|
||||
|
||||
* Fri Jul 14 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.6-3
|
||||
- Refreshing any page in pcs-web-ui no longer causes it to display a blank page
|
||||
- Resolves: rhbz#2222788
|
||||
|
Loading…
Reference in New Issue
Block a user