You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.4 KiB

10 months ago
from leapp.models import fields, Model
from leapp.topics import SystemInfoTopic
class MultipathConfigOption(Model):
"""Model representing information about a multipath configuration option"""
topic = SystemInfoTopic
name = fields.String(default='')
value = fields.String(default='')
class MultipathConfig(Model):
"""Model representing information about a multipath configuration file"""
topic = SystemInfoTopic
pathname = fields.String()
"""Config file path name"""
default_path_checker = fields.Nullable(fields.String())
config_dir = fields.Nullable(fields.String())
"""Values of path_checker and config_dir in the defaults section.
None if not set"""
default_retain_hwhandler = fields.Nullable(fields.Boolean())
default_detect_prio = fields.Nullable(fields.Boolean())
default_detect_checker = fields.Nullable(fields.Boolean())
reassign_maps = fields.Nullable(fields.Boolean())
"""True if retain_attached_hw_handler, detect_prio, detect_path_checker,
or reassign_maps is set to "yes" in the defaults section. False
if set to "no". None if not set."""
hw_str_match_exists = fields.Boolean(default=False)
ignore_new_boot_devs_exists = fields.Boolean(default=False)
new_bindings_in_boot_exists = fields.Boolean(default=False)
unpriv_sgio_exists = fields.Boolean(default=False)
detect_path_checker_exists = fields.Boolean(default=False)
overrides_hwhandler_exists = fields.Boolean(default=False)
overrides_pg_timeout_exists = fields.Boolean(default=False)
queue_if_no_path_exists = fields.Boolean(default=False)
all_devs_section_exists = fields.Boolean(default=False)
"""True if hw_str_match, ignore_new_boot_devs, new_bindings_in_boot,
detect_path_checker, or unpriv_sgio is set in any section,
if queue_if_no_path is included in the features line in any
section or if hardware_handler or pg_timeout is set in the
overrides section. False otherwise"""
all_devs_options = fields.List(fields.Model(MultipathConfigOption),
default=[])
"""options in an all_devs device configuration section to be converted to
an overrides section"""
class MultipathConfFacts(Model):
"""Model representing information from multipath configuration files"""
topic = SystemInfoTopic
configs = fields.List(fields.Model(MultipathConfig), default=[])
"""List of multipath configuration files"""