diff --git a/Makefile.am b/Makefile.am
index 45ac116ff..a8b2d097d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -350,7 +350,7 @@ test-tree-clean:
fi
find ${abs_top_builddir} -type d -name __pycache__ -exec rm -rf {} \; 2>/dev/null || :
-check-local: check-local-deps test-tree-prep typos_check pylint isort_check black_check mypy tests_tier0 tests_tier1 pcsd-tests test-tree-clean
+check-local: check-local-deps test-tree-prep typos_check pylint ruff_isort_check ruff_format_check mypy tests_tier0 tests_tier1 pcsd-tests test-tree-clean
clean-local: test-tree-clean
$(PYTHON) setup.py clean
diff --git a/pcs/cli/common/tools.py b/pcs/cli/common/tools.py
index f06539e17..6811f6a78 100644
--- a/pcs/cli/common/tools.py
+++ b/pcs/cli/common/tools.py
@@ -5,7 +5,7 @@
def timeout_to_seconds_legacy(
- timeout: Union[int, str]
+ timeout: Union[int, str],
) -> Union[int, str, None]:
"""
Transform pacemaker style timeout to number of seconds. If timeout is not
diff --git a/pcs/cli/resource/output.py b/pcs/cli/resource/output.py
index 1df2b0e20..e2064a408 100644
--- a/pcs/cli/resource/output.py
+++ b/pcs/cli/resource/output.py
@@ -286,7 +286,9 @@ def get_primitive_dto(
def get_group_dto(self, obj_id: str) -> Optional[CibResourceGroupDto]:
return self._groups_map.get(obj_id)
- def _get_any_resource_dto(self, obj_id: str) -> Optional[
+ def _get_any_resource_dto(
+ self, obj_id: str
+ ) -> Optional[
Union[
CibResourcePrimitiveDto,
CibResourceGroupDto,
diff --git a/pcs/common/interface/dto.py b/pcs/common/interface/dto.py
index 60b187988..25748716d 100644
--- a/pcs/common/interface/dto.py
+++ b/pcs/common/interface/dto.py
@@ -80,14 +80,12 @@ def _convert_dict(
value = [
# ignore _field.type may not have __args__
# this is prevented by _is_compatible_type
- _convert_dict(_field.type.__args__[0], item) # type: ignore
+ _convert_dict(_field.type.__args__[0], item) # type: ignore[union-attr]
for item in value
]
elif isinstance(value, dict) and _is_compatible_type(_field.type, 1):
value = {
- item_key: _convert_dict(
- _field.type.__args__[1], item_val # type: ignore
- )
+ item_key: _convert_dict(_field.type.__args__[1], item_val) # type: ignore[union-attr,arg-type]
for item_key, item_val in value.items()
}
elif isinstance(value, Enum):
@@ -124,9 +122,7 @@ def _convert_payload(klass: type[DTOTYPE], data: DtoPayload) -> DtoPayload:
]
elif isinstance(value, dict) and _is_compatible_type(_field.type, 1):
value = {
- item_key: _convert_payload(
- _field.type.__args__[1], item_val # type: ignore
- )
+ item_key: _convert_payload(_field.type.__args__[1], item_val) # type: ignore[union-attr,arg-type]
for item_key, item_val in value.items()
}
del new_dict[new_name]
diff --git a/pcs/common/pacemaker/constraint/all.py b/pcs/common/pacemaker/constraint/all.py
index 769f904c8..f8225eeb5 100644
--- a/pcs/common/pacemaker/constraint/all.py
+++ b/pcs/common/pacemaker/constraint/all.py
@@ -50,7 +50,7 @@ def _get_constraint_ids(
CibConstraintTicketDto,
CibConstraintTicketSetDto,
]
- ]
+ ],
) -> list[str]:
return [
constraint_dto.attributes.constraint_id
@@ -64,7 +64,7 @@ def _get_location_rule_ids(
CibConstraintLocationDto,
CibConstraintLocationSetDto,
]
- ]
+ ],
) -> list[str]:
return [
rule_dto.id
diff --git a/pcs/common/reports/messages.py b/pcs/common/reports/messages.py
index 0809c91d1..7c0b66dac 100644
--- a/pcs/common/reports/messages.py
+++ b/pcs/common/reports/messages.py
@@ -1611,9 +1611,7 @@ class ParseErrorCorosyncConfMissingSectionNameBeforeOpeningBrace(
Corosync config cannot be parsed due to a section name missing before {
"""
- _code = (
- codes.PARSE_ERROR_COROSYNC_CONF_MISSING_SECTION_NAME_BEFORE_OPENING_BRACE
- )
+ _code = codes.PARSE_ERROR_COROSYNC_CONF_MISSING_SECTION_NAME_BEFORE_OPENING_BRACE
@property
def message(self) -> str:
@@ -1643,9 +1641,7 @@ class ParseErrorCorosyncConfExtraCharactersBeforeOrAfterClosingBrace(
Corosync config cannot be parsed due to extra characters before or after }
"""
- _code = (
- codes.PARSE_ERROR_COROSYNC_CONF_EXTRA_CHARACTERS_BEFORE_OR_AFTER_CLOSING_BRACE
- )
+ _code = codes.PARSE_ERROR_COROSYNC_CONF_EXTRA_CHARACTERS_BEFORE_OR_AFTER_CLOSING_BRACE
@property
def message(self) -> str:
diff --git a/pcs/common/resource_status.py b/pcs/common/resource_status.py
index fea91a903..25fc1348c 100644
--- a/pcs/common/resource_status.py
+++ b/pcs/common/resource_status.py
@@ -1088,7 +1088,7 @@ def _is_orphaned(resource: Union[PrimitiveStatusDto, GroupStatusDto]) -> bool:
def _filter_clone_orphans(
- instance_list: Sequence[Union[PrimitiveStatusDto, GroupStatusDto]]
+ instance_list: Sequence[Union[PrimitiveStatusDto, GroupStatusDto]],
) -> list[Union[PrimitiveStatusDto, GroupStatusDto]]:
return [
instance for instance in instance_list if not _is_orphaned(instance)
diff --git a/pcs/common/str_tools.py b/pcs/common/str_tools.py
index 2afbe4f10..4b5554fa3 100644
--- a/pcs/common/str_tools.py
+++ b/pcs/common/str_tools.py
@@ -99,7 +99,7 @@ def format_name_value_list(item_list: Sequence[tuple[str, str]]) -> list[str]:
# For now, tuple[str, str, str] is sufficient. Feel free to change it if
# needed, e.g. when values can be integers.
def format_name_value_id_list(
- item_list: Sequence[tuple[str, str, str]]
+ item_list: Sequence[tuple[str, str, str]],
) -> list[str]:
"""
Turn 3-tuples to 'name=value (id: id))' strings with standard quoting
@@ -119,7 +119,7 @@ def pairs_to_text(pairs: Sequence[tuple[str, str]]) -> list[str]:
def format_name_value_default_list(
- item_list: Sequence[tuple[str, str, bool]]
+ item_list: Sequence[tuple[str, str, bool]],
) -> list[str]:
"""
Turn 3-tuples to 'name=value' or 'name=value (default)' strings with
diff --git a/pcs/lib/cib/constraint/ticket.py b/pcs/lib/cib/constraint/ticket.py
index a60a170cf..6a7eaddd8 100644
--- a/pcs/lib/cib/constraint/ticket.py
+++ b/pcs/lib/cib/constraint/ticket.py
@@ -154,8 +154,7 @@ def prepare_options_plain(
validate.NamesIn(
# rsc and rsc-ticket are passed as parameters not as items in the
# options dict
- (set(ATTRIB) | set(ATTRIB_PLAIN) | {"id"})
- - {"rsc", "ticket"}
+ (set(ATTRIB) | set(ATTRIB_PLAIN) | {"id"}) - {"rsc", "ticket"}
).validate(options)
)
diff --git a/pcs/lib/cib/resource/remote_node.py b/pcs/lib/cib/resource/remote_node.py
index fb8719c1e..621590a3d 100644
--- a/pcs/lib/cib/resource/remote_node.py
+++ b/pcs/lib/cib/resource/remote_node.py
@@ -25,9 +25,7 @@
_IS_REMOTE_AGENT_XPATH_SNIPPET = """
@class="{0}" and @provider="{1}" and @type="{2}"
-""".format(
- AGENT_NAME.standard, AGENT_NAME.provider, AGENT_NAME.type
-)
+""".format(AGENT_NAME.standard, AGENT_NAME.provider, AGENT_NAME.type)
_HAS_SERVER_XPATH_SNIPPET = """
instance_attributes/nvpair[
diff --git a/pcs/lib/cib/resource/stonith.py b/pcs/lib/cib/resource/stonith.py
index 0285fe78a..1ce95cbd8 100644
--- a/pcs/lib/cib/resource/stonith.py
+++ b/pcs/lib/cib/resource/stonith.py
@@ -244,9 +244,7 @@ def _get_lrm_rsc_op_elements(
./status/node_state[@uname=$node_name]
/lrm/lrm_resources/lrm_resource[@id=$resource_id]
/lrm_rsc_op[@operation=$op_name{interval}]
- """.format(
- interval=" and @interval=$interval" if interval else ""
- ),
+ """.format(interval=" and @interval=$interval" if interval else ""),
node_name=node_name,
resource_id=resource_id,
op_name=op_name,
diff --git a/pcs/lib/commands/resource.py b/pcs/lib/commands/resource.py
index 719f8acd3..d0e752ce3 100644
--- a/pcs/lib/commands/resource.py
+++ b/pcs/lib/commands/resource.py
@@ -2041,7 +2041,7 @@ def ban(env, resource_id, node=None, master=False, lifetime=None, wait=False):
def _resource_running_on_nodes(
- resource_state: Dict[str, List[str]]
+ resource_state: Dict[str, List[str]],
) -> FrozenSet[str]:
if resource_state:
return frozenset(
@@ -2473,7 +2473,7 @@ def _find_resources_expand_tags(
def get_required_cib_version_for_primitive(
- op_list: Iterable[Mapping[str, str]]
+ op_list: Iterable[Mapping[str, str]],
) -> Optional[Version]:
for op in op_list:
if op.get("on-fail", "") == "demote":
diff --git a/pcs/lib/corosync/config_validators.py b/pcs/lib/corosync/config_validators.py
index c28a08e15..980dcf5ea 100644
--- a/pcs/lib/corosync/config_validators.py
+++ b/pcs/lib/corosync/config_validators.py
@@ -912,9 +912,7 @@ def _update_link_options_knet(
)
).validate(new_options) + validate.ValidatorAll(
_get_link_options_validators_knet_relations()
- ).validate(
- after_update
- )
+ ).validate(after_update)
def add_link(
@@ -2039,7 +2037,7 @@ def _get_qdevice_generic_options_validators(
def _split_heuristics_exec_options(
- options: Mapping[str, str]
+ options: Mapping[str, str],
) -> tuple[dict[str, str], dict[str, str]]:
options_exec = {}
options_nonexec = {}
diff --git a/pcs/lib/pacemaker/state.py b/pcs/lib/pacemaker/state.py
index 10f29af4e..a72c45db4 100644
--- a/pcs/lib/pacemaker/state.py
+++ b/pcs/lib/pacemaker/state.py
@@ -266,9 +266,7 @@ def is_resource_managed(cluster_state, resource_id):
.//resource[{predicate_id}]
|
.//group[{predicate_id}]/resource
- """.format(
- predicate_id=_id_xpath_predicate
- ),
+ """.format(predicate_id=_id_xpath_predicate),
id=resource_id,
)
if primitive_list:
diff --git a/pcs/lib/resource_agent/ocf_transform.py b/pcs/lib/resource_agent/ocf_transform.py
index 8c8a85f6b..b0fb3c196 100644
--- a/pcs/lib/resource_agent/ocf_transform.py
+++ b/pcs/lib/resource_agent/ocf_transform.py
@@ -23,7 +23,7 @@
def ocf_version_to_ocf_unified(
- metadata: Union[ResourceAgentMetadataOcf1_0, ResourceAgentMetadataOcf1_1]
+ metadata: Union[ResourceAgentMetadataOcf1_0, ResourceAgentMetadataOcf1_1],
) -> ResourceAgentMetadata:
"""
Transform specific version OCF metadata to a universal format
diff --git a/pcs/lib/validate.py b/pcs/lib/validate.py
index c44a2ab17..6264ded49 100644
--- a/pcs/lib/validate.py
+++ b/pcs/lib/validate.py
@@ -122,7 +122,7 @@ def values_to_pairs(
def pairs_to_values(
- option_dict: Mapping[TypeOptionName, Union[TypeOptionValue, ValuePair]]
+ option_dict: Mapping[TypeOptionName, Union[TypeOptionValue, ValuePair]],
) -> TypeOptionRawMap:
"""
Take a dict which has OptionValuePairs as its values and return dict with
@@ -142,7 +142,7 @@ def pairs_to_values(
def option_value_normalization(
normalization_map: Mapping[
TypeOptionName, Callable[[TypeOptionValue], TypeOptionValue]
- ]
+ ],
) -> TypeNormalizeFunc:
"""
Return function that takes key and value and return the normalized form.
diff --git a/pcs_test/suite.py b/pcs_test/suite.py
index 118f8e008..a6d6e2e9a 100644
--- a/pcs_test/suite.py
+++ b/pcs_test/suite.py
@@ -40,7 +40,7 @@ def prepare_test_name(test_name):
def tests_from_suite(
- test_candidate: Union[unittest.TestCase, unittest.TestSuite]
+ test_candidate: Union[unittest.TestCase, unittest.TestSuite],
) -> list[str]:
if isinstance(test_candidate, unittest.TestCase):
return [test_candidate.id()]
diff --git a/pcs_test/tier0/cli/cluster_property/test_command.py b/pcs_test/tier0/cli/cluster_property/test_command.py
index d98f1bbf7..e19cea032 100644
--- a/pcs_test/tier0/cli/cluster_property/test_command.py
+++ b/pcs_test/tier0/cli/cluster_property/test_command.py
@@ -582,9 +582,7 @@ def setUp(self):
self.cluster_property = mock.MagicMock(
spec_set=["get_cluster_properties_definition_legacy"]
)
- self.cluster_property.get_cluster_properties_definition_legacy.return_value = (
- {}
- )
+ self.cluster_property.get_cluster_properties_definition_legacy.return_value = {}
self.lib.cluster_property = self.cluster_property
def _call_cmd(self, argv, modifiers=None):
diff --git a/pcs_test/tier0/common/test_tools_xml_fromstring.py b/pcs_test/tier0/common/test_tools_xml_fromstring.py
index 38f0b4b1d..51133f4b8 100644
--- a/pcs_test/tier0/common/test_tools_xml_fromstring.py
+++ b/pcs_test/tier0/common/test_tools_xml_fromstring.py
@@ -42,9 +42,7 @@ def test_large_xml(self):
/>
- """.format(
- i
- )
+ """.format(i)
for i in range(20000)
]
),
@@ -94,9 +92,7 @@ def test_large_xml(self):
op-digest="3b2ba04195253e454b50aa4a340af042"
/>
- """.format(
- "{0}-{1}".format(i, j)
- )
+ """.format("{0}-{1}".format(i, j))
for j in range(98)
]
),
diff --git a/pcs_test/tier0/daemon/async_tasks/helpers.py b/pcs_test/tier0/daemon/async_tasks/helpers.py
index e3fca2266..afe602bbf 100644
--- a/pcs_test/tier0/daemon/async_tasks/helpers.py
+++ b/pcs_test/tier0/daemon/async_tasks/helpers.py
@@ -82,11 +82,9 @@ def prepare_scheduler(self):
self.logging_queue,
# mp.Queue(),
]
- self.mp_pool_mock = (
- mock.patch("multiprocessing.Pool", spec=mp.Pool)
- .start()
- .return_value
- ) = mock.Mock()
+ self.mp_pool_mock = mock.patch(
+ "multiprocessing.Pool", spec=mp.Pool
+ ).start().return_value = mock.Mock()
# This might be needed when logger is called by get_logger, but is it?
self.scheduler = scheduler.Scheduler(
scheduler.SchedulerConfig(
diff --git a/pcs_test/tier0/lib/auth/test_provider.py b/pcs_test/tier0/lib/auth/test_provider.py
index e9fec010e..2114832e6 100644
--- a/pcs_test/tier0/lib/auth/test_provider.py
+++ b/pcs_test/tier0/lib/auth/test_provider.py
@@ -118,9 +118,7 @@ def test_empty_file(self):
data = b""
new_data = b"new data"
io_buffer = BytesIO(data)
- self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = (
- io_buffer
- )
+ self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = io_buffer
self.file_instance_mock.facade_to_raw.return_value = new_data
with self.provider._update_facade() as empty_facade:
self.assertEqual(tuple(), empty_facade.config)
@@ -152,9 +150,7 @@ def test_write_error(self):
_FILE_METADATA, RawFileError.ACTION_UPDATE, reason
)
io_buffer = BytesIO(data)
- self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = (
- io_buffer
- )
+ self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = io_buffer
self.file_instance_mock.raw_to_facade.return_value = mock_facade
self.file_instance_mock.facade_to_raw.return_value = new_data
with self.assertRaises(_UpdateFacadeError):
@@ -172,9 +168,7 @@ def test_parsing_error(self):
data = b"original data"
new_data = b"new data"
io_buffer = BytesIO(data)
- self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = (
- io_buffer
- )
+ self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = io_buffer
self.file_instance_mock.raw_to_facade.side_effect = (
ParserErrorException()
)
@@ -195,9 +189,7 @@ def test_success(self):
new_data = b"new data"
mock_facade = "facade"
io_buffer = BytesIO(data)
- self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = (
- io_buffer
- )
+ self.file_instance_mock.raw_file.update.return_value.__enter__.return_value = io_buffer
self.file_instance_mock.raw_to_facade.return_value = mock_facade
self.file_instance_mock.facade_to_raw.return_value = new_data
with self.provider._update_facade() as facade:
diff --git a/pcs_test/tier0/lib/booth/test_resource.py b/pcs_test/tier0/lib/booth/test_resource.py
index 9c3a0b214..6557a6adb 100644
--- a/pcs_test/tier0/lib/booth/test_resource.py
+++ b/pcs_test/tier0/lib/booth/test_resource.py
@@ -18,9 +18,7 @@ def fixture_resources_with_booth(booth_config_file_path):
- """.format(
- booth_config_file_path
- )
+ """.format(booth_config_file_path)
)
@@ -32,9 +30,7 @@ def fixture_booth_element(_id, booth_config_file_path):
- """.format(
- _id, booth_config_file_path
- )
+ """.format(_id, booth_config_file_path)
)
@@ -50,9 +46,7 @@ def fixture_ip_element(_id, ip=""):
/>
- """.format(
- _id, ip
- )
+ """.format(_id, ip)
)
diff --git a/pcs_test/tier0/lib/cib/resource/test_validations.py b/pcs_test/tier0/lib/cib/resource/test_validations.py
index aaf7c76d1..75e4388d2 100644
--- a/pcs_test/tier0/lib/cib/resource/test_validations.py
+++ b/pcs_test/tier0/lib/cib/resource/test_validations.py
@@ -772,6 +772,4 @@ def test_bundle_resource(self):
class ValidateUnmoveUnban(ValidateMoveBanClearMixin, TestCase):
validate = staticmethod(validations.validate_unmove_unban)
- report_code_bad_master = (
- reports.codes.CANNOT_UNMOVE_UNBAN_RESOURCE_MASTER_RESOURCE_NOT_PROMOTABLE
- )
+ report_code_bad_master = reports.codes.CANNOT_UNMOVE_UNBAN_RESOURCE_MASTER_RESOURCE_NOT_PROMOTABLE
diff --git a/pcs_test/tier0/lib/cib/test_acl.py b/pcs_test/tier0/lib/cib/test_acl.py
index b49a2b39f..92847368b 100644
--- a/pcs_test/tier0/lib/cib/test_acl.py
+++ b/pcs_test/tier0/lib/cib/test_acl.py
@@ -519,9 +519,7 @@ def test_add_for_correct_permissions(self):
- """.format(
- role_id
- ),
+ """.format(role_id),
)
)
@@ -538,9 +536,7 @@ def test_add_role_for_nonexisting_id(self):
- """.format(
- role_id
- ),
+ """.format(role_id),
)
)
@@ -557,9 +553,7 @@ def test_add_role_for_nonexisting_role_id(self):
- """.format(
- role_id
- ),
+ """.format(role_id),
)
)
diff --git a/pcs_test/tier0/lib/commands/remote_node/test_node_add_guest.py b/pcs_test/tier0/lib/commands/remote_node/test_node_add_guest.py
index 005ce6cff..c0724d782 100644
--- a/pcs_test/tier0/lib/commands/remote_node/test_node_add_guest.py
+++ b/pcs_test/tier0/lib/commands/remote_node/test_node_add_guest.py
@@ -59,9 +59,7 @@ def node_add_guest(
provider="heartbeat" type="VirtualDomain"
/>
-""".format(
- VIRTUAL_MACHINE_ID
-)
+""".format(VIRTUAL_MACHINE_ID)
FIXTURE_META_ATTRIBUTES = """
@@ -606,9 +604,7 @@ def setUp(self):
- """.format(
- VIRTUAL_MACHINE_ID
- ),
+ """.format(VIRTUAL_MACHINE_ID),
)
self.config.env.set_cib_data(
str(cib_xml_man), cib_tempfile=self.tmp_file
diff --git a/pcs_test/tier0/lib/commands/remote_node/test_node_remove_guest.py b/pcs_test/tier0/lib/commands/remote_node/test_node_remove_guest.py
index d4fc1f9d5..0a4f7e3a4 100644
--- a/pcs_test/tier0/lib/commands/remote_node/test_node_remove_guest.py
+++ b/pcs_test/tier0/lib/commands/remote_node/test_node_remove_guest.py
@@ -50,9 +50,7 @@ def node_remove_guest(env, node_identifier=REMOTE_HOST, **kwargs):
-""".format(
- VIRTUAL_MACHINE_ID, REMOTE_HOST, NODE_NAME
-)
+""".format(VIRTUAL_MACHINE_ID, REMOTE_HOST, NODE_NAME)
GUEST_NVPAIR_XPATHS = [
".//primitive/meta_attributes/nvpair[@name='remote-addr']",
@@ -205,9 +203,7 @@ class MultipleResults(TestCase):
- """.format(
- VIRTUAL_MACHINE_ID, REMOTE_HOST, NODE_NAME, "B-HOST", "B-NAME"
- )
+ """.format(VIRTUAL_MACHINE_ID, REMOTE_HOST, NODE_NAME, "B-HOST", "B-NAME")
def setUp(self):
self.env_assist, self.config = get_env_tools(self)
diff --git a/pcs_test/tier0/lib/commands/remote_node/test_node_remove_remote.py b/pcs_test/tier0/lib/commands/remote_node/test_node_remove_remote.py
index 953110ad4..e00a83841 100644
--- a/pcs_test/tier0/lib/commands/remote_node/test_node_remove_remote.py
+++ b/pcs_test/tier0/lib/commands/remote_node/test_node_remove_remote.py
@@ -78,9 +78,7 @@ def node_remove_remote(env, *args, node_identifier=REMOTE_HOST, **kwargs):
- """.format(
- NODE_NAME
- )
+ """.format(NODE_NAME)
}
FIXTURE_RESOURCES_STATE_AFTER_MODIFIERS = {
@@ -88,9 +86,7 @@ def node_remove_remote(env, *args, node_identifier=REMOTE_HOST, **kwargs):
- """.format(
- NODE_NAME
- )
+ """.format(NODE_NAME)
}
@@ -242,9 +238,7 @@ class MultipleResults(TestCase):
- """.format(
- NODE_NAME, REMOTE_HOST, "OTHER-REMOTE"
- )
+ """.format(NODE_NAME, REMOTE_HOST, "OTHER-REMOTE")
def setUp(self):
self.env_assist, self.config = get_env_tools(self)
diff --git a/pcs_test/tier0/lib/commands/resource/bundle_common.py b/pcs_test/tier0/lib/commands/resource/bundle_common.py
index 8cea30745..9160e8570 100644
--- a/pcs_test/tier0/lib/commands/resource/bundle_common.py
+++ b/pcs_test/tier0/lib/commands/resource/bundle_common.py
@@ -1138,9 +1138,7 @@ def fixture_status_running(self):
- """.format(
- bundle_id=self.bundle_id
- )
+ """.format(bundle_id=self.bundle_id)
@property
def fixture_status_not_running(self):
@@ -1163,9 +1161,7 @@ def fixture_status_not_running(self):
- """.format(
- bundle_id=self.bundle_id
- )
+ """.format(bundle_id=self.bundle_id)
@property
def fixture_resources_bundle_simple_disabled(self):
@@ -1179,9 +1175,7 @@ def fixture_resources_bundle_simple_disabled(self):
- """.format(
- bundle_id=self.bundle_id, image=self.image
- )
+ """.format(bundle_id=self.bundle_id, image=self.image)
def test_wait_fail(self):
wait_error_message = dedent(
@@ -1189,9 +1183,7 @@ def test_wait_fail(self):
Pending actions:
Action 12: {bundle_id}-node2-stop on node2
Error performing operation: Timer expired
- """.format(
- bundle_id=self.bundle_id
- )
+ """.format(bundle_id=self.bundle_id)
).strip()
self.config.env.push_cib(
resources=self.fixture_resources_bundle_simple,
diff --git a/pcs_test/tier0/lib/commands/resource/test_bundle_update.py b/pcs_test/tier0/lib/commands/resource/test_bundle_update.py
index 72fc00c0c..3a182bfc6 100644
--- a/pcs_test/tier0/lib/commands/resource/test_bundle_update.py
+++ b/pcs_test/tier0/lib/commands/resource/test_bundle_update.py
@@ -36,9 +36,7 @@ def fixture_resources_minimal(container_type="docker"):
<{container_type} image="pcs:test" />
- """.format(
- container_type=container_type
- )
+ """.format(container_type=container_type)
class Basics(TestCase):
@@ -126,9 +124,7 @@ def fixture_cib_extra_option(self):
<{container_type} image="pcs:test" extra="option" />
- """.format(
- container_type=self.container_type
- )
+ """.format(container_type=self.container_type)
@property
def fixture_cib_masters(self):
@@ -138,9 +134,7 @@ def fixture_cib_masters(self):
<{container_type} image="pcs:test" masters="2" />
- """.format(
- container_type=self.container_type
- )
+ """.format(container_type=self.container_type)
@property
def fixture_cib_promoted_max(self):
@@ -150,9 +144,7 @@ def fixture_cib_promoted_max(self):
<{container_type} image="pcs:test" promoted-max="3" />
- """.format(
- container_type=self.container_type
- )
+ """.format(container_type=self.container_type)
fixture_report_deprecated_masters = (
severities.DEPRECATION,
@@ -179,9 +171,7 @@ def _test_success(self):
/>
- """.format(
- container_type=self.container_type
- )
+ """.format(container_type=self.container_type)
).env.push_cib(
resources="""
@@ -190,9 +180,7 @@ def _test_success(self):
/>
- """.format(
- container_type=self.container_type
- )
+ """.format(container_type=self.container_type)
)
)
resource.bundle_update(
diff --git a/pcs_test/tier0/lib/commands/resource/test_resource_move_autoclean.py b/pcs_test/tier0/lib/commands/resource/test_resource_move_autoclean.py
index 9c54186ee..eb749039f 100644
--- a/pcs_test/tier0/lib/commands/resource/test_resource_move_autoclean.py
+++ b/pcs_test/tier0/lib/commands/resource/test_resource_move_autoclean.py
@@ -203,9 +203,7 @@ def setUp(self):
self.simulated_transitions_add_constraint_tmp_file_name = (
"pcmk_simulate_move_transitions"
)
- self.cib_apply_diff_remove_constraint_from_simulated_cib_tmp_file_name = (
- "simulated_cib_remove_constraint"
- )
+ self.cib_apply_diff_remove_constraint_from_simulated_cib_tmp_file_name = "simulated_cib_remove_constraint"
self.cib_simulated_apply_diff_removing_constraint = (
''
)
@@ -224,15 +222,11 @@ def setUp(self):
self.cib_remove_constraint_diff_applied = (
''
)
- self.pcmk_simulate_remove_constraint_after_push_orig_cib_tmp_file_name = (
- "pcmk_simulate_after_push_input_unmove_cib_after"
- )
+ self.pcmk_simulate_remove_constraint_after_push_orig_cib_tmp_file_name = "pcmk_simulate_after_push_input_unmove_cib_after"
self.simulated_cib_remove_constraint_after_push_tmp_file_name = (
"pcmk_simulate_after_push_unmove_new_cib"
)
- self.simulated_transitions_remove_constraint_after_push_tmp_file_name = (
- "pcmk_simulate_after_push_unmove_transitions"
- )
+ self.simulated_transitions_remove_constraint_after_push_tmp_file_name = "pcmk_simulate_after_push_unmove_transitions"
self.cib_diff_add_constraint = "diff_add_constraint"
self.cib_diff_remove_constraint = "diff_remove_constraint"
@@ -969,9 +963,7 @@ def setUp(self):
self.cib_simulate_constraint = (
''
)
- self.cib_apply_diff_remove_constraint_from_simulated_cib_tmp_file_name = (
- "simulated_cib_remove_constraint"
- )
+ self.cib_apply_diff_remove_constraint_from_simulated_cib_tmp_file_name = "simulated_cib_remove_constraint"
self.cib_simulated_apply_diff_removing_constraint = (
''
)
@@ -990,15 +982,11 @@ def setUp(self):
self.cib_remove_constraint_diff_applied = (
''
)
- self.pcmk_simulate_remove_constraint_after_push_orig_cib_tmp_file_name = (
- "pcmk_simulate_after_push_input_unmove_cib_after"
- )
+ self.pcmk_simulate_remove_constraint_after_push_orig_cib_tmp_file_name = "pcmk_simulate_after_push_input_unmove_cib_after"
self.simulated_cib_remove_constraint_after_push_tmp_file_name = (
"pcmk_simulate_after_push_unmove_new_cib"
)
- self.simulated_transitions_remove_constraint_after_push_tmp_file_name = (
- "pcmk_simulate_after_push_unmove_transitions"
- )
+ self.simulated_transitions_remove_constraint_after_push_tmp_file_name = "pcmk_simulate_after_push_unmove_transitions"
self.config.runner.cib.load(
resources=_resources_tag(_rsc_primitive_fixture(self.resource_id)),
diff --git a/pcs_test/tier0/lib/commands/test_quorum.py b/pcs_test/tier0/lib/commands/test_quorum.py
index 14cbaf14e..ac25dafee 100644
--- a/pcs_test/tier0/lib/commands/test_quorum.py
+++ b/pcs_test/tier0/lib/commands/test_quorum.py
@@ -1253,7 +1253,7 @@ def test_success_corosync_not_running_not_enabled(self):
report_list_success = self.fixture_reports_success()
expected_reports = fixture.ReportSequenceBuilder(
report_list_success[
- :f"enable_qdevice_done_on_{self.cluster_nodes[0]}"
+ : f"enable_qdevice_done_on_{self.cluster_nodes[0]}"
]
)
for node in self.cluster_nodes:
@@ -1299,9 +1299,7 @@ def assert_success_heuristics_no_exec(self, mode, warn):
mode: %mode%
}
}
- """.replace(
- "%mode%", mode
- )
+ """.replace("%mode%", mode)
),
)
@@ -1734,7 +1732,7 @@ def test_get_ca_cert_error_communication(self):
self.env_assist.assert_reports(
fixture.ReportSequenceBuilder(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
).error(
reports.codes.NODE_COMMUNICATION_COMMAND_UNSUCCESSFUL,
@@ -1768,7 +1766,7 @@ def test_get_ca_cert_error_decode_certificate(self):
self.env_assist.assert_reports(
fixture.ReportSequenceBuilder(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
).error(
reports.codes.INVALID_RESPONSE_FORMAT,
@@ -1808,7 +1806,7 @@ def test_error_client_setup(self):
self.env_assist.assert_reports(
fixture.ReportSequenceBuilder(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
).error(
reports.codes.NODE_COMMUNICATION_COMMAND_UNSUCCESSFUL,
@@ -1850,7 +1848,7 @@ def test_generate_cert_request_error(self):
self.env_assist.assert_reports(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
)
@@ -1884,7 +1882,7 @@ def test_sign_certificate_error_communication(self):
self.env_assist.assert_reports(
fixture.ReportSequenceBuilder(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
).error(
reports.codes.NODE_COMMUNICATION_COMMAND_UNSUCCESSFUL,
@@ -1917,7 +1915,7 @@ def test_sign_certificate_error_decode_certificate(self):
self.env_assist.assert_reports(
fixture.ReportSequenceBuilder(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
).error(
reports.codes.INVALID_RESPONSE_FORMAT,
@@ -1958,7 +1956,7 @@ def test_certificate_to_pk12_error(self):
self.env_assist.assert_reports(
self.fixture_reports_success()[
- :f"cert_accepted_by_{self.cluster_nodes[0]}"
+ : f"cert_accepted_by_{self.cluster_nodes[0]}"
]
)
@@ -1993,7 +1991,7 @@ def test_client_import_cert_error(self):
success_reports = self.fixture_reports_success()
expected_reports = success_reports[
- :f"cert_accepted_by_{self.cluster_nodes[1]}"
+ : f"cert_accepted_by_{self.cluster_nodes[1]}"
]
expected_reports.append(
fixture.error(
@@ -3510,9 +3508,7 @@ def assert_success_heuristics_add_no_exec(
heuristics {
mode: %mode%
- """.replace(
- "%mode%", mode
- )
+ """.replace("%mode%", mode)
),
),
)
diff --git a/pcs_test/tier0/lib/commands/test_status.py b/pcs_test/tier0/lib/commands/test_status.py
index 45fb5f056..30dacf725 100644
--- a/pcs_test/tier0/lib/commands/test_status.py
+++ b/pcs_test/tier0/lib/commands/test_status.py
@@ -100,9 +100,7 @@ def _fixture_xml_clustername(name):
/>
- """.format(
- name=name
- )
+ """.format(name=name)
def _fixture_config_live_minimal(self):
(
diff --git a/pcs_test/tier0/lib/commands/test_stonith.py b/pcs_test/tier0/lib/commands/test_stonith.py
index 6019a87e2..15f141604 100644
--- a/pcs_test/tier0/lib/commands/test_stonith.py
+++ b/pcs_test/tier0/lib/commands/test_stonith.py
@@ -586,9 +586,7 @@ def test_minimal_wait_ok_run_ok(self):
- """.format(
- id=instance_name, agent=agent_name
- )
+ """.format(id=instance_name, agent=agent_name)
self.config.runner.pcmk.load_agent(
agent_name=f"stonith:{agent_name}",
diff --git a/pcs_test/tier0/lib/commands/test_ticket.py b/pcs_test/tier0/lib/commands/test_ticket.py
index b72fbd481..629887147 100644
--- a/pcs_test/tier0/lib/commands/test_ticket.py
+++ b/pcs_test/tier0/lib/commands/test_ticket.py
@@ -36,9 +36,7 @@ def test_success_create(self):
loss-policy="fence"
/>
- """.format(
- role=const.PCMK_ROLE_PROMOTED_PRIMARY
- )
+ """.format(role=const.PCMK_ROLE_PROMOTED_PRIMARY)
)
)
role = str(const.PCMK_ROLE_PROMOTED_LEGACY).lower()
diff --git a/pcs_test/tier0/lib/corosync/test_config_validators_links.py b/pcs_test/tier0/lib/corosync/test_config_validators_links.py
index 19b24f439..fce50e3c9 100644
--- a/pcs_test/tier0/lib/corosync/test_config_validators_links.py
+++ b/pcs_test/tier0/lib/corosync/test_config_validators_links.py
@@ -1208,9 +1208,9 @@ def setUp(self):
def test_new_address_already_used(self):
pcmk_nodes = [PacemakerNode("node-remote", "addr-remote")]
new_addrs = {
- self.coro_nodes[1]
- .name: self.coro_nodes[0]
- .addr_plain_for_link("0"),
+ self.coro_nodes[1].name: self.coro_nodes[0].addr_plain_for_link(
+ "0"
+ ),
self.coro_nodes[2].name: pcmk_nodes[0].addr,
self.coro_nodes[3].name: "new-addr",
}
@@ -1322,12 +1322,12 @@ def setUp(self):
def test_new_address_already_used(self):
pcmk_nodes = [PacemakerNode("node-remote", "addr-remote")]
new_addrs = {
- self.coro_nodes[0]
- .name: self.coro_nodes[3]
- .addr_plain_for_link("1"),
- self.coro_nodes[1]
- .name: self.coro_nodes[1]
- .addr_plain_for_link("0"),
+ self.coro_nodes[0].name: self.coro_nodes[3].addr_plain_for_link(
+ "1"
+ ),
+ self.coro_nodes[1].name: self.coro_nodes[1].addr_plain_for_link(
+ "0"
+ ),
self.coro_nodes[2].name: pcmk_nodes[0].addr,
}
patch_getaddrinfo(self, list(new_addrs.values()) + self.existing_addrs)
diff --git a/pcs_test/tier1/cib_resource/test_clone_unclone.py b/pcs_test/tier1/cib_resource/test_clone_unclone.py
index ce22e8706..9c54e8917 100644
--- a/pcs_test/tier1/cib_resource/test_clone_unclone.py
+++ b/pcs_test/tier1/cib_resource/test_clone_unclone.py
@@ -133,9 +133,7 @@ def _get_primitive_fixture(
{}
-""".format(
- FIXTURE_DUMMY
-)
+""".format(FIXTURE_DUMMY)
def fixture_resources_xml(*resources_xml_list):
@@ -143,9 +141,7 @@ def fixture_resources_xml(*resources_xml_list):
{0}
- """.format(
- "\n".join(resources_xml_list)
- )
+ """.format("\n".join(resources_xml_list))
def fixture_clone(clone_id, primitive_id, promotable=False):
diff --git a/pcs_test/tier1/cib_resource/test_group_ungroup.py b/pcs_test/tier1/cib_resource/test_group_ungroup.py
index bcd07d0b7..00dc99c91 100644
--- a/pcs_test/tier1/cib_resource/test_group_ungroup.py
+++ b/pcs_test/tier1/cib_resource/test_group_ungroup.py
@@ -18,9 +18,7 @@ def fixture_resources_xml(resources_xml_list):
{0}
- """.format(
- "\n".join(resources_xml_list)
- )
+ """.format("\n".join(resources_xml_list))
def fixture_primitive_xml(primitive_id):
diff --git a/pcs_test/tier1/cib_resource/test_manage_unmanage.py b/pcs_test/tier1/cib_resource/test_manage_unmanage.py
index 0ce9311ff..f0d56d937 100644
--- a/pcs_test/tier1/cib_resource/test_manage_unmanage.py
+++ b/pcs_test/tier1/cib_resource/test_manage_unmanage.py
@@ -48,9 +48,7 @@ def fixture_cib_unmanaged_a(add_empty_meta_b=False):
- """.format(
- empty_meta_b=(empty_meta_b if add_empty_meta_b else "")
- )
+ """.format(empty_meta_b=(empty_meta_b if add_empty_meta_b else ""))
def setUp(self):
self.temp_cib = get_tmp_file("tier1_cib_resource_manage_unmanage")
diff --git a/pcs_test/tier1/legacy/test_resource.py b/pcs_test/tier1/legacy/test_resource.py
index c9640d6e3..b448fcc78 100644
--- a/pcs_test/tier1/legacy/test_resource.py
+++ b/pcs_test/tier1/legacy/test_resource.py
@@ -114,9 +114,7 @@ def fixture_description(advanced=False):
interval=0s timeout=20s
migrate_from:
interval=0s timeout=20s
- """.format(
- advanced_params if advanced else ""
- )
+ """.format(advanced_params if advanced else "")
)
def test_success(self):
diff --git a/pcs_test/tier1/test_booth.py b/pcs_test/tier1/test_booth.py
index 29ec2b3d4..5e3145de7 100644
--- a/pcs_test/tier1/test_booth.py
+++ b/pcs_test/tier1/test_booth.py
@@ -93,9 +93,7 @@ def test_success_setup_booth_config(self):
site = 1.1.1.1
site = 2.2.2.2
arbitrator = 3.3.3.3
- """.format(
- self.booth_key_path
- )
+ """.format(self.booth_key_path)
),
config_file.read(),
)
@@ -223,9 +221,7 @@ def test_success_add_ticket(self):
arbitrator = 3.3.3.3
ticket = "TicketA"
expire = 10
- """.format(
- self.booth_key_path
- )
+ """.format(self.booth_key_path)
),
config_file.read(),
)
@@ -327,9 +323,7 @@ def test_success_remove_ticket(self):
site = 2.2.2.2
arbitrator = 3.3.3.3
ticket = "TicketA"
- """.format(
- self.booth_key_path
- )
+ """.format(self.booth_key_path)
),
config_file.read(),
)
@@ -342,9 +336,7 @@ def test_success_remove_ticket(self):
site = 1.1.1.1
site = 2.2.2.2
arbitrator = 3.3.3.3
- """.format(
- self.booth_key_path
- )
+ """.format(self.booth_key_path)
),
config_file.read(),
)
diff --git a/pcs_test/tier1/test_status.py b/pcs_test/tier1/test_status.py
index d24b52421..27e24dc35 100644
--- a/pcs_test/tier1/test_status.py
+++ b/pcs_test/tier1/test_status.py
@@ -723,9 +723,7 @@ def test_success(self):
- """.format(
- crm_mon=settings.crm_mon_exec
- )
+ """.format(crm_mon=settings.crm_mon_exec)
self.assert_pcs_success(
["status", "xml"],
stdout_regexp=re.compile(dedent(xml).strip(), re.MULTILINE),