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),