From 2f3d8e57f4fdd1e63ae25063247db7d13f4fa88d Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Tue, 26 Apr 2022 01:21:33 -0500 Subject: [PATCH 41/47] add multipathconf(read|check|update) el8toel9 actors Check config files and make necessary changes to retain RHEL-8 default behavior. This involves adding 'enable_foreign ""' and 'allow_usb_devices yes' to the defaults section of /etc/multipath.conf if these options don't already exist, and changing any regex values of "*" to ".*" in any multipath config file. Reports are generated for all changes made. In order to share code with el7toel8, move the multipathutil library to the system_upgrade/common repo. --- .../libraries/multipathutil.py | 0 .../libraries/tests/test_multipathutil.py | 0 .../actors/multipathconfcheck/actor.py | 25 + .../libraries/multipathconfcheck.py | 80 ++ .../tests/test_multipath_conf_check_8to9.py | 137 ++ .../actors/multipathconfread/actor.py | 33 + .../libraries/multipathconfread.py | 129 ++ .../tests/files/all_the_things.conf | 21 + .../tests/files/allow_usb.conf | 1078 ++++++++++++++++ .../tests/files/complicated.conf | 1107 ++++++++++++++++ .../tests/files/conf1.d/empty.conf | 0 .../files/conf1.d/nothing_important.conf | 26 + .../tests/files/conf2.d/all_true.conf | 24 + .../tests/files/conf3.d/README | 2 + .../tests/files/converted_the_things.conf | 23 + .../tests/files/default_rhel8.conf | 22 + .../multipathconfread/tests/files/empty.conf | 0 .../tests/files/empty_dir.conf | 26 + .../tests/files/missing_dir.conf | 27 + .../tests/files/no_defaults.conf | 1049 ++++++++++++++++ .../tests/files/no_foreign.conf | 1089 ++++++++++++++++ .../tests/files/not_set_dir.conf | 27 + .../tests/files/set_in_dir.conf | 33 + .../tests/files/two_defaults.conf | 26 + .../tests/test_multipath_conf_read_8to9.py | 144 +++ .../actors/multipathconfupdate/actor.py | 27 + .../libraries/multipathconfupdate.py | 86 ++ .../tests/files/after/all_the_things.conf | 23 + .../tests/files/after/allow_usb.conf | 1079 ++++++++++++++++ .../tests/files/after/complicated.conf | 1108 +++++++++++++++++ .../tests/files/after/conf2.d/all_true.conf | 24 + .../tests/files/after/default_rhel8.conf | 23 + .../tests/files/after/empty.conf | 5 + .../tests/files/after/empty_dir.conf | 28 + .../tests/files/after/missing_dir.conf | 29 + .../tests/files/after/no_defaults.conf | 1054 ++++++++++++++++ .../tests/files/after/no_foreign.conf | 1090 ++++++++++++++++ .../tests/files/after/not_set_dir.conf | 29 + .../tests/files/after/two_defaults.conf | 27 + .../tests/files/before/all_the_things.conf | 21 + .../tests/files/before/allow_usb.conf | 1078 ++++++++++++++++ .../tests/files/before/complicated.conf | 1107 ++++++++++++++++ .../tests/files/before/conf1.d/empty.conf | 0 .../before/conf1.d/nothing_important.conf | 26 + .../tests/files/before/conf2.d/all_true.conf | 24 + .../tests/files/before/conf3.d/README | 2 + .../files/before/converted_the_things.conf | 23 + .../tests/files/before/default_rhel8.conf | 22 + .../tests/files/before/empty.conf | 0 .../tests/files/before/empty_dir.conf | 26 + .../tests/files/before/missing_dir.conf | 27 + .../tests/files/before/no_defaults.conf | 1049 ++++++++++++++++ .../tests/files/before/no_foreign.conf | 1089 ++++++++++++++++ .../tests/files/before/not_set_dir.conf | 27 + .../tests/files/before/set_in_dir.conf | 33 + .../tests/files/before/two_defaults.conf | 26 + .../tests/test_multipath_conf_update_8to9.py | 119 ++ .../el8toel9/models/multipathconffacts.py | 30 + 58 files changed, 14489 insertions(+) rename repos/system_upgrade/{el7toel8 => common}/libraries/multipathutil.py (100%) rename repos/system_upgrade/{el7toel8 => common}/libraries/tests/test_multipathutil.py (100%) create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py create mode 100644 repos/system_upgrade/el8toel9/models/multipathconffacts.py diff --git a/repos/system_upgrade/el7toel8/libraries/multipathutil.py b/repos/system_upgrade/common/libraries/multipathutil.py similarity index 100% rename from repos/system_upgrade/el7toel8/libraries/multipathutil.py rename to repos/system_upgrade/common/libraries/multipathutil.py diff --git a/repos/system_upgrade/el7toel8/libraries/tests/test_multipathutil.py b/repos/system_upgrade/common/libraries/tests/test_multipathutil.py similarity index 100% rename from repos/system_upgrade/el7toel8/libraries/tests/test_multipathutil.py rename to repos/system_upgrade/common/libraries/tests/test_multipathutil.py diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py new file mode 100644 index 00000000..7b89b4f3 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py @@ -0,0 +1,25 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfcheck +from leapp.models import MultipathConfFacts8to9 +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class MultipathConfCheck8to9(Actor): + """ + Checks if changes to the multipath configuration files are necessary + for upgrading to RHEL9, and reports the results. + """ + + name = 'multipath_conf_check_8to9' + consumes = (MultipathConfFacts8to9,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(MultipathConfFacts8to9), None) + if facts is None: + self.log.debug('Skipping execution. No MultipathConfFacts8to9 has ' + 'been produced') + return + multipathconfcheck.check_configs(facts) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py new file mode 100644 index 00000000..4fbcdb94 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py @@ -0,0 +1,80 @@ +from leapp import reporting +from leapp.reporting import create_report + + +def _report_foreign(): + create_report([ + reporting.Title( + 'device-mapper-multipath now defaults to ignoring foreign devices' + ), + reporting.Summary( + 'In RHEL-9, the default value for the "enable_foreign" option has ' + 'changed to "NONE". This means that multipath will no longer list ' + 'devices that are not managed by device-mapper. In order to retain ' + 'the default RHEL-8 behavior of listing foreign multipath devices, ' + '\'enable_foreign ""\' will be added to the defaults section of ' + '"/etc/multipath.conf". If you wish to change to the default ' + 'RHEL-9 behavior, please remove this line. This option only ' + 'effects the devices that multipath lists. It has no impact on ' + 'what devices are managed.'), + reporting.Severity(reporting.Severity.INFO), + reporting.Tags([reporting.Tags.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def _report_allow_usb(): + create_report([ + reporting.Title( + 'device-mapper-multipath now defaults to ignoring USB devices' + ), + reporting.Summary( + 'In RHEL-9, the default multipath configuration has changed to ' + 'ignore USB devices. A new config option, "allow_usb_devices" has ' + 'been added to control this. In order to retain the RHEL-8 ' + 'behavior of treating USB devices like other block devices. ' + '"allow_usb_devices yes" will be added to the defaults section ' + 'of "/etc/multipath.conf". If you wish to change to the default ' + 'RHEL-9 behavior, please remove this line.'), + reporting.Severity(reporting.Severity.INFO), + reporting.Tags([reporting.Tags.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def _create_paths_str(paths): + if len(paths) < 2: + return paths[0] + return '{} and {}'.format(', '.join(paths[0:-1]), paths[-1]) + + +def _report_invalid_regexes(paths): + paths_str = _create_paths_str(paths) + create_report([ + reporting.Title( + 'device-mapper-multipath no longer accepts "*" as a valid regular expression' + ), + reporting.Summary( + 'Some options in device-mapper-multipath configuration files ' + 'have values that are regular expressions. In RHEL-8, if such an ' + 'option had a value of "*", multipath would internally convert it ' + 'to ".*". In RHEL-9, values of "*" are no longer accepted. ' + 'These regular expression values have been found in {}. They ' + 'will be converted to ".*"'.format(paths_str)), + reporting.Severity(reporting.Severity.INFO), + reporting.Tags([reporting.Tags.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def check_configs(facts): + need_foreign = not any(x for x in facts.configs if x.enable_foreign_exists) + need_allow_usb = not any(x for x in facts.configs if x.allow_usb_exists) + invalid_regexes = [x.pathname for x in facts.configs if x.invalid_regexes_exist] + + if need_foreign: + _report_foreign() + if need_allow_usb: + _report_allow_usb() + if invalid_regexes: + _report_invalid_regexes(invalid_regexes) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py new file mode 100644 index 00000000..b91d414c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py @@ -0,0 +1,137 @@ +from leapp.models import MultipathConfFacts8to9, MultipathConfig8to9 +from leapp.reporting import Report + + +def _assert_foreign_report(report): + assert report['title'] == \ + 'device-mapper-multipath now defaults to ignoring foreign devices' + assert report['severity'] == 'info' + + +def _assert_allow_usb_report(report): + assert report['title'] == \ + 'device-mapper-multipath now defaults to ignoring USB devices' + assert report['severity'] == 'info' + + +def _assert_invalid_regexes_report(report, paths_str): + assert report['title'] == \ + 'device-mapper-multipath no longer accepts "*" as a valid regular expression' + assert report['severity'] == 'info' + assert paths_str in report['summary'] + + +def _build_config(pathname, config_dir, enable_foreign_exists, invalid_regexes_exist, allow_usb_exists): + return MultipathConfig8to9( + pathname=pathname, + config_dir=config_dir, + enable_foreign_exists=enable_foreign_exists, + invalid_regexes_exist=invalid_regexes_exist, + allow_usb_exists=allow_usb_exists, + ) + + +def _build_facts(confs): + return MultipathConfFacts8to9(configs=confs) + + +def test_need_everything(current_actor_context): + config = _build_config('need_everything.conf', None, False, True, False) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 3 + _assert_foreign_report(reports[0].report) + _assert_allow_usb_report(reports[1].report) + _assert_invalid_regexes_report(reports[2].report, 'need_everything.conf') + + +def test_need_nothing(current_actor_context): + config = _build_config('need_nothing.conf', '/etc/multipath/conf.d', True, False, True) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = current_actor_context.consume(Report) + assert not reports + + +def test_need_foreign(current_actor_context): + config = _build_config('need_foreign.conf', None, False, False, True) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_foreign_report(reports[0].report) + + +def test_need_allos_usb(current_actor_context): + config = _build_config('need_allow_usb.conf', None, True, False, False) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_allow_usb_report(reports[0].report) + + +def test_invalid_regexes(current_actor_context): + config1 = _build_config('invalid_regexes1.conf', None, True, True, True) + config2 = _build_config('no_invalid_regexes.conf', None, True, False, True) + config3 = _build_config('invalid_regexes2.conf', None, True, True, True) + facts = _build_facts([config1, config2, config3]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_invalid_regexes_report(reports[0].report, 'invalid_regexes1.conf and invalid_regexes2.conf') + + +def test_not_in_main_conf(current_actor_context): + main_conf = _build_config('main.conf', '/etc/multipath/conf.d', False, True, False) + other_conf = _build_config('other.conf', None, True, False, True) + facts = _build_facts([main_conf, other_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_invalid_regexes_report(reports[0].report, 'main.conf') + + +def test_in_main_conf(current_actor_context): + main_conf = _build_config('main.conf', '/etc/multipath/conf.d', True, True, True) + other_conf = _build_config('other.conf', None, False, False, False) + next_conf = _build_config('next.conf', None, False, True, False) + last_conf = _build_config('last.conf', None, False, True, False) + facts = _build_facts([main_conf, other_conf, next_conf, last_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_invalid_regexes_report(reports[0].report, 'main.conf, next.conf and last.conf') + + +def test_in_none_conf(current_actor_context): + main_conf = _build_config('main.conf', '/etc/multipath/conf.d', False, False, False) + other_conf = _build_config('other.conf', None, False, False, False) + facts = _build_facts([main_conf, other_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 2 + _assert_foreign_report(reports[0].report) + _assert_allow_usb_report(reports[1].report) + + +def test_mixed_conf(current_actor_context): + main_conf = _build_config('main.conf', None, True, False, False) + next_conf = _build_config('next.conf', None, False, True, False) + last_conf = _build_config('last.conf', None, True, False, False) + facts = _build_facts([main_conf, next_conf, last_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 2 + _assert_allow_usb_report(reports[0].report) + _assert_invalid_regexes_report(reports[1].report, 'next.conf') diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py b/repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py new file mode 100644 index 00000000..92184c70 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py @@ -0,0 +1,33 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfread +from leapp.models import InstalledRedHatSignedRPM, MultipathConfFacts8to9, TargetUserSpaceUpgradeTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class MultipathConfRead8to9(Actor): + """ + Read multipath configuration files and extract the necessary informaton + + Related files: + - /etc/multipath.conf + - /etc/multipath/ - any files inside the directory + - /etc/xdrdevices.conf + + As well, create task (msg) to copy all needed multipath files into + the target container as the files are needed to create proper initramfs. + This covers the files mentioned above. + """ + + name = 'multipath_conf_read_8to9' + consumes = (InstalledRedHatSignedRPM,) + produces = (MultipathConfFacts8to9, TargetUserSpaceUpgradeTasks) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + if multipathconfread.is_processable(): + res = multipathconfread.get_multipath_conf_facts() + if res: + self.produce(res) + # Create task to copy multipath config files Iff facts + # are generated + multipathconfread.produce_copy_to_target_task() diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py b/repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py new file mode 100644 index 00000000..9acd243e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py @@ -0,0 +1,129 @@ +import errno +import os + +from leapp.libraries.common import multipathutil +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import ( + CopyFile, + InstalledRedHatSignedRPM, + MultipathConfFacts8to9, + MultipathConfig8to9, + TargetUserSpaceUpgradeTasks +) + +_regexes = ('vendor', 'product', 'revision', 'product_blacklist', 'devnode', + 'wwid', 'property', 'protocol') + + +def _parse_config(path): + contents = multipathutil.read_config(path) + if contents is None: + return None + conf = MultipathConfig8to9(pathname=path) + section = None + in_subsection = False + for line in contents.split('\n'): + try: + data = multipathutil.LineData(line, section, in_subsection) + except ValueError: + continue + if data.type == data.TYPE_BLANK: + continue + if data.type == data.TYPE_SECTION_END: + if in_subsection: + in_subsection = False + elif section: + section = None + continue + if data.type == data.TYPE_SECTION_START: + if not section: + section = data.section + elif not in_subsection: + in_subsection = True + continue + if data.type != data.TYPE_OPTION: + continue + if section == 'defaults': + if data.option == 'enable_foreign': + conf.enable_foreign_exists = True + elif data.option == 'allow_usb_devices': + conf.allow_usb_exists = True + elif data.option == 'config_dir': + conf.config_dir = data.value + if data.option in _regexes and data.value == '*': + conf.invalid_regexes_exist = True + return conf + + +def _parse_config_dir(config_dir): + res = [] + try: + for config_file in sorted(os.listdir(config_dir)): + path = os.path.join(config_dir, config_file) + if not path.endswith('.conf'): + continue + conf = _parse_config(path) + if conf: + res.append(conf) + except OSError as e: + if e.errno == errno.ENOENT: + api.current_logger().debug('Multipath conf directory ' + + '"{}" doesn\'t exist'.format(config_dir)) + else: + api.current_logger().warning('Failed to read multipath config ' + + 'directory ' + + '"{}": {}'.format(config_dir, e)) + return res + + +def is_processable(): + res = has_package(InstalledRedHatSignedRPM, 'device-mapper-multipath') + if not res: + api.current_logger().debug('device-mapper-multipath is not installed.') + return res + + +def get_multipath_conf_facts(config_file='/etc/multipath.conf'): + res_configs = [] + conf = _parse_config(config_file) + if not conf: + return None + res_configs.append(conf) + if conf.config_dir: + res_configs.extend(_parse_config_dir(conf.config_dir)) + else: + res_configs.extend(_parse_config_dir('/etc/multipath/conf.d')) + return MultipathConfFacts8to9(configs=res_configs) + + +def produce_copy_to_target_task(): + """ + Produce task to copy files into the target userspace + + The multipath configuration files are needed when the upgrade init ramdisk + is generated to ensure we are able to boot into the upgrade environment + and start the upgrade process itself. By this msg it's told that these + files/dirs will be available when the upgrade init ramdisk is generated. + + See TargetUserSpaceUpgradeTasks and UpgradeInitramfsTasks for more info. + """ + # TODO(pstodulk): move the function to the multipathconfcheck actor + # and get rid of the hardcoded stuff. + # - The current behaviour looks from the user POV same as before this + # * commit. I am going to keep the proper fix for additional PR as we do + # * not want to make the current PR even more complex than now and the solution + # * is not so trivial. + # - As well, I am missing some information around xDR devices, which are + # * possibly not handled correctly (maybe missing some executables?..) + # * Update: practically we do not have enough info about xDR drivers, but + # * discussed with Ben Marzinski, as the multipath dracut module includes + # * the xDR utils stuff, we should handle it in the same way. + # * See xdrgetuid, xdrgetinfo (these two utils are now missing in our initramfs) + copy_files = [] + for fname in ['/etc/multipath.conf', '/etc/multipath', '/etc/xdrdevices.conf']: + if os.path.exists(fname): + copy_files.append(CopyFile(src=fname)) + + if copy_files: + api.produce(TargetUserSpaceUpgradeTasks(copy_files=copy_files)) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf new file mode 100644 index 00000000..263cdf9e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf @@ -0,0 +1,21 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +blacklist { + devnode "*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf new file mode 100644 index 00000000..57b6f97b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf @@ -0,0 +1,1078 @@ +defaults { + verbosity 2 + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" + allow_usb_devices yes +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf new file mode 100644 index 00000000..23d93ecf --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf @@ -0,0 +1,1107 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/empty.conf new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf new file mode 100644 index 00000000..70fbc929 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "this_gets_ignored" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf new file mode 100644 index 00000000..cf606807 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf @@ -0,0 +1,24 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + allow_usb_devices no + find_multipaths yes + enable_foreign "^$" +} + +blacklist { + devnode "*" +} + +blacklist_exceptions { + wwid "^sd[a-z]" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README new file mode 100644 index 00000000..c208af29 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README @@ -0,0 +1,2 @@ +This directory contains not *.conf files. This file exists so that git will +track the directory. diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf new file mode 100644 index 00000000..f549b9b9 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "" + allow_usb_devices yes +} + +blacklist { + devnode ".*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf new file mode 100644 index 00000000..a08fae86 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf @@ -0,0 +1,22 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty.conf new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf new file mode 100644 index 00000000..73179b30 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf3.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf new file mode 100644 index 00000000..0b963000 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "missing" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf new file mode 100644 index 00000000..f7885ca8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf @@ -0,0 +1,1049 @@ +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product "*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf new file mode 100644 index 00000000..9525731c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf @@ -0,0 +1,1089 @@ +defaults { + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + allow_usb_devices no + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + enable_foreign "^$" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + enable_foreign "^$" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf new file mode 100644 index 00000000..681eb906 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf1.d" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf new file mode 100644 index 00000000..acc068c5 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf @@ -0,0 +1,33 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf2.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} + +wwids { + wwid { + wwid "123456789" + alias "test" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf new file mode 100644 index 00000000..ae59013a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} + +defaults { + no_path_retry queue +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py new file mode 100644 index 00000000..9134e1d7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py @@ -0,0 +1,144 @@ +import os + +from leapp.libraries.actor import multipathconfread +from leapp.models import MultipathConfig8to9 + +TEST_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files') + + +def build_config(pathname, config_dir, enable_foreign_exists, invalid_regexes_exist, allow_usb_exists): + return MultipathConfig8to9( + pathname=pathname, + config_dir=config_dir, + enable_foreign_exists=enable_foreign_exists, + invalid_regexes_exist=invalid_regexes_exist, + allow_usb_exists=allow_usb_exists, + ) + + +def assert_config(config, expected): + assert config.pathname == expected.pathname + assert config.config_dir == expected.config_dir + assert config.enable_foreign_exists == expected.enable_foreign_exists + assert config.invalid_regexes_exist == expected.invalid_regexes_exist + assert config.allow_usb_exists == expected.allow_usb_exists + + +default_rhel8_conf = build_config( + os.path.join(TEST_DIR, 'default_rhel8.conf'), None, True, False, False) + +all_the_things_conf = build_config( + os.path.join(TEST_DIR, 'all_the_things.conf'), None, False, True, False) + +converted_the_things_conf = build_config( + os.path.join(TEST_DIR, 'converted_the_things.conf'), None, True, False, True) + +complicated_conf = build_config( + os.path.join(TEST_DIR, 'complicated.conf'), "/etc/multipath/conf.d", True, True, False) + +no_foreign_conf = build_config( + os.path.join(TEST_DIR, 'no_foreign.conf'), None, False, True, True) + +allow_usb_conf = build_config( + os.path.join(TEST_DIR, 'allow_usb.conf'), None, False, False, True) + +empty_conf = build_config( + os.path.join(TEST_DIR, 'empty.conf'), None, False, False, False) + +missing_dir_conf = build_config( + os.path.join(TEST_DIR, 'missing_dir.conf'), os.path.join(TEST_DIR, 'missing'), False, True, False) + +empty_dir_conf = build_config( + os.path.join(TEST_DIR, 'empty_dir.conf'), os.path.join(TEST_DIR, 'conf3.d'), False, False, False) + +not_set_dir_conf = build_config( + os.path.join(TEST_DIR, 'not_set_dir.conf'), os.path.join(TEST_DIR, "conf1.d"), False, True, False) + +empty1_conf = build_config( + os.path.join(TEST_DIR, 'conf1.d/empty.conf'), None, False, False, False) + +nothing_important_conf = build_config( + os.path.join(TEST_DIR, 'conf1.d/nothing_important.conf'), + os.path.join(TEST_DIR, 'this_gets_ignored'), False, False, False) + +set_in_dir_conf = build_config( + os.path.join(TEST_DIR, 'set_in_dir.conf'), os.path.join(TEST_DIR, "conf2.d"), False, False, False) + +all_true_conf = build_config( + os.path.join(TEST_DIR, 'conf2.d/all_true.conf'), None, True, True, True) + +no_defaults_conf = build_config( + os.path.join(TEST_DIR, 'no_defaults.conf'), None, False, True, False) + +two_defaults_conf = build_config( + os.path.join(TEST_DIR, 'two_defaults.conf'), None, True, False, False) + + +def mock_parse_config(path): + """Convert config_dir into full pathname""" + conf = multipathconfread._parse_config_orig(path) + if not conf: + return None + if conf.config_dir: + conf.config_dir = os.path.join(TEST_DIR, conf.config_dir) + return conf + + +def test_parse_config(): + test_map = {'default_rhel8.conf': default_rhel8_conf, + 'all_the_things.conf': all_the_things_conf, + 'converted_the_things.conf': converted_the_things_conf, + 'complicated.conf': complicated_conf, + 'no_foreign.conf': no_foreign_conf, + 'allow_usb.conf': allow_usb_conf, + 'no_defaults.conf': no_defaults_conf, + 'two_defaults.conf': two_defaults_conf, + 'empty.conf': empty_conf} + for config_name, expected_data in test_map.items(): + config = multipathconfread._parse_config(os.path.join(TEST_DIR, config_name)) + assert config + assert_config(config, expected_data) + + +def test_get_facts_missing_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'missing_dir.conf')) + assert facts + assert len(facts.configs) == 1 + assert_config(facts.configs[0], missing_dir_conf) + + +def test_get_facts_empty_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'empty_dir.conf')) + assert facts + assert len(facts.configs) == 1 + assert_config(facts.configs[0], empty_dir_conf) + + +def test_get_facts_not_set_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + expected_configs = (not_set_dir_conf, empty1_conf, nothing_important_conf) + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'not_set_dir.conf')) + assert facts + assert len(facts.configs) == 3 + for i in range(len(facts.configs)): + assert_config(facts.configs[i], expected_configs[i]) + + +def test_get_facts_set_in_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + expected_configs = (set_in_dir_conf, all_true_conf) + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'set_in_dir.conf')) + assert facts + assert len(facts.configs) == 2 + for i in range(len(facts.configs)): + assert_config(facts.configs[i], expected_configs[i]) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py new file mode 100644 index 00000000..6c3ef41b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfupdate +from leapp.models import MultipathConfFacts8to9 +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MultipathConfUpdate8to9(Actor): + """ + Modifies multipath configuration files on the target RHEL-9 system so that + they will run properly. This is done in three ways + 1. Adding the allow_usb_devices and enable_foreign options to + /etc/multipath.conf if they are not present, to retain RHEL-8 behavior + 2. Converting any "*" regular expression strings to ".*" + """ + + name = 'multipath_conf_update_8to9' + consumes = (MultipathConfFacts8to9,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(MultipathConfFacts8to9), None) + if facts is None: + self.log.debug('Skipping execution. No MultipathConfFacts8to9 has ' + 'been produced') + return + multipathconfupdate.update_configs(facts) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py new file mode 100644 index 00000000..9e49d78f --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py @@ -0,0 +1,86 @@ +from leapp.libraries.common import multipathutil + +_regexes = ('vendor', 'product', 'revision', 'product_blacklist', 'devnode', + 'wwid', 'property', 'protocol') + + +def _update_config(need_foreign, need_allow_usb, config): + if not (need_foreign or need_allow_usb or config.invalid_regexes_exist): + return None + contents = multipathutil.read_config(config.pathname) + if contents is None: + return None + lines = contents.split('\n') + + section = None + in_subsection = False + updated_file = False + defaults_start = -1 + for i, line in enumerate(lines): + try: + data = multipathutil.LineData(line, section, in_subsection) + except ValueError: + continue + if data.type == data.TYPE_SECTION_END: + if in_subsection: + in_subsection = False + elif section is not None: + section = None + elif data.type == data.TYPE_SECTION_START: + if section is None: + section = data.section + if section == 'defaults': + defaults_start = i + 1 + elif not in_subsection: + in_subsection = True + elif data.type == data.TYPE_OPTION: + if section == 'defaults': + if data.option == 'enable_foreign': + need_foreign = False + elif data.option == 'allow_usb_devices': + need_allow_usb = False + if data.option in _regexes and data.value == '*': + lines[i] = line.replace('*', '.*', 1) + lines[i] += ' # line modified by Leapp' + updated_file = True + + if need_foreign or need_allow_usb: + updated_file = True + if defaults_start < 0: + if in_subsection: + lines.append('\t} # line added by Leapp') + if section is not None: + lines.append('} # line added by Leapp') + lines.append('defaults { # section added by Leapp') + if need_foreign: + lines.append('\tenable_foreign ""') + if need_allow_usb: + lines.append('\tallow_usb_devices yes') + lines.append('}') + lines.append('') + else: + if need_allow_usb: + lines.insert(defaults_start, '\tallow_usb_devices yes # line added by Leapp') + if need_foreign: + lines.insert(defaults_start, '\tenable_foreign "" # line added by Leapp') + + if not updated_file: + return None + + contents = '\n'.join(lines) + return contents + + +def update_configs(facts): + need_foreign = not any(x for x in facts.configs if x.enable_foreign_exists) + need_allow_usb = not any(x for x in facts.configs if x.allow_usb_exists) + for config in facts.configs: + contents = _update_config(need_foreign, need_allow_usb, config) + need_foreign = False + need_allow_usb = False + """ + foreign_exists and allow_usb_exists only matter for the main + config file. + """ + if contents: + multipathutil.write_config(config.pathname, contents) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf new file mode 100644 index 00000000..eb07d503 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes +} + +blacklist { + devnode ".*" # line modified by Leapp +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf new file mode 100644 index 00000000..e7a9c23e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf @@ -0,0 +1,1079 @@ +defaults { + enable_foreign "" # line added by Leapp + verbosity 2 + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" + allow_usb_devices yes +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf new file mode 100644 index 00000000..cbfaf801 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf @@ -0,0 +1,1108 @@ +defaults { + allow_usb_devices yes # line added by Leapp + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" # line modified by Leapp + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" # line modified by Leapp + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" # line modified by Leapp + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" # line modified by Leapp + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" # line modified by Leapp + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" # line modified by Leapp + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf new file mode 100644 index 00000000..0e3991ae --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf @@ -0,0 +1,24 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + allow_usb_devices no + find_multipaths yes + enable_foreign "^$" +} + +blacklist { + devnode ".*" # line modified by Leapp +} + +blacklist_exceptions { + wwid "^sd[a-z]" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf new file mode 100644 index 00000000..ea083d1c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf new file mode 100644 index 00000000..ecbd72cf --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf @@ -0,0 +1,5 @@ + +defaults { # section added by Leapp + enable_foreign "" + allow_usb_devices yes +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf new file mode 100644 index 00000000..39e714db --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf @@ -0,0 +1,28 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + config_dir "conf3.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf new file mode 100644 index 00000000..c3e7599e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf @@ -0,0 +1,29 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + config_dir "missing" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid ".*" # line modified by Leapp +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf new file mode 100644 index 00000000..02d7c1a2 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf @@ -0,0 +1,1054 @@ +blacklist { + devnode ".*" # line modified by Leapp + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" # line modified by Leapp + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" # line modified by Leapp + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" # line modified by Leapp + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" # line modified by Leapp + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" # line modified by Leapp + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" # line modified by Leapp + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" # line modified by Leapp + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" # line modified by Leapp + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" # line modified by Leapp + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} + +defaults { # section added by Leapp + enable_foreign "" + allow_usb_devices yes +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf new file mode 100644 index 00000000..9abffc40 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf @@ -0,0 +1,1090 @@ +defaults { + enable_foreign "" # line added by Leapp + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + allow_usb_devices no + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" # line modified by Leapp + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" # line modified by Leapp + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" # line modified by Leapp + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" # line modified by Leapp + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + enable_foreign "^$" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" # line modified by Leapp + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" # line modified by Leapp + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + enable_foreign "^$" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf new file mode 100644 index 00000000..189da997 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf @@ -0,0 +1,29 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + config_dir "conf1.d" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid ".*" # line modified by Leapp +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf new file mode 100644 index 00000000..29549849 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} + +defaults { + allow_usb_devices yes # line added by Leapp + no_path_retry queue +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf new file mode 100644 index 00000000..263cdf9e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf @@ -0,0 +1,21 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +blacklist { + devnode "*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf new file mode 100644 index 00000000..57b6f97b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf @@ -0,0 +1,1078 @@ +defaults { + verbosity 2 + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" + allow_usb_devices yes +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf new file mode 100644 index 00000000..23d93ecf --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf @@ -0,0 +1,1107 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/empty.conf new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf new file mode 100644 index 00000000..70fbc929 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "this_gets_ignored" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf new file mode 100644 index 00000000..cf606807 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf @@ -0,0 +1,24 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + allow_usb_devices no + find_multipaths yes + enable_foreign "^$" +} + +blacklist { + devnode "*" +} + +blacklist_exceptions { + wwid "^sd[a-z]" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README new file mode 100644 index 00000000..c208af29 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README @@ -0,0 +1,2 @@ +This directory contains not *.conf files. This file exists so that git will +track the directory. diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf new file mode 100644 index 00000000..f549b9b9 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "" + allow_usb_devices yes +} + +blacklist { + devnode ".*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf new file mode 100644 index 00000000..a08fae86 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf @@ -0,0 +1,22 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty.conf new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf new file mode 100644 index 00000000..73179b30 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf3.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf new file mode 100644 index 00000000..0b963000 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "missing" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf new file mode 100644 index 00000000..f7885ca8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf @@ -0,0 +1,1049 @@ +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product "*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf new file mode 100644 index 00000000..9525731c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf @@ -0,0 +1,1089 @@ +defaults { + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + allow_usb_devices no + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + enable_foreign "^$" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + enable_foreign "^$" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf new file mode 100644 index 00000000..681eb906 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf1.d" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf new file mode 100644 index 00000000..acc068c5 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf @@ -0,0 +1,33 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf2.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} + +wwids { + wwid { + wwid "123456789" + alias "test" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf new file mode 100644 index 00000000..ae59013a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} + +defaults { + no_path_retry queue +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py new file mode 100644 index 00000000..c18d6b85 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py @@ -0,0 +1,119 @@ +import os + +from leapp.libraries.actor import multipathconfupdate +from leapp.libraries.common import multipathutil +from leapp.models import MultipathConfFacts8to9, MultipathConfig8to9 + +BEFORE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files/before') +AFTER_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files/after') + +converted_data = {} + + +def build_config(pathname, config_dir, enable_foreign_exists, invalid_regexes_exist, allow_usb_exists): + return MultipathConfig8to9( + pathname=pathname, + config_dir=config_dir, + enable_foreign_exists=enable_foreign_exists, + invalid_regexes_exist=invalid_regexes_exist, + allow_usb_exists=allow_usb_exists, + ) + + +def build_facts(confs): + return MultipathConfFacts8to9(configs=confs) + + +def mock_read_config(path): + """convert to full pathname""" + return multipathutil.read_config_orig(os.path.join(BEFORE_DIR, path)) + + +def mock_write_config(path, contents): + converted_data[path] = contents + + +default_rhel8_conf = build_config( + 'default_rhel8.conf', None, True, False, False) + +all_the_things_conf = build_config( + 'all_the_things.conf', None, False, True, False) + +converted_the_things_conf = build_config( + 'converted_the_things.conf', None, True, False, True) + +idempotent_conf = build_config( + 'converted_the_things.conf', None, False, True, False) + +complicated_conf = build_config( + 'complicated.conf', '/etc/multipath/conf.d', True, True, False) + +no_foreign_conf = build_config( + 'no_foreign.conf', None, False, True, True) + +allow_usb_conf = build_config( + 'allow_usb.conf', None, False, False, True) + +no_defaults_conf = build_config( + 'no_defaults.conf', None, False, True, False) + +two_defaults_conf = build_config( + 'two_defaults.conf', None, True, False, False) + +empty_conf = build_config( + 'empty.conf', None, False, False, False) + +missing_dir_conf = build_config( + 'missing_dir.conf', 'missing', False, True, False) + +not_set_dir_conf = build_config( + 'not_set_dir.conf', 'conf1.d', False, True, False) + +empty1_conf = build_config( + 'conf1.d/empty.conf', None, False, False, False) + +nothing_important_conf = build_config( + 'conf1.d/nothing_important.conf', 'this_gets_ignored', False, False, False) + +set_in_dir_conf = build_config( + 'set_in_dir.conf', 'conf2.d', False, False, False) + +all_true_conf = build_config( + 'conf2.d/all_true.conf', None, True, True, True) + +empty_dir_conf = build_config( + 'empty_dir.conf', 'conf3.d', False, False, False) + +facts_list = [build_facts([default_rhel8_conf]), + build_facts([all_the_things_conf]), + build_facts([converted_the_things_conf]), + build_facts([complicated_conf]), + build_facts([no_foreign_conf]), + build_facts([allow_usb_conf]), + build_facts([no_defaults_conf]), + build_facts([two_defaults_conf]), + build_facts([empty_conf]), + build_facts([missing_dir_conf]), + build_facts([empty_dir_conf]), + build_facts([not_set_dir_conf, empty1_conf, nothing_important_conf]), + build_facts([set_in_dir_conf, all_true_conf]), + build_facts([idempotent_conf])] + + +def _test_facts(facts): + multipathconfupdate.update_configs(facts) + for config in facts.configs: + expected_data = multipathutil.read_config_orig(os.path.join(AFTER_DIR, config.pathname)) + if config.pathname in converted_data: + assert converted_data[config.pathname] == expected_data + else: + assert expected_data is None + + +def test_all_facts(monkeypatch): + monkeypatch.setattr(multipathutil, 'read_config_orig', multipathutil.read_config, raising=False) + monkeypatch.setattr(multipathutil, 'read_config', mock_read_config) + monkeypatch.setattr(multipathutil, 'write_config', mock_write_config) + for facts in facts_list: + _test_facts(facts) + converted_data.clear() diff --git a/repos/system_upgrade/el8toel9/models/multipathconffacts.py b/repos/system_upgrade/el8toel9/models/multipathconffacts.py new file mode 100644 index 00000000..91d3ce35 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/multipathconffacts.py @@ -0,0 +1,30 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class MultipathConfig8to9(Model): + """Model representing information about a multipath configuration file""" + topic = SystemInfoTopic + + pathname = fields.String() + """Config file path name""" + + config_dir = fields.Nullable(fields.String()) + """Value of config_dir in the defaults section. None if not set""" + + enable_foreign_exists = fields.Boolean(default=False) + """True if enable_foreign is set in the defaults section""" + + invalid_regexes_exist = fields.Boolean(default=False) + """True if any regular expressions have the value of "*" """ + + allow_usb_exists = fields.Boolean(default=False) + """True if allow_usb_devices is set in the defaults section.""" + + +class MultipathConfFacts8to9(Model): + """Model representing information from multipath configuration files""" + topic = SystemInfoTopic + + configs = fields.List(fields.Model(MultipathConfig8to9), default=[]) + """List of multipath configuration files""" -- 2.35.3