Blame lenses/tests/test_multipath.aug

Packit Service a2ae7a
module Test_multipath =
Packit Service a2ae7a
Packit Service a2ae7a
  let conf = "# Blacklist all devices by default.
Packit Service a2ae7a
blacklist {
Packit Service a2ae7a
        devnode \"*\"
Packit Service a2ae7a
        wwid    *
Packit Service a2ae7a
}
Packit Service a2ae7a
Packit Service a2ae7a
# By default, devices with vendor = \"IBM\" and product = \"S/390.*\" are
Packit Service a2ae7a
# blacklisted. To enable mulitpathing on these devies, uncomment the
Packit Service a2ae7a
# following lines.
Packit Service a2ae7a
blacklist_exceptions {
Packit Service a2ae7a
	device {
Packit Service a2ae7a
		vendor	\"IBM\"
Packit Service a2ae7a
		product	\"S/390.*\"
Packit Service a2ae7a
	}
Packit Service a2ae7a
}
Packit Service a2ae7a
Packit Service a2ae7a
#
Packit Service a2ae7a
# Here is an example of how to configure some standard options.
Packit Service a2ae7a
#
Packit Service a2ae7a
Packit Service a2ae7a
defaults {
Packit Service a2ae7a
	udev_dir		/dev
Packit Service a2ae7a
	polling_interval 	10
Packit Service a2ae7a
	selector		\"round-robin 0\"
Packit Service a2ae7a
	path_grouping_policy	multibus
Packit Service a2ae7a
	getuid_callout		\"/sbin/scsi_id --whitelisted /dev/%n\"
Packit Service a2ae7a
	prio			alua
Packit Service a2ae7a
	path_checker		readsector0
Packit Service a2ae7a
	rr_min_io		100
Packit Service a2ae7a
	max_fds			8192
Packit Service a2ae7a
	rr_weight		priorities
Packit Service a2ae7a
	failback		immediate
Packit Service a2ae7a
	no_path_retry		fail
Packit Service a2ae7a
	user_friendly_names	yes
Packit Service a2ae7a
  dev_loss_tmo  30
Packit Service a2ae7a
  max_polling_interval  300
Packit Service a2ae7a
  verbosity 2
Packit Service a2ae7a
  reassign_maps yes
Packit Service a2ae7a
  fast_io_fail_tmo  5
Packit Service a2ae7a
  async_timeout 5
Packit Service a2ae7a
  flush_on_last_del no
Packit Service a2ae7a
  delay_watch_checks no
Packit Service a2ae7a
  delay_wait_checks no
Packit Service a2ae7a
  find_multipaths yes
Packit Service a2ae7a
  checker_timeout 10
Packit Service a2ae7a
  hwtable_regex_match yes
Packit Service a2ae7a
  reload_readwrite no
Packit Service a2ae7a
  force_sync yes
Packit Service a2ae7a
  config_dir /etc/multipath/conf.d
Packit Service a2ae7a
}
Packit Service a2ae7a
Packit Service a2ae7a
# Sections without empty lines in between
Packit Service a2ae7a
blacklist {
Packit Service a2ae7a
       wwid 26353900f02796769
Packit Service a2ae7a
	devnode \"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*\"
Packit Service a2ae7a
Packit Service a2ae7a
    # Comments and blank lines inside a section
Packit Service a2ae7a
	devnode \"^hd[a-z]\"
Packit Service a2ae7a
Packit Service a2ae7a
}
Packit Service a2ae7a
multipaths {
Packit Service a2ae7a
	multipath {
Packit Service a2ae7a
		wwid			3600508b4000156d700012000000b0000
Packit Service a2ae7a
		alias			yellow
Packit Service a2ae7a
		path_grouping_policy	multibus
Packit Service a2ae7a
		path_checker		readsector0
Packit Service a2ae7a
		path_selector		\"round-robin 0\"
Packit Service a2ae7a
		failback		manual
Packit Service a2ae7a
		rr_weight		priorities
Packit Service a2ae7a
		no_path_retry		5
Packit Service a2ae7a
        flush_on_last_del yes
Packit Service a2ae7a
	}
Packit Service a2ae7a
	multipath {
Packit Service a2ae7a
		wwid			1DEC_____321816758474
Packit Service a2ae7a
		alias			red
Packit Service a2ae7a
	}
Packit Service a2ae7a
}
Packit Service a2ae7a
devices {
Packit Service a2ae7a
	device {
Packit Service a2ae7a
		vendor			\"COMPAQ  \"
Packit Service a2ae7a
		product			\"HSV110 (C)COMPAQ\"
Packit Service a2ae7a
		path_grouping_policy	multibus
Packit Service a2ae7a
		getuid_callout          \"/sbin/scsi_id --whitelisted /dev/%n\"
Packit Service a2ae7a
		path_checker		readsector0
Packit Service a2ae7a
		path_selector		\"round-robin 0\"
Packit Service a2ae7a
		hardware_handler	\"0\"
Packit Service a2ae7a
		failback		15
Packit Service a2ae7a
		rr_weight		priorities
Packit Service a2ae7a
		rr_min_io_rq		75
Packit Service a2ae7a
		no_path_retry		queue
Packit Service a2ae7a
        reservation_key a12345
Packit Service a2ae7a
	}
Packit Service a2ae7a
	device {
Packit Service a2ae7a
		vendor			\"COMPAQ  \"
Packit Service a2ae7a
		product			\"MSA1000         \"
Packit Service a2ae7a
		path_grouping_policy	multibus
Packit Service a2ae7a
		polling_interval	9
Packit Service a2ae7a
        delay_watch_checks 10
Packit Service a2ae7a
        delay_wait_checks 10
Packit Service a2ae7a
	}
Packit Service a2ae7a
}\n"
Packit Service a2ae7a
Packit Service a2ae7a
test Multipath.lns get conf =
Packit Service a2ae7a
  { "#comment" = "Blacklist all devices by default." }
Packit Service a2ae7a
  { "blacklist"
Packit Service a2ae7a
    { "devnode" = "*" }
Packit Service a2ae7a
    { "wwid"    = "*" } }
Packit Service a2ae7a
  { }
Packit Service a2ae7a
  { "#comment" = "By default, devices with vendor = \"IBM\" and product = \"S/390.*\" are" }
Packit Service a2ae7a
  { "#comment" = "blacklisted. To enable mulitpathing on these devies, uncomment the" }
Packit Service a2ae7a
  { "#comment" = "following lines." }
Packit Service a2ae7a
  { "blacklist_exceptions"
Packit Service a2ae7a
    { "device"
Packit Service a2ae7a
      { "vendor" = "IBM" }
Packit Service a2ae7a
      { "product" = "S/390.*" } } }
Packit Service a2ae7a
  { }
Packit Service a2ae7a
  { }
Packit Service a2ae7a
  { "#comment" = "Here is an example of how to configure some standard options." }
Packit Service a2ae7a
  { }
Packit Service a2ae7a
  { }
Packit Service a2ae7a
  { "defaults"
Packit Service a2ae7a
    { "udev_dir" = "/dev" }
Packit Service a2ae7a
    { "polling_interval" = "10" }
Packit Service a2ae7a
    { "selector" = "round-robin 0" }
Packit Service a2ae7a
    { "path_grouping_policy" = "multibus" }
Packit Service a2ae7a
    { "getuid_callout" = "/sbin/scsi_id --whitelisted /dev/%n" }
Packit Service a2ae7a
    { "prio" = "alua" }
Packit Service a2ae7a
    { "path_checker" = "readsector0" }
Packit Service a2ae7a
    { "rr_min_io" = "100" }
Packit Service a2ae7a
    { "max_fds" = "8192" }
Packit Service a2ae7a
    { "rr_weight" = "priorities" }
Packit Service a2ae7a
    { "failback" = "immediate" }
Packit Service a2ae7a
    { "no_path_retry" = "fail" }
Packit Service a2ae7a
    { "user_friendly_names" = "yes" }
Packit Service a2ae7a
    { "dev_loss_tmo" = "30" }
Packit Service a2ae7a
    { "max_polling_interval" = "300" }
Packit Service a2ae7a
    { "verbosity" = "2" }
Packit Service a2ae7a
    { "reassign_maps" = "yes" }
Packit Service a2ae7a
    { "fast_io_fail_tmo" = "5" }
Packit Service a2ae7a
    { "async_timeout" = "5" }
Packit Service a2ae7a
    { "flush_on_last_del" = "no" }
Packit Service a2ae7a
    { "delay_watch_checks" = "no" }
Packit Service a2ae7a
    { "delay_wait_checks" = "no" }
Packit Service a2ae7a
    { "find_multipaths" = "yes" }
Packit Service a2ae7a
    { "checker_timeout" = "10" }
Packit Service a2ae7a
    { "hwtable_regex_match" = "yes" }
Packit Service a2ae7a
    { "reload_readwrite" = "no" }
Packit Service a2ae7a
    { "force_sync" = "yes" }
Packit Service a2ae7a
    { "config_dir" = "/etc/multipath/conf.d" } }
Packit Service a2ae7a
  { }
Packit Service a2ae7a
  { "#comment" = "Sections without empty lines in between" }
Packit Service a2ae7a
  { "blacklist"
Packit Service a2ae7a
    { "wwid" = "26353900f02796769" }
Packit Service a2ae7a
    { "devnode" = "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" }
Packit Service a2ae7a
    { }
Packit Service a2ae7a
    { "#comment" = "Comments and blank lines inside a section" }
Packit Service a2ae7a
    { "devnode" = "^hd[a-z]" }
Packit Service a2ae7a
    { } }
Packit Service a2ae7a
  { "multipaths"
Packit Service a2ae7a
    { "multipath"
Packit Service a2ae7a
      { "wwid" = "3600508b4000156d700012000000b0000" }
Packit Service a2ae7a
      { "alias" = "yellow" }
Packit Service a2ae7a
      { "path_grouping_policy" = "multibus" }
Packit Service a2ae7a
      { "path_checker" = "readsector0" }
Packit Service a2ae7a
      { "path_selector" = "round-robin 0" }
Packit Service a2ae7a
      { "failback" = "manual" }
Packit Service a2ae7a
      { "rr_weight" = "priorities" }
Packit Service a2ae7a
      { "no_path_retry" = "5" }
Packit Service a2ae7a
      { "flush_on_last_del" = "yes" } }
Packit Service a2ae7a
    { "multipath"
Packit Service a2ae7a
      { "wwid" = "1DEC_____321816758474" }
Packit Service a2ae7a
      { "alias" = "red" } } }
Packit Service a2ae7a
  { "devices"
Packit Service a2ae7a
    { "device"
Packit Service a2ae7a
      { "vendor" = "COMPAQ  " }
Packit Service a2ae7a
      { "product" = "HSV110 (C)COMPAQ" }
Packit Service a2ae7a
      { "path_grouping_policy" = "multibus" }
Packit Service a2ae7a
      { "getuid_callout" = "/sbin/scsi_id --whitelisted /dev/%n" }
Packit Service a2ae7a
      { "path_checker" = "readsector0" }
Packit Service a2ae7a
      { "path_selector" = "round-robin 0" }
Packit Service a2ae7a
      { "hardware_handler" = "0" }
Packit Service a2ae7a
      { "failback" = "15" }
Packit Service a2ae7a
      { "rr_weight" = "priorities" }
Packit Service a2ae7a
      { "rr_min_io_rq" = "75" }
Packit Service a2ae7a
      { "no_path_retry" = "queue" }
Packit Service a2ae7a
      { "reservation_key" = "a12345" } }
Packit Service a2ae7a
    { "device"
Packit Service a2ae7a
      { "vendor" = "COMPAQ  " }
Packit Service a2ae7a
      { "product" = "MSA1000         " }
Packit Service a2ae7a
      { "path_grouping_policy" = "multibus" }
Packit Service a2ae7a
      { "polling_interval" = "9" }
Packit Service a2ae7a
      { "delay_watch_checks" = "10" }
Packit Service a2ae7a
      { "delay_wait_checks" = "10" } } }
Packit Service a2ae7a
Packit Service a2ae7a
test Multipath.lns get "blacklist {
Packit Service a2ae7a
        devnode \".*\"
Packit Service a2ae7a
        wwid \"([a-z]+|ab?c).*\"
Packit Service a2ae7a
}\n" =
Packit Service a2ae7a
  { "blacklist"
Packit Service a2ae7a
    { "devnode" = ".*" }
Packit Service a2ae7a
    { "wwid" = "([a-z]+|ab?c).*" } }
Packit Service a2ae7a
Packit Service a2ae7a
test Multipath.lns get "blacklist {\n property \"[a-z]+\"\n}\n" =
Packit Service a2ae7a
  { "blacklist"
Packit Service a2ae7a
    { "property" = "[a-z]+" } }
Packit Service a2ae7a
Packit Service a2ae7a
(* Check that '""' inside a string works *)
Packit Service a2ae7a
test Multipath.lns get "blacklist {
Packit Service a2ae7a
  device {
Packit Service a2ae7a
    vendor SomeCorp
Packit Service a2ae7a
    product \"2.5\"\" SSD\"
Packit Service a2ae7a
  }
Packit Service a2ae7a
}\n" =
Packit Service a2ae7a
  { "blacklist"
Packit Service a2ae7a
    { "device"
Packit Service a2ae7a
      { "vendor" = "SomeCorp" }
Packit Service a2ae7a
      { "product" = "2.5\"\" SSD" } } }
Packit Service a2ae7a
Packit Service a2ae7a
(* Issue #583 - allow optional quotes around values and strip them *)
Packit Service a2ae7a
test Multipath.lns get "devices {
Packit Service a2ae7a
  device {
Packit Service a2ae7a
    vendor \"COMPELNT\"
Packit Service a2ae7a
    product \"Compellent Vol\"
Packit Service a2ae7a
    path_grouping_policy \"multibus\"
Packit Service a2ae7a
    path_checker \"tur\"
Packit Service a2ae7a
    features \"0\"
Packit Service a2ae7a
    hardware_handler \"0\"
Packit Service a2ae7a
    prio \"const\"
Packit Service a2ae7a
    failback \"immediate\"
Packit Service a2ae7a
    rr_weight \"uniform\"
Packit Service a2ae7a
    no_path_retry \"queue\"
Packit Service a2ae7a
  }
Packit Service a2ae7a
}\n" =
Packit Service a2ae7a
  { "devices"
Packit Service a2ae7a
    { "device"
Packit Service a2ae7a
      { "vendor" = "COMPELNT" }
Packit Service a2ae7a
      { "product" = "Compellent Vol" }
Packit Service a2ae7a
      { "path_grouping_policy" = "multibus" }
Packit Service a2ae7a
      { "path_checker" = "tur" }
Packit Service a2ae7a
      { "features" = "0" }
Packit Service a2ae7a
      { "hardware_handler" = "0" }
Packit Service a2ae7a
      { "prio" = "const" }
Packit Service a2ae7a
      { "failback" = "immediate" }
Packit Service a2ae7a
      { "rr_weight" = "uniform" }
Packit Service a2ae7a
      { "no_path_retry" = "queue" } } }