sts-libs 2.2.0__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. {sts_libs-2.2.0 → sts_libs-2.3.0}/.packit.yaml +8 -0
  2. {sts_libs-2.2.0 → sts_libs-2.3.0}/PKG-INFO +1 -1
  3. {sts_libs-2.2.0 → sts_libs-2.3.0}/README.md +1 -0
  4. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/contributing/writing-tests.md +60 -5
  5. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/fixtures.md +4 -0
  6. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/utils.md +18 -2
  7. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/boom/tier2.fmf +8 -4
  8. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/device-mapper/tier1.fmf +1 -1
  9. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/dmpd/tier1.fmf +1 -1
  10. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/device-mapper.fmf +1 -1
  11. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/dmpd.fmf +1 -1
  12. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/lvm.fmf +1 -1
  13. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/multipath.fmf +1 -1
  14. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/stratis.fmf +1 -1
  15. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/udisks2.fmf +2 -2
  16. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/offload/main.fmf +1 -1
  17. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/lio/core.fmf +0 -1
  18. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/lvm/tier1.fmf +1 -1
  19. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/main.fmf +2 -1
  20. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/multipath/tier1.fmf +1 -1
  21. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/snapm/tier2.fmf +8 -4
  22. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/tier1.fmf +1 -1
  23. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/tier2-linear.fmf +3 -1
  24. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/tier2-mdraid1.fmf +3 -1
  25. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/tier2-raid1.fmf +3 -1
  26. sts_libs-2.3.0/plans/sts-ci/ci.fmf +15 -0
  27. sts_libs-2.3.0/plans/udisks2/tier1.fmf +12 -0
  28. sts_libs-2.3.0/plans/udisks2/tier2.fmf +12 -0
  29. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/udisks2/tier3.fmf +4 -3
  30. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/tier2-high-memory.fmf +1 -1
  31. {sts_libs-2.2.0 → sts_libs-2.3.0}/pyproject.toml +3 -1
  32. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/blockdevice.py +5 -2
  33. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/common_fixtures.py +81 -43
  34. sts_libs-2.3.0/sts_libs/src/sts/fixtures/module_fixtures.py +233 -0
  35. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/multipath_fixtures.py +63 -5
  36. sts_libs-2.3.0/sts_libs/src/sts/fixtures/service_fixtures.py +201 -0
  37. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/sg3_utils_fixtures.py +7 -38
  38. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/snapm_fixtures.py +5 -5
  39. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/stratis_fixtures.py +40 -17
  40. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/udisks2_fixtures.py +3 -0
  41. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/options.py +13 -0
  42. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/volume_group.py +66 -1
  43. sts_libs-2.3.0/sts_libs/src/sts/marks.py +89 -0
  44. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/multipath.py +9 -4
  45. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/scsi_debug.py +4 -4
  46. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/target.py +9 -6
  47. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/cmdline.py +6 -4
  48. sts_libs-2.3.0/sts_libs/src/sts/utils/fmf_markers.py +200 -0
  49. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/fstab.py +43 -0
  50. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/syscheck.py +5 -5
  51. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/system.py +1 -1
  52. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/teststate.py +2 -0
  53. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/version.py +21 -0
  54. sts_libs-2.3.0/sts_libs/tests/fixtures/test_common_fixtures.py +48 -0
  55. sts_libs-2.3.0/sts_libs/tests/fixtures/test_module_fixtures.py +156 -0
  56. sts_libs-2.3.0/sts_libs/tests/fixtures/test_multipath_fixtures.py +94 -0
  57. sts_libs-2.3.0/sts_libs/tests/fixtures/test_service_fixtures.py +152 -0
  58. sts_libs-2.3.0/sts_libs/tests/helpers/test_boom_boot.py +33 -0
  59. sts_libs-2.3.0/sts_libs/tests/helpers/test_root_lvm.py +209 -0
  60. sts_libs-2.3.0/sts_libs/tests/helpers/test_snapm_boot.py +59 -0
  61. sts_libs-2.3.0/sts_libs/tests/helpers/test_tmt_reboot.py +64 -0
  62. sts_libs-2.3.0/sts_libs/tests/lvm/test_volume_group.py +343 -0
  63. sts_libs-2.3.0/sts_libs/tests/stratis/__init__.py +0 -0
  64. sts_libs-2.3.0/sts_libs/tests/test_marks.py +162 -0
  65. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_multipath.py +13 -2
  66. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_syscheck.py +4 -3
  67. sts_libs-2.3.0/sts_libs/tests/test_udisks2.py +95 -0
  68. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_version.py +33 -0
  69. sts_libs-2.3.0/sts_libs/tests/utils/__init__.py +0 -0
  70. sts_libs-2.3.0/sts_libs/tests/utils/test_fmf_markers.py +111 -0
  71. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/boom/boom_sanity.fmf +2 -0
  72. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/boom/snapshot_boot.fmf +5 -1
  73. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/boom/test_boom_snapshot_boot.py +20 -81
  74. sts_libs-2.3.0/tests/boom/upgrade/main.fmf +14 -0
  75. sts_libs-2.3.0/tests/boom/upgrade/test_boom_upgrade_boot.py +441 -0
  76. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/main.fmf +3 -0
  77. sts_libs-2.3.0/tests/conftest.py +27 -0
  78. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/cache/main.fmf +3 -1
  79. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/delay/main.fmf +4 -1
  80. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/error/main.fmf +3 -1
  81. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/flakey/main.fmf +3 -1
  82. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/linear/main.fmf +3 -1
  83. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/main.fmf +4 -1
  84. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/thinp/main.fmf +3 -1
  85. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/vdo/main.fmf +7 -1
  86. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/zero/main.fmf +3 -1
  87. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/main.fmf +3 -2
  88. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/test_cache_metadata_size.py +5 -0
  89. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/conftest.py +3 -0
  90. sts_libs-2.3.0/tests/dmpd/thin/conftest.py +13 -0
  91. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/main.fmf +3 -2
  92. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_restore.fmf +2 -0
  93. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/full/online_offline/main.fmf +4 -5
  94. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/full/rescan_deleted_disk/main.fmf +0 -2
  95. sts_libs-2.3.0/tests/fc/main.fmf +5 -0
  96. sts_libs-2.3.0/tests/helpers/boom_boot.py +14 -0
  97. sts_libs-2.3.0/tests/helpers/root_lvm.py +137 -0
  98. sts_libs-2.3.0/tests/helpers/snapm_boot.py +31 -0
  99. sts_libs-2.3.0/tests/helpers/stratis_pool.py +60 -0
  100. sts_libs-2.3.0/tests/helpers/tmt_reboot.py +46 -0
  101. {sts_libs-2.2.0/tests → sts_libs-2.3.0/tests/iscsi}/conftest.py +1 -23
  102. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/fio_multipath_basic.fmf +2 -2
  103. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/fio_multipath_stress.fmf +1 -3
  104. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/main.fmf +3 -3
  105. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/libiscsi/local/libiscsi-local.py +4 -1
  106. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/libiscsi/main.fmf +4 -3
  107. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/login-logout-stress/main.fmf +3 -3
  108. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/main.fmf +5 -0
  109. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/many-luns/main.fmf +2 -4
  110. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/parameters/main.fmf +2 -5
  111. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/read_debugfs/main.fmf +3 -4
  112. sts_libs-2.3.0/tests/lsm/targetd/conftest.py +184 -0
  113. sts_libs-2.3.0/tests/lsm/targetd/main.fmf +33 -0
  114. sts_libs-2.3.0/tests/lsm/targetd/test_targetd.py +627 -0
  115. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lsscsi/core/main.fmf +1 -1
  116. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lsscsi/core/test_lsscsi_basic.py +40 -6
  117. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lsscsi/main.fmf +2 -0
  118. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lsscsi/nvme_detection/main.fmf +1 -0
  119. sts_libs-2.3.0/tests/lvm/thinp/conftest.py +13 -0
  120. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/main.fmf +5 -4
  121. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvchange_thin.py +4 -0
  122. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvscan_thinp.py +4 -0
  123. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_thin_perf.py +4 -0
  124. sts_libs-2.3.0/tests/main.fmf +11 -0
  125. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/multipath/main.fmf +2 -2
  126. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/multipath/test_multipath_basic.py +12 -0
  127. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/bugs/customers/customer_1/main.fmf +0 -2
  128. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/bugs/others/main.fmf +0 -2
  129. sts_libs-2.3.0/tests/rdma/main.fmf +7 -0
  130. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/pyverbs-tests/core/main.fmf +0 -2
  131. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/sriov/core/main.fmf +0 -2
  132. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/main.fmf +2 -0
  133. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_deletes_dev_null/test_rescan_deletes_dev_null.py +3 -4
  134. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_ignore_rev/test_rescan_ignore_rev.py +3 -4
  135. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_syntax_error/test_rescan_syntax_error.py +3 -4
  136. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sginfo/test_sginfo.py +4 -0
  137. sts_libs-2.3.0/tests/snapm/conftest.py +13 -0
  138. sts_libs-2.3.0/tests/snapm/snapm_sanity/conftest.py +28 -0
  139. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapm_sanity/main.fmf +14 -2
  140. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapm_sanity/test_snapm_diff.py +8 -1
  141. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapm_sanity/test_snapm_schedule.py +58 -61
  142. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapm_sanity/test_snapm_snapset.py +7 -0
  143. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapshot_boot/main.fmf +4 -1
  144. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapshot_boot/test_snapm_snapshot_boot.py +17 -89
  145. sts_libs-2.3.0/tests/snapm/upgrade/main.fmf +14 -0
  146. sts_libs-2.3.0/tests/snapm/upgrade/test_snapm_upgrade.py +191 -0
  147. sts_libs-2.3.0/tests/snapm/upgrade/test_snapm_upgrade_boot.fmf +15 -0
  148. sts_libs-2.3.0/tests/snapm/upgrade/test_snapm_upgrade_boot.py +427 -0
  149. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_filesystem.py +4 -0
  150. sts_libs-2.3.0/tests/stratis/basic/test_pool.fmf +13 -0
  151. sts_libs-2.3.0/tests/stratis/basic/test_pool.py +125 -0
  152. sts_libs-2.3.0/tests/stratis/basic/test_pool_advanced.fmf +14 -0
  153. sts_libs-2.2.0/tests/stratis/basic/test_pool.py → sts_libs-2.3.0/tests/stratis/basic/test_pool_advanced.py +79 -123
  154. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_pool_encryption.py +32 -14
  155. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_pool_operations.fmf +0 -1
  156. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_pool_operations.py +0 -69
  157. sts_libs-2.3.0/tests/stratis/conftest.py +13 -0
  158. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/main.fmf +3 -0
  159. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/multihost/main.fmf +2 -4
  160. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/persistence/main.fmf +4 -3
  161. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/upgrade/main.fmf +3 -1
  162. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sts-prepare/runtest.sh +16 -5
  163. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/config_mgmt/config_management.py +5 -2
  164. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/global_config/main.fmf +12 -0
  165. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/global_config/test_global_parameters_sanity.py +10 -0
  166. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/iscsi/iscsi_target.py +1 -1
  167. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/iscsi/main.fmf +1 -4
  168. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/target_modules/main.fmf +1 -4
  169. sts_libs-2.3.0/tests/target/core/target_modules/target_core_mod.py +15 -0
  170. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/target_service/main.fmf +5 -7
  171. sts_libs-2.3.0/tests/target/core/target_service/target_service.py +24 -0
  172. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/loopback/main.fmf +0 -5
  173. sts_libs-2.3.0/tests/target/full/main.fmf +2 -0
  174. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/persistent-reservation/iscsi_pr.fmf +1 -3
  175. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/persistent-reservation/loopback_pr.fmf +3 -7
  176. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/persistent-reservation/test_loopback_pr.py +8 -2
  177. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/restoreconfig/main.fmf +1 -2
  178. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/isns/main.fmf +3 -2
  179. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/main.fmf +2 -1
  180. sts_libs-2.3.0/tests/udisks2/core/main.fmf +2 -0
  181. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_filesystem/main.fmf +1 -1
  182. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/hardware/main.fmf +2 -0
  183. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/main.fmf +5 -0
  184. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/version_help/main.fmf +1 -1
  185. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/data/main.fmf +1 -0
  186. sts_libs-2.3.0/tests/vdo/main.fmf +6 -0
  187. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/multihost/main.fmf +0 -4
  188. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/upgrade/main.fmf +1 -0
  189. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_high_memory/main.fmf +1 -3
  190. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_sanity/main.fmf +2 -0
  191. {sts_libs-2.2.0 → sts_libs-2.3.0}/uv.lock +181 -1
  192. sts_libs-2.2.0/plans/module/tier1.fmf +0 -6
  193. sts_libs-2.2.0/plans/module/tier2.fmf +0 -6
  194. sts_libs-2.2.0/plans/service/tier1.fmf +0 -6
  195. sts_libs-2.2.0/plans/sts-ci/basic.fmf +0 -5
  196. sts_libs-2.2.0/sts_libs/src/sts/fixtures/module_fixtures.py +0 -72
  197. sts_libs-2.2.0/sts_libs/src/sts/fixtures/service_fixtures.py +0 -77
  198. sts_libs-2.2.0/sts_libs/tests/lvm/test_volume_group.py +0 -93
  199. sts_libs-2.2.0/tests/fc/main.fmf +0 -2
  200. sts_libs-2.2.0/tests/main.fmf +0 -6
  201. sts_libs-2.2.0/tests/module/module_load_unload/main.fmf +0 -1340
  202. sts_libs-2.2.0/tests/module/module_load_unload/test_module_load_unload.py +0 -104
  203. sts_libs-2.2.0/tests/module/module_parameter_config/main.fmf +0 -351
  204. sts_libs-2.2.0/tests/module/module_parameter_config/test_module_parameter_config.py +0 -161
  205. sts_libs-2.2.0/tests/module/module_parameter_validation/main.fmf +0 -610
  206. sts_libs-2.2.0/tests/module/module_parameter_validation/test_module_parameter_validation.py +0 -101
  207. sts_libs-2.2.0/tests/rdma/main.fmf +0 -3
  208. sts_libs-2.2.0/tests/service/main.fmf +0 -86
  209. sts_libs-2.2.0/tests/service/test_service_lifecycle.py +0 -68
  210. sts_libs-2.2.0/tests/stratis/basic/test_pool.fmf +0 -15
  211. sts_libs-2.2.0/tests/target/core/main.fmf +0 -1
  212. sts_libs-2.2.0/tests/target/core/target_modules/target_core_mod.py +0 -55
  213. sts_libs-2.2.0/tests/target/core/target_service/target_service.py +0 -59
  214. sts_libs-2.2.0/tests/target/full/main.fmf +0 -1
  215. sts_libs-2.2.0/tests/vdo/main.fmf +0 -3
  216. {sts_libs-2.2.0 → sts_libs-2.3.0}/.fmf/version +0 -0
  217. {sts_libs-2.2.0 → sts_libs-2.3.0}/.gitignore +0 -0
  218. {sts_libs-2.2.0 → sts_libs-2.3.0}/.gitlab-ci.yml +0 -0
  219. {sts_libs-2.2.0 → sts_libs-2.3.0}/.markdownlint.json +0 -0
  220. {sts_libs-2.2.0 → sts_libs-2.3.0}/.pre-commit-config.yaml +0 -0
  221. {sts_libs-2.2.0 → sts_libs-2.3.0}/.scripts/sync_sts.py +0 -0
  222. {sts_libs-2.2.0 → sts_libs-2.3.0}/AGENTS.md +0 -0
  223. {sts_libs-2.2.0 → sts_libs-2.3.0}/CLAUDE.md +0 -0
  224. {sts_libs-2.2.0 → sts_libs-2.3.0}/LICENSE +0 -0
  225. {sts_libs-2.2.0 → sts_libs-2.3.0}/dev-container/Containerfile +0 -0
  226. {sts_libs-2.2.0 → sts_libs-2.3.0}/dev-container/README.md +0 -0
  227. {sts_libs-2.2.0 → sts_libs-2.3.0}/dev-container/build.sh +0 -0
  228. {sts_libs-2.2.0 → sts_libs-2.3.0}/dev-container/ci.Containerfile +0 -0
  229. {sts_libs-2.2.0 → sts_libs-2.3.0}/dev-container/run.sh +0 -0
  230. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/contributing/docstrings.md +0 -0
  231. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/contributing/image-mode-testing.md +0 -0
  232. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/contributing.md +0 -0
  233. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/index.md +0 -0
  234. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/index.md +0 -0
  235. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/base.md +0 -0
  236. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/blockdevice.md +0 -0
  237. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/boom.md +0 -0
  238. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/devicemapper.md +0 -0
  239. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/dmpd.md +0 -0
  240. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/fc.md +0 -0
  241. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/fio.md +0 -0
  242. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/iscsi.md +0 -0
  243. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/isns.md +0 -0
  244. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/loop.md +0 -0
  245. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/lvm.md +0 -0
  246. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/multipath.md +0 -0
  247. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/network.md +0 -0
  248. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/nvme.md +0 -0
  249. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/pr.md +0 -0
  250. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/qemu.md +0 -0
  251. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/rdma.md +0 -0
  252. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/scsi.md +0 -0
  253. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/scsi_debug.md +0 -0
  254. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/sg3_utils.md +0 -0
  255. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/snapm.md +0 -0
  256. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/stratis.md +0 -0
  257. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/target.md +0 -0
  258. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/udevadm.md +0 -0
  259. {sts_libs-2.2.0 → sts_libs-2.3.0}/docs/sts-libs/libraries/vdo.md +0 -0
  260. {sts_libs-2.2.0 → sts_libs-2.3.0}/mkdocs.yml +0 -0
  261. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/boom/tier1.fmf +0 -0
  262. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/boom/tier2-st76.fmf +0 -0
  263. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/fc/full_lpfc.fmf +0 -0
  264. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/fc/full_qla2xxx.fmf +0 -0
  265. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/fc/main.fmf +0 -0
  266. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/iscsi.fmf +0 -0
  267. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/main.fmf +0 -0
  268. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/image_mode/vdo.fmf +0 -0
  269. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/libiscsi/main.fmf +0 -0
  270. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/local.fmf +0 -0
  271. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/offload/be2iscsi.fmf +0 -0
  272. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/offload/bnx2i.fmf +0 -0
  273. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/offload/cxgb4i.fmf +0 -0
  274. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/offload/intel.fmf +0 -0
  275. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/offload/qedi.fmf +0 -0
  276. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/iscsi/tier0.fmf +0 -0
  277. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/isns-utils/full.fmf +0 -0
  278. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/lio/full.fmf +0 -0
  279. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/lsscsi/tier1.fmf +0 -0
  280. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/lsscsi/tier2.fmf +0 -0
  281. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/rdma/main.fmf +0 -0
  282. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/rdma/regression.fmf +0 -0
  283. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/rdma/test_case_vars.yaml +0 -0
  284. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/sg3_utils/tier1.fmf +0 -0
  285. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/snapm/tier1.fmf +0 -0
  286. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/snapm/tier2-st76.fmf +0 -0
  287. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/multihost/main.fmf +0 -0
  288. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/multihost/nfs.fmf +0 -0
  289. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/tier2-fstab-stqe.fmf +0 -0
  290. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/stratis/tier2-fstab.fmf +0 -0
  291. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/multihost/main.fmf +0 -0
  292. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/multihost/multihost-aarch64.fmf +0 -0
  293. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/multihost/multihost-ppc64le.fmf +0 -0
  294. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/multihost/multihost-s390x.fmf +0 -0
  295. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/multihost/multihost-stqe.fmf +0 -0
  296. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/tier1.fmf +0 -0
  297. {sts_libs-2.2.0 → sts_libs-2.3.0}/plans/vdo/vdo_smoke.fmf +0 -0
  298. {sts_libs-2.2.0 → sts_libs-2.3.0}/python-sts-libs.spec +0 -0
  299. {sts_libs-2.2.0 → sts_libs-2.3.0}/renovate.json +0 -0
  300. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/README.md +0 -0
  301. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/__init__.py +0 -0
  302. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/__init__.py +0 -0
  303. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/__init__.py +0 -0
  304. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/base.py +0 -0
  305. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/boom/__init__.py +0 -0
  306. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/boom/base.py +0 -0
  307. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/boom/entry.py +0 -0
  308. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/boom/errors.py +0 -0
  309. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/boom/host.py +0 -0
  310. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/boom/profile.py +0 -0
  311. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/__init__.py +0 -0
  312. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/base.py +0 -0
  313. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/cache.py +0 -0
  314. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/delay.py +0 -0
  315. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/error.py +0 -0
  316. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/errors.py +0 -0
  317. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/flakey.py +0 -0
  318. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/linear.py +0 -0
  319. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/thin.py +0 -0
  320. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/vdo.py +0 -0
  321. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dm/zero.py +0 -0
  322. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/dmpd.py +0 -0
  323. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fc.py +0 -0
  324. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fio/__init__.py +0 -0
  325. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fio/errors.py +0 -0
  326. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fio/fio.py +0 -0
  327. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fio/parameters.py +0 -0
  328. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/__init__.py +0 -0
  329. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/boom_fixtures.py +0 -0
  330. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/dm_fixtures.py +0 -0
  331. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/dmpd_fixtures.py +0 -0
  332. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/fc_fixtures.py +0 -0
  333. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/iscsi_fixtures.py +0 -0
  334. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/lvm_fixtures.py +0 -0
  335. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/nvme_fixtures.py +0 -0
  336. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/rdma_fixtures.py +0 -0
  337. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/target_fixtures.py +0 -0
  338. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/fixtures/vdo_fixtures.py +0 -0
  339. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/__init__.py +0 -0
  340. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/config.py +0 -0
  341. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/device.py +0 -0
  342. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/iscsiadm.py +0 -0
  343. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/node.py +0 -0
  344. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/parameters.py +0 -0
  345. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/iscsi/session.py +0 -0
  346. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/isns.py +0 -0
  347. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/loop.py +0 -0
  348. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/__init__.py +0 -0
  349. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/base.py +0 -0
  350. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/errors.py +0 -0
  351. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/logical_volume.py +0 -0
  352. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/lvconf.py +0 -0
  353. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/physical_volume.py +0 -0
  354. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/reports.py +0 -0
  355. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/lvm/thin_pool.py +0 -0
  356. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/models.py +0 -0
  357. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/network/__init__.py +0 -0
  358. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/network/errors.py +0 -0
  359. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/network/interface.py +0 -0
  360. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/network/nm.py +0 -0
  361. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/nvme.py +0 -0
  362. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/pr.py +0 -0
  363. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/py.typed +0 -0
  364. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/qemu.py +0 -0
  365. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/rdma.py +0 -0
  366. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/scsi.py +0 -0
  367. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/sg3_utils.py +0 -0
  368. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/__init__.py +0 -0
  369. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/base.py +0 -0
  370. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/errors.py +0 -0
  371. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/plugin.py +0 -0
  372. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/schedule.py +0 -0
  373. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/snapset.py +0 -0
  374. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/snapm/snapshot.py +0 -0
  375. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/stratis/__init__.py +0 -0
  376. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/stratis/base.py +0 -0
  377. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/stratis/errors.py +0 -0
  378. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/stratis/filesystem.py +0 -0
  379. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/stratis/pool.py +0 -0
  380. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/udevadm.py +0 -0
  381. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/udisks2.py +0 -0
  382. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/__init__.py +0 -0
  383. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/cli.py +0 -0
  384. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/config.py +0 -0
  385. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/errors.py +0 -0
  386. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/files.py +0 -0
  387. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/modules.py +0 -0
  388. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/nfs.py +0 -0
  389. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/packages.py +0 -0
  390. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/processes.py +0 -0
  391. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/size.py +0 -0
  392. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/string_extras.py +0 -0
  393. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/sync.py +0 -0
  394. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/utils/tmt_pytest.py +0 -0
  395. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/src/sts/vdo.py +0 -0
  396. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/__init__.py +0 -0
  397. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/boom/__init__.py +0 -0
  398. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/boom/test_base.py +0 -0
  399. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/boom/test_entry.py +0 -0
  400. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/boom/test_host.py +0 -0
  401. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/boom/test_profile.py +0 -0
  402. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/conftest.py +0 -0
  403. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/data/lvs_report_multi.json +0 -0
  404. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/data/lvs_report_single.json +0 -0
  405. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/data/multipathd_show_map.json +0 -0
  406. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/data/nvme_list.json +0 -0
  407. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/dm/__init__.py +0 -0
  408. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/dm/test_base.py +0 -0
  409. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/dm/test_cache_vdo.py +0 -0
  410. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/dm/test_delay_flakey.py +0 -0
  411. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/dm/test_linear.py +0 -0
  412. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/dm/test_thin.py +0 -0
  413. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/fio/__init__.py +0 -0
  414. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/fio/test_fio.py +0 -0
  415. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/fio/test_parameters.py +0 -0
  416. {sts_libs-2.2.0/sts_libs/tests/iscsi → sts_libs-2.3.0/sts_libs/tests/fixtures}/__init__.py +0 -0
  417. {sts_libs-2.2.0/sts_libs/tests/lvm → sts_libs-2.3.0/sts_libs/tests/helpers}/__init__.py +0 -0
  418. {sts_libs-2.2.0/sts_libs/tests/network → sts_libs-2.3.0/sts_libs/tests/iscsi}/__init__.py +0 -0
  419. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/iscsi/conftest.py +0 -0
  420. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/iscsi/test_config.py +0 -0
  421. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/iscsi/test_device.py +0 -0
  422. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/iscsi/test_iscsiadm.py +0 -0
  423. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/iscsi/test_parameters.py +0 -0
  424. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/iscsi/test_session.py +0 -0
  425. {sts_libs-2.2.0/sts_libs/tests/snapm → sts_libs-2.3.0/sts_libs/tests/lvm}/__init__.py +0 -0
  426. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_base.py +0 -0
  427. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_logical_volume.py +0 -0
  428. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_lvconf.py +0 -0
  429. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_options.py +0 -0
  430. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_physical_volume.py +0 -0
  431. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_reports.py +0 -0
  432. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/lvm/test_thin_pool.py +0 -0
  433. {sts_libs-2.2.0/sts_libs/tests/stratis → sts_libs-2.3.0/sts_libs/tests/network}/__init__.py +0 -0
  434. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/network/test_interface.py +0 -0
  435. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/network/test_nm.py +0 -0
  436. {sts_libs-2.2.0/sts_libs/tests/utils → sts_libs-2.3.0/sts_libs/tests/snapm}/__init__.py +0 -0
  437. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/snapm/test_base.py +0 -0
  438. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/snapm/test_plugin.py +0 -0
  439. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/snapm/test_schedule.py +0 -0
  440. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/snapm/test_snapset.py +0 -0
  441. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/snapm/test_snapshot.py +0 -0
  442. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/stratis/test_base.py +0 -0
  443. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/stratis/test_filesystem.py +0 -0
  444. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/stratis/test_pool.py +0 -0
  445. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_blockdevice.py +0 -0
  446. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_cmdline.py +0 -0
  447. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_fc.py +0 -0
  448. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_loop.py +0 -0
  449. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_models.py +0 -0
  450. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_multipath_report.py +0 -0
  451. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_nvme.py +0 -0
  452. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_packages.py +0 -0
  453. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_pr.py +0 -0
  454. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_rdma.py +0 -0
  455. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_scsi.py +0 -0
  456. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_sg3_utils.py +0 -0
  457. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_string_extras.py +0 -0
  458. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_system.py +0 -0
  459. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_target.py +0 -0
  460. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/test_vdo.py +0 -0
  461. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_cli.py +0 -0
  462. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_files.py +0 -0
  463. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_fstab.py +0 -0
  464. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_modules.py +0 -0
  465. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_nfs.py +0 -0
  466. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_processes.py +0 -0
  467. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_size.py +0 -0
  468. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_sync.py +0 -0
  469. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_teststate.py +0 -0
  470. {sts_libs-2.2.0 → sts_libs-2.3.0}/sts_libs/tests/utils/test_tmt_pytest.py +0 -0
  471. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/boom/boom_sanity.py +0 -0
  472. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/Containerfile +0 -0
  473. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/Containerfile.iscsi +0 -0
  474. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/Containerfile.stratis +0 -0
  475. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/Containerfile.udisks2 +0 -0
  476. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/common-setup.sh +0 -0
  477. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/bootc_additional_packages/runtest.sh +0 -0
  478. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/cache/test_dm_cache.py +0 -0
  479. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/delay/test_dm_delay.py +0 -0
  480. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/error/test_dm_error.py +0 -0
  481. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/flakey/test_dm_flakey.py +0 -0
  482. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/linear/test_linear_target.py +0 -0
  483. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/thinp/test_dm_thin.py +0 -0
  484. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/vdo/test_dm_vdo.py +0 -0
  485. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dm/zero/test_dm_zero.py +0 -0
  486. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/cache_check.fmf +0 -0
  487. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/cache_dump.fmf +0 -0
  488. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/cache_metadata_size.fmf +0 -0
  489. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/cache_repair.fmf +0 -0
  490. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/cache_restore.fmf +0 -0
  491. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/test_cache_check.py +0 -0
  492. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/test_cache_dump.py +0 -0
  493. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/test_cache_repair.py +0 -0
  494. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/cache/test_cache_restore.py +0 -0
  495. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_check.py +0 -0
  496. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_delta.py +0 -0
  497. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_dump.py +0 -0
  498. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_ls.py +0 -0
  499. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_metadata_size.py +0 -0
  500. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_repair.py +0 -0
  501. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_restore.py +0 -0
  502. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/test_thin_trim.py +0 -0
  503. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_check.fmf +0 -0
  504. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_delta.fmf +0 -0
  505. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_ls.fmf +0 -0
  506. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_metadata_size.fmf +0 -0
  507. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_repair.fmf +0 -0
  508. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/dmpd/thin/thin_trim.fmf +0 -0
  509. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/conftest.py +0 -0
  510. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/full/online_offline/basic.fmf +0 -0
  511. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/full/online_offline/online_offline.py +0 -0
  512. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/full/online_offline/stress.fmf +0 -0
  513. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/fc/full/rescan_deleted_disk/rescan_deleted_disk.py +0 -0
  514. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/helpers/__init__.py +0 -0
  515. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/helpers/vdo.py +0 -0
  516. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/conftest.py +0 -0
  517. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/fio_basic.fmf +0 -0
  518. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/fio_stress.fmf +0 -0
  519. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/fio/test_fio.py +0 -0
  520. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/libiscsi/local/main.fmf +0 -0
  521. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/login-logout-stress/login-logout-stress.py +0 -0
  522. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/many-luns/many-luns-local.py +0 -0
  523. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/parameters/iscsi_params.py +0 -0
  524. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/iscsi/read_debugfs/read_debugfs.py +0 -0
  525. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lsscsi/nvme_detection/test_nvme_detection.py +0 -0
  526. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/conftest.py +0 -0
  527. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/bugs/test_discard_corruption.py +0 -0
  528. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/bugs/test_stripe_blkdiscard.py +0 -0
  529. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/bugs/test_thinpool_error_target_meta.py +0 -0
  530. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_discard_perf.py +0 -0
  531. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvconf_thinp.py +0 -0
  532. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvconvert_thin_lv.py +0 -0
  533. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvconvert_thinpool.py +0 -0
  534. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvcreate_linear.py +0 -0
  535. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvcreate_mirror.py +0 -0
  536. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvcreate_poolmetadataspare.py +0 -0
  537. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvcreate_stripe.py +0 -0
  538. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvextend.py +0 -0
  539. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvm_thinp_misc.py +0 -0
  540. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvm_thinp_modules.py +0 -0
  541. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvreduce_thinp.py +0 -0
  542. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvremove_thinp.py +0 -0
  543. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvrename_thinp.py +0 -0
  544. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvresize_thinp.py +0 -0
  545. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_lvs_thinp.py +0 -0
  546. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/lvm/thinp/test_pool_capacity.py +0 -0
  547. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/pytest.ini +0 -0
  548. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/bugs/customers/customer_1/issue_23967_verify_speed.py +0 -0
  549. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/bugs/customers/main.fmf +0 -0
  550. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/bugs/main.fmf +0 -0
  551. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/bugs/others/reproducers.py +0 -0
  552. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/pyverbs-tests/core/pyverbs-tests.py +0 -0
  553. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/rdma/sriov/core/sriov.py +0 -0
  554. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/conftest.py +0 -0
  555. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/main.fmf +0 -0
  556. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_documentation_check/main.fmf +0 -0
  557. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_documentation_check/test_documentation_check.py +0 -0
  558. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_deletes_dev_null/main.fmf +0 -0
  559. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_ignore_rev/main.fmf +0 -0
  560. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_lun_scanning/main.fmf +0 -0
  561. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_lun_scanning/test_rescan_lun_scanning.py +0 -0
  562. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_removes_readds/main.fmf +0 -0
  563. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_removes_readds/test_rescan_removes_readds.py +0 -0
  564. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_syntax_error/main.fmf +0 -0
  565. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_too_many_args/main.fmf +0 -0
  566. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_rescan_too_many_args/test_rescan_too_many_args.py +0 -0
  567. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_sg_map26_32_devices/main.fmf +0 -0
  568. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_sg_map26_32_devices/test_sg_map26_32_devices.py +0 -0
  569. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_sginfo_dev_snapshot/main.fmf +0 -0
  570. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/regression/test_sginfo_dev_snapshot/test_sginfo_dev_snapshot.py +0 -0
  571. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/main.fmf +0 -0
  572. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg3_dd/main.fmf +0 -0
  573. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg3_dd/test_sg3_dd.py +0 -0
  574. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_get_config/main.fmf +0 -0
  575. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_get_config/test_sg_get_config.py +0 -0
  576. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_ident/main.fmf +0 -0
  577. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_ident/test_sg_ident.py +0 -0
  578. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_inq/main.fmf +0 -0
  579. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_inq/test_sg_inq.py +0 -0
  580. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_logs/main.fmf +0 -0
  581. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_logs/test_sg_logs.py +0 -0
  582. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_luns/main.fmf +0 -0
  583. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_luns/test_sg_luns.py +0 -0
  584. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_map/main.fmf +0 -0
  585. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_map/test_sg_map.py +0 -0
  586. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_modes/main.fmf +0 -0
  587. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_modes/test_sg_modes.py +0 -0
  588. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_opcodes/main.fmf +0 -0
  589. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_opcodes/test_sg_opcodes.py +0 -0
  590. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_persist/main.fmf +0 -0
  591. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_persist/test_sg_persist.py +0 -0
  592. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_rbuf/main.fmf +0 -0
  593. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_rbuf/test_sg_rbuf.py +0 -0
  594. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_read/main.fmf +0 -0
  595. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_read/test_sg_read.py +0 -0
  596. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_read_buffer/main.fmf +0 -0
  597. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_read_buffer/test_sg_read_buffer.py +0 -0
  598. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_read_long/main.fmf +0 -0
  599. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_read_long/test_sg_read_long.py +0 -0
  600. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_readcap/main.fmf +0 -0
  601. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_readcap/test_sg_readcap.py +0 -0
  602. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_safte/main.fmf +0 -0
  603. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_safte/test_sg_safte.py +0 -0
  604. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_sat_identify/main.fmf +0 -0
  605. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_sat_identify/test_sg_sat_identify.py +0 -0
  606. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_scan/main.fmf +0 -0
  607. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_scan/test_sg_scan.py +0 -0
  608. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_senddiag/main.fmf +0 -0
  609. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_senddiag/test_sg_senddiag.py +0 -0
  610. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_ses/main.fmf +0 -0
  611. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_ses/test_sg_ses.py +0 -0
  612. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_start/main.fmf +0 -0
  613. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_start/test_sg_start.py +0 -0
  614. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_sync/main.fmf +0 -0
  615. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_sync/test_sg_sync.py +0 -0
  616. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_turs/main.fmf +0 -0
  617. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_turs/test_sg_turs.py +0 -0
  618. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_verify/main.fmf +0 -0
  619. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_verify/test_sg_verify.py +0 -0
  620. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_vpd/main.fmf +0 -0
  621. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_vpd/test_sg_vpd.py +0 -0
  622. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_write_buffer/main.fmf +0 -0
  623. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sg_write_buffer/test_sg_write_buffer.py +0 -0
  624. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/test_sginfo/main.fmf +0 -0
  625. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/version_help/main.fmf +0 -0
  626. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sg3_utils/sanity/version_help/test_version_help.py +0 -0
  627. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapm_sanity/test_snapm_mount.py +0 -0
  628. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/snapm/snapm_sanity/test_snapm_sanity.py +0 -0
  629. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/conftest.py +0 -0
  630. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_blockdev.fmf +0 -0
  631. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_blockdev.py +0 -0
  632. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_daemon.fmf +0 -0
  633. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_daemon.py +0 -0
  634. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_filesystem.fmf +0 -0
  635. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_key.fmf +0 -0
  636. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_key.py +0 -0
  637. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/basic/test_pool_encryption.fmf +0 -0
  638. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/multihost/test_stratis_multihost.py +0 -0
  639. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/persistence/test_stratis_fstab_persistence.py +0 -0
  640. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/stratis/upgrade/test_stratis_upgrade.py +0 -0
  641. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/sts-prepare/main.fmf +0 -0
  642. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/backstores/backstores.py +0 -0
  643. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/backstores/main.fmf +0 -0
  644. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/config_mgmt/main.fmf +0 -0
  645. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/global_config/test_auto_use_daemon.py +0 -0
  646. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/core/global_config/test_global_parameters.py +0 -0
  647. {sts_libs-2.2.0/tests/udisks2 → sts_libs-2.3.0/tests/target}/core/main.fmf +0 -0
  648. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/auth/chap.py +0 -0
  649. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/auth/main.fmf +0 -0
  650. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/loopback/test_loopback.py +0 -0
  651. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/persistent-reservation/conftest.py +0 -0
  652. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/persistent-reservation/main.fmf +0 -0
  653. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/persistent-reservation/test_iscsi_pr.py +0 -0
  654. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/full/restoreconfig/restoreconfig.py +0 -0
  655. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/target/isns/isns-sanity.py +0 -0
  656. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_block_format/main.fmf +0 -0
  657. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_block_format/test_block_format.py +0 -0
  658. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_encrypted/main.fmf +0 -0
  659. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_encrypted/test_encrypted.py +0 -0
  660. /sts_libs-2.2.0/tests/udisks2/core/test_filesystem/test_filesystem.py → /sts_libs-2.3.0/tests/udisks2/core/test_filesystem/test_udisks2_filesystem.py +0 -0
  661. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_loop_dbus/main.fmf +0 -0
  662. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_loop_dbus/test_loop_dbus.py +0 -0
  663. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_manager/main.fmf +0 -0
  664. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_manager/test_manager.py +0 -0
  665. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_partition/main.fmf +0 -0
  666. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_partition/test_partition.py +0 -0
  667. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_swapspace/main.fmf +0 -0
  668. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/core/test_swapspace/test_swapspace.py +0 -0
  669. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/hardware/test_drive/main.fmf +0 -0
  670. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/hardware/test_drive/test_drive.py +0 -0
  671. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/main.fmf +0 -0
  672. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_block_secret_config/main.fmf +0 -0
  673. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_block_secret_config/test_block_secret_config.py +0 -0
  674. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_bug_regressions/main.fmf +0 -0
  675. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_bug_regressions/test_bug_regressions.py +0 -0
  676. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_encrypted_advanced/main.fmf +0 -0
  677. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_encrypted_advanced/test_encrypted_advanced.py +0 -0
  678. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_encrypted_regression/main.fmf +0 -0
  679. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_encrypted_regression/test_encrypted_regression.py +0 -0
  680. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_error_handling/main.fmf +0 -0
  681. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_error_handling/test_error_handling.py +0 -0
  682. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_filesystem_regression/main.fmf +0 -0
  683. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_filesystem_regression/test_filesystem_regression.py +0 -0
  684. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_luks_convert/main.fmf +0 -0
  685. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_luks_convert/test_luks_convert.py +0 -0
  686. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_manager_regression/main.fmf +0 -0
  687. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_manager_regression/test_manager_regression.py +0 -0
  688. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_vfat_capabilities/main.fmf +0 -0
  689. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/regression/test_vfat_capabilities/test_vfat_capabilities.py +0 -0
  690. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/main.fmf +0 -0
  691. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_dump/main.fmf +0 -0
  692. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_dump/test_dump.py +0 -0
  693. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_info/main.fmf +0 -0
  694. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_info/test_info.py +0 -0
  695. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_lock/main.fmf +0 -0
  696. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_lock/test_lock.py +0 -0
  697. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_loop/main.fmf +0 -0
  698. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_loop/test_loop.py +0 -0
  699. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_mount/main.fmf +0 -0
  700. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_mount/test_mount.py +0 -0
  701. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_status/main.fmf +0 -0
  702. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/udisks2/sanity/test_status/test_status.py +0 -0
  703. /sts_libs-2.2.0/tests/udisks2/sanity/version_help/test_version_help.py → /sts_libs-2.3.0/tests/udisks2/sanity/version_help/test_udisks2_version_help.py +0 -0
  704. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/data/vdo_xfs_stress.py +0 -0
  705. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/module_signature/main.fmf +0 -0
  706. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/module_signature/test_signatures.py +0 -0
  707. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/multihost/test_vdo_multihost.py +0 -0
  708. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/upgrade/lvm_vdo.fmf +0 -0
  709. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/upgrade/test_vdo_upgrade.py +0 -0
  710. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/upgrade/vdo_manager.fmf +0 -0
  711. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/upgrade/vdo_on_lv.fmf +0 -0
  712. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_ack_threads/vdo_ack_threads.py +0 -0
  713. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_calculate_size/main.fmf +0 -0
  714. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_calculate_size/test_vdo_calculate_size.py +0 -0
  715. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_high_memory/test_vdo_high_memory.py +0 -0
  716. {sts_libs-2.2.0 → sts_libs-2.3.0}/tests/vdo/vdo_sanity/test_vdo_sanity.py +0 -0
@@ -17,6 +17,10 @@ jobs:
17
17
  # Build pull requests
18
18
  - job: copr_build
19
19
  trigger: pull_request
20
+ require:
21
+ label:
22
+ present:
23
+ - packit-test
20
24
  targets:
21
25
  - fedora-latest-stable
22
26
  - epel-10
@@ -38,6 +42,10 @@ jobs:
38
42
  # Run tests on pull requests
39
43
  - job: tests
40
44
  trigger: pull_request
45
+ require:
46
+ label:
47
+ present:
48
+ - packit-test
41
49
  targets:
42
50
  - fedora-latest-stable
43
51
  - epel-10
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: sts-libs
3
- Version: 2.2.0
3
+ Version: 2.3.0
4
4
  Summary: Library for pytest-based Linux storage tests
5
5
  Project-URL: Repository, https://gitlab.com/rh-kernel-stqe/sts/
6
6
  Author-email: Martin Hoyer <mhoyer@redhat.com>, Filip Suba <fsuba@redhat.com>, Zhaojuan Guo <zguo@redhat.com>, Bruno Goncalves <bgoncalv@redhat.com>, Jakub Krysl <jkrysl@redhat.com>
@@ -66,6 +66,7 @@ sts/
66
66
  │ ├── src/sts/ # Library source code
67
67
  │ │ ├── models.py # Pydantic base models (StsBaseModel, ReportModel)
68
68
  │ │ ├── base.py # Base device classes
69
+ │ │ ├── marks.py # Pytest skip/xfail helpers
69
70
  │ │ ├── fixtures/ # Pytest fixtures
70
71
  │ │ ├── utils/ # Utility modules
71
72
  │ │ └── lvm/, dm/, … # Per-subsystem libraries
@@ -101,10 +101,9 @@ description: |
101
101
  framework: shell
102
102
  test: pytest ./example-test.py
103
103
  component:
104
- - kernel
105
- tag:
106
- - my-example
107
- - storage
104
+ - kernel \ Storage \ Device Mapper
105
+ tag+:
106
+ - local
108
107
  tier: 1
109
108
  duration: 10m
110
109
  check:
@@ -114,6 +113,14 @@ check:
114
113
  - how: coredump
115
114
  ```
116
115
 
116
+ **FMF tag conventions:**
117
+
118
+ - Use `component` with Bugzilla-style names (e.g. `kernel \ Storage \ Device Mapper`).
119
+ - Common tags are inherited via parent `main.fmf` files — use `tag+:` to **add** tags
120
+ instead of `tag:` which replaces.
121
+ - Tests included in CI are selected by the `plans/sts-ci/ci.fmf` plan filters
122
+ (tier and tag exclusions), not by a special tag.
123
+
117
124
  ### 3. Create a tmt Test Plan
118
125
 
119
126
  Create a plan file (e.g., `example-plan.fmf`) under `plans/` that selects
@@ -124,7 +131,7 @@ summary: My storage test plan
124
131
  discover:
125
132
  - how: fmf
126
133
  filter:
127
- - tag:my-example
134
+ - tag:local
128
135
  provision:
129
136
  how: virtual
130
137
  image: fedora
@@ -154,6 +161,54 @@ provision:
154
161
  memory: '>= 4 GB'
155
162
  ```
156
163
 
164
+ ## Skipping and Gating Tests
165
+
166
+ Use `sts.marks` helpers to skip or xfail tests based on distribution, version, or
167
+ installed packages. These keep skip conditions consistent across the test suite.
168
+
169
+ ### In fixtures (imperative)
170
+
171
+ ```python
172
+ from sts.marks import requires_rhel
173
+
174
+
175
+ def my_fixture():
176
+ requires_rhel(9) # skips if on RHEL < 9
177
+ ...
178
+ ```
179
+
180
+ ### As decorators or pytestmark (declarative)
181
+
182
+ ```python
183
+ from sts.marks import is_rhel_below, requires_package
184
+ from sts.utils.version import VersionInfo
185
+
186
+ # Skip an entire module on old RHEL
187
+ pytestmark = pytest.mark.skipif(is_rhel_below(9), reason='requires RHEL 9+')
188
+
189
+
190
+ # Skip if a package is too old
191
+ @requires_package('stratisd', VersionInfo(3, 7, 0))
192
+ def test_stratis_feature(): ...
193
+ ```
194
+
195
+ See the [sts.marks API reference](../sts-libs/utils.md#test-marks) for all available helpers.
196
+
197
+ ## Selecting Tests with FMF Markers
198
+
199
+ The `sts.utils.fmf_markers` pytest plugin reads `main.fmf` metadata and applies
200
+ tags and tiers as pytest markers. This lets you select tests with `-m` the same
201
+ way tmt plan filters do:
202
+
203
+ ```bash
204
+ pytest tests/ -m ci # same tests as the sts-ci plan
205
+ pytest tests/ -m tier1 # all tier-1 tests
206
+ pytest tests/ -m "dm and tier1" # tier-1 device-mapper tests
207
+ pytest tests/ -m "not hw_fc" # exclude FC-hardware tests
208
+ ```
209
+
210
+ The plugin requires the `fmf` library and silently does nothing if it's not installed.
211
+
157
212
  ## Running Tests Locally
158
213
 
159
214
  ### Using tmt (Recommended)
@@ -80,6 +80,10 @@ Provided by [Common Fixtures](#common) — see `loop_devices`.
80
80
 
81
81
  ::: sts.fixtures.service_fixtures
82
82
 
83
+ ### UDisks2
84
+
85
+ ::: sts.fixtures.udisks2_fixtures
86
+
83
87
  ### Kernel Module Management
84
88
 
85
89
  ::: sts.fixtures.module_fixtures
@@ -46,6 +46,10 @@ Helper modules used across sts-libs.
46
46
 
47
47
  ::: sts.utils.string_extras
48
48
 
49
+ ## Test Marks
50
+
51
+ ::: sts.marks
52
+
49
53
  ## Version Handling
50
54
 
51
55
  ::: sts.utils.version
@@ -62,6 +66,18 @@ Helper modules used across sts-libs.
62
66
 
63
67
  ::: sts.utils.errors
64
68
 
65
- ## tmt Integration
69
+ ## FMF Markers Plugin
70
+
71
+ ::: sts.utils.fmf_markers
72
+
73
+ ## tmt Pytest Integration
74
+
75
+ ::: sts.utils.tmt_pytest
76
+
77
+ ## Test State Persistence
78
+
79
+ ::: sts.utils.teststate
80
+
81
+ ## CLI Tool Base
66
82
 
67
- ::: sts.utils.tmt
83
+ ::: sts.utils.cli
@@ -14,19 +14,23 @@ provision:
14
14
  kickstart:
15
15
  pre-install: |
16
16
  %pre --log=/dev/console
17
- # Wipe leftover LVM and signatures from all disks so the
17
+ # Minimum disk size (10 GB) filters out virtual block devices
18
+ # like zram and loop that lsblk reports as type "disk".
19
+ MIN=10737418240
20
+
21
+ # Wipe leftover LVM and signatures from all real disks so the
18
22
  # installer does not see VGs spanning multiple disks.
19
23
  vgchange -an 2>/dev/null || true
20
24
  for vg in $(vgs --noheadings -o vg_name 2>/dev/null | tr -d ' '); do
21
25
  vgremove -y -ff "$vg" 2>/dev/null || true
22
26
  done
23
- for disk in $(lsblk -dno NAME,TYPE | awk '$2=="disk"{print $1}'); do
27
+ for disk in $(lsblk -dnbo NAME,TYPE,SIZE | awk -v m=$MIN '$2=="disk" && $3+0>=m {print $1}'); do
24
28
  pvremove -y -ff "/dev/$disk" 2>/dev/null || true
25
29
  wipefs -af "/dev/$disk" 2>/dev/null || true
26
30
  done
27
31
 
28
- # Select the first disk for installation, leave the rest free
29
- TARGET_DISK=$(lsblk -dno NAME,TYPE | awk '$2=="disk"{print $1; exit}')
32
+ # Select the first real disk for installation, leave the rest free
33
+ TARGET_DISK=$(lsblk -dnbo NAME,TYPE,SIZE | awk -v m=$MIN '$2=="disk" && $3+0>=m {print $1; exit}')
30
34
  echo "ignoredisk --only-use=${TARGET_DISK}" > /tmp/ks-disk.cfg
31
35
  echo "Selected install disk: ${TARGET_DISK}"
32
36
  %end
@@ -5,7 +5,7 @@ description: |
5
5
  discover:
6
6
  how: fmf
7
7
  filter:
8
- - component:dm
8
+ - tag:dm
9
9
  - tier:1
10
10
  provision:
11
11
  how: artemis
@@ -2,7 +2,7 @@ summary: Tier 1 DMPD tests
2
2
  discover:
3
3
  how: fmf
4
4
  filter:
5
- - component:dmpd
5
+ - tag:dmpd
6
6
  provision:
7
7
  how: artemis
8
8
  hardware:
@@ -2,5 +2,5 @@ summary: Image mode with Tier 1 Device Mapper tests
2
2
  discover+:
3
3
  - how: fmf
4
4
  filter:
5
- - component:dm
5
+ - tag:dm
6
6
  - tier:1
@@ -2,4 +2,4 @@ summary: Image Mode Tier 1 DMPD tests
2
2
  discover+:
3
3
  - how: fmf
4
4
  filter:
5
- - component:dmpd
5
+ - tag:dmpd
@@ -2,5 +2,5 @@ summary: Image Mode Tier 1 LVM tests
2
2
  discover+:
3
3
  - how: fmf
4
4
  filter:
5
- - component:lvm
5
+ - tag:lvm
6
6
  - tier:1
@@ -2,5 +2,5 @@ summary: Image mode multipath tier 1 tests
2
2
  discover+:
3
3
  - how: fmf
4
4
  filter:
5
- - component:multipath
5
+ - tag:multipath
6
6
  - tier:1
@@ -4,5 +4,5 @@ environment+:
4
4
  discover+:
5
5
  - how: fmf
6
6
  filter:
7
- - component:stratis
7
+ - tag:stratis
8
8
  - tier:1
@@ -1,8 +1,8 @@
1
- summary: Image Mode Tier 1 UDisks2 tests
1
+ summary: Image Mode UDisks2 tests (tier 1 and tier 2)
2
2
  environment+:
3
3
  CONTAINERFILE: Containerfile.udisks2
4
4
  discover+:
5
5
  - how: fmf
6
6
  filter:
7
7
  - component:udisks2
8
- - tier:1
8
+ - tier:1 | tier:2
@@ -1,6 +1,6 @@
1
1
  discover:
2
2
  how: fmf
3
- filter: tag:iscsi-offload
3
+ filter: tag:hw-iscsi
4
4
  provision:
5
5
  how: beaker
6
6
  image: 'RHEL-9%' # default
@@ -4,5 +4,4 @@ discover:
4
4
  how: fmf
5
5
  filter:
6
6
  - component:targetcli
7
- - tag:local
8
7
  - tier:0,1
@@ -2,7 +2,7 @@ summary: Tier 1 LVM tests
2
2
  discover:
3
3
  how: fmf
4
4
  filter:
5
- - component:lvm
5
+ - tag:lvm
6
6
  - tier:1
7
7
  provision:
8
8
  how: artemis
@@ -15,7 +15,8 @@ adjust:
15
15
  test:
16
16
  - /tests/bootc_additional_packages
17
17
  order: 1
18
- - when: distro < rhel-10
18
+ # RHEL 9.2 doesn't have python3.12-pip
19
+ - when: distro < rhel-10 and distro != rhel-9.2
19
20
  prepare:
20
21
  - how: install
21
22
  package:
@@ -2,7 +2,7 @@ summary: Image mode multipath tier 1 tests
2
2
  discover+:
3
3
  - how: fmf
4
4
  filter:
5
- - component:multipath
5
+ - tag:multipath
6
6
  - tier:1
7
7
  provision:
8
8
  how: artemis
@@ -14,19 +14,23 @@ provision:
14
14
  kickstart:
15
15
  pre-install: |
16
16
  %pre --log=/dev/console
17
- # Wipe leftover LVM and signatures from all disks so the
17
+ # Minimum disk size (10 GB) filters out virtual block devices
18
+ # like zram and loop that lsblk reports as type "disk".
19
+ MIN=10737418240
20
+
21
+ # Wipe leftover LVM and signatures from all real disks so the
18
22
  # installer does not see VGs spanning multiple disks.
19
23
  vgchange -an 2>/dev/null || true
20
24
  for vg in $(vgs --noheadings -o vg_name 2>/dev/null | tr -d ' '); do
21
25
  vgremove -y -ff "$vg" 2>/dev/null || true
22
26
  done
23
- for disk in $(lsblk -dno NAME,TYPE | awk '$2=="disk"{print $1}'); do
27
+ for disk in $(lsblk -dnbo NAME,TYPE,SIZE | awk -v m=$MIN '$2=="disk" && $3+0>=m {print $1}'); do
24
28
  pvremove -y -ff "/dev/$disk" 2>/dev/null || true
25
29
  wipefs -af "/dev/$disk" 2>/dev/null || true
26
30
  done
27
31
 
28
- # Select the first disk for installation, leave the rest free
29
- TARGET_DISK=$(lsblk -dno NAME,TYPE | awk '$2=="disk"{print $1; exit}')
32
+ # Select the first real disk for installation, leave the rest free
33
+ TARGET_DISK=$(lsblk -dnbo NAME,TYPE,SIZE | awk -v m=$MIN '$2=="disk" && $3+0>=m {print $1; exit}')
30
34
  echo "ignoredisk --only-use=${TARGET_DISK}" > /tmp/ks-disk.cfg
31
35
  echo "Selected install disk: ${TARGET_DISK}"
32
36
  %end
@@ -2,7 +2,7 @@ summary: Tier 1 Stratis tests
2
2
  discover:
3
3
  how: fmf
4
4
  filter:
5
- - component:stratis
5
+ - tag:stratis
6
6
  - tier:1
7
7
  provision:
8
8
  how: artemis
@@ -2,10 +2,12 @@ summary: Stratis tests on linear LV backing devices
2
2
  discover:
3
3
  how: fmf
4
4
  filter:
5
- - component:stratis
5
+ - tag:stratis
6
6
  - tier:1 | tier:2
7
7
  - tag:-lvm-stacking
8
8
  - tag:-stratis_upgrade
9
+ - tag:-multihost
10
+ - tag:-reboot
9
11
  environment:
10
12
  STRATIS_DEVICE_TYPE: linear
11
13
  provision:
@@ -2,9 +2,11 @@ summary: Stratis tests on mdadm RAID1 backing devices
2
2
  discover:
3
3
  how: fmf
4
4
  filter:
5
- - component:stratis
5
+ - tag:stratis
6
6
  - tier:1 | tier:2
7
7
  - tag:-stratis_upgrade
8
+ - tag:-multihost
9
+ - tag:-reboot
8
10
  environment:
9
11
  STRATIS_DEVICE_TYPE: mdraid1
10
12
  provision:
@@ -2,10 +2,12 @@ summary: Stratis tests on RAID1 LV backing devices
2
2
  discover:
3
3
  how: fmf
4
4
  filter:
5
- - component:stratis
5
+ - tag:stratis
6
6
  - tier:1 | tier:2
7
7
  - tag:-lvm-stacking
8
8
  - tag:-stratis_upgrade
9
+ - tag:-multihost
10
+ - tag:-reboot
9
11
  environment:
10
12
  STRATIS_DEVICE_TYPE: raid1
11
13
  provision:
@@ -0,0 +1,15 @@
1
+ summary: CI-safe tests — no special hardware, no reboot, tier 1
2
+ discover:
3
+ - how: fmf
4
+ filter:
5
+ - "tag: -no-ci"
6
+ - "tag: -hw-fc"
7
+ - "tag: -hw-rdma"
8
+ - "tag: -hw-iscsi"
9
+ - "tag: -hw-nvme"
10
+ - "tag: -multihost"
11
+ - "tag: -reboot"
12
+ - "tag: -bootc"
13
+ - "tag: -hw-memory"
14
+ - "tag: -hw-disk"
15
+ - "tier: 1"
@@ -0,0 +1,12 @@
1
+ summary: Tier 1 UDisks2 core D-Bus interface tests
2
+ discover:
3
+ how: fmf
4
+ filter:
5
+ - component:udisks2
6
+ - tier:1
7
+ provision:
8
+ how: artemis
9
+ hardware:
10
+ disk:
11
+ - size: '>= 10 GB'
12
+ memory: '>= 2 GB'
@@ -0,0 +1,12 @@
1
+ summary: Tier 2 UDisks2 sanity and regression tests
2
+ discover:
3
+ how: fmf
4
+ filter:
5
+ - component:udisks2
6
+ - tier:2
7
+ provision:
8
+ how: artemis
9
+ hardware:
10
+ disk:
11
+ - size: '>= 10 GB'
12
+ memory: '>= 2 GB'
@@ -9,9 +9,10 @@ discover:
9
9
  - component:udisks2
10
10
  - tier:3
11
11
  provision:
12
- how: beaker
12
+ how: artemis
13
13
  hardware:
14
+ device:
15
+ driver: ahci
14
16
  disk:
15
- - driver: ahci
16
- size: '>= 10 GB'
17
+ - size: '>= 10 GB'
17
18
  memory: '>= 4 GB'
@@ -4,7 +4,7 @@ discover:
4
4
  filter:
5
5
  - component:vdo
6
6
  - tier:2
7
- - tag:high_memory
7
+ - tag:hw-memory
8
8
  provision:
9
9
  how: artemis
10
10
  hardware:
@@ -7,7 +7,7 @@ name = 'sts-libs'
7
7
  description = 'Library for pytest-based Linux storage tests'
8
8
  readme = 'sts_libs/README.md'
9
9
  requires-python = '>=3.12'
10
- version = "2.2.0"
10
+ version = "2.3.0"
11
11
  authors = [
12
12
  {name = 'Martin Hoyer', email = 'mhoyer@redhat.com'},
13
13
  {name = 'Filip Suba', email = 'fsuba@redhat.com'},
@@ -50,6 +50,7 @@ dev = [
50
50
  "pytest-mock",
51
51
  "pytest-cov",
52
52
  "typing-extensions",
53
+ "fmf>=1.7.0",
53
54
  ]
54
55
  docs = [
55
56
  'griffe-pydantic',
@@ -156,6 +157,7 @@ ignore = [
156
157
  # Per-file configuration for ignoring rules.
157
158
  [tool.ruff.lint.per-file-ignores]
158
159
  'tests/*' = ['INP001', 'D', 'PLR6301', 'S', 'C90']
160
+ 'tests/lsm/*' = ['E402']
159
161
  'sts_libs/tests/*' = ['ARG', 'ANN', 'SLF001', 'FBT', 'E501', 'PLR6301', 'PLC0415', 'S', 'C90', 'D']
160
162
  '.scripts/*' = ['INP001', 'S6']
161
163
 
@@ -104,8 +104,11 @@ def get_free_disks() -> list[BlockDevice]:
104
104
  is not mounted, is not read-only, and is at least 1 GB.
105
105
  """
106
106
  free_devices: list[BlockDevice] = []
107
- # Get list of LVM PVs to exclude
108
- pvs = {str(pv.path) for pv in PhysicalVolume.get_all()}
107
+ # Get list of LVM PVs to exclude (pvs may not be installed, e.g. guests without lvm2)
108
+ try:
109
+ pvs = {str(pv.path) for pv in PhysicalVolume.get_all()}
110
+ except FileNotFoundError:
111
+ pvs: set[str] = set()
109
112
 
110
113
  for data in _load_all_devices():
111
114
  # Skip if device has parent (is partition) or children (has partitions)