STS - Storage Testing¶
Comprehensive Linux storage testing framework for Fedora, CentOS Stream, and RHEL¶
STS makes storage testing easy with pytest-based libraries, extensive fixtures, and TMT integration. Whether you're testing iSCSI, LVM, multipath, or other storage technologies, STS provides the tools you need.
It consists of two main components:
- ๐ฆ sts-libs: Python testing library with storage-specific APIs and fixtures
- ๐งช Test Suite: Collection of storage tests and TMT plans
Supported APIs and Tests:
- iSCSI: Initiator and target testing
- LVM: Volume management and thin provisioning
- Multipath: Device mapper multipath
- NVMe: NVMe device operations
- Fibre Channel: FC HBA testing
- SCSI: SCSI device testing
- Stratis: Stratis storage management
- RDMA: RDMA storage protocols
- VDO: Virtual Data Optimizer
- And more: Actively expanding support for additional storage technologies
Quick Start¶
1. Install sts-libs¶
From PyPI:
pip install sts-libs
From Fedora/EPEL:
dnf copr enable packit/gitlab.com-rh-kernel-stqe-sts-releases
dnf install -y python3-sts-libs
2. Write Your First Test¶
For detailed guidance on writing and running tests, see Writing and Running STS Tests.
Requirements¶
- Python: 3.9 or later
- Operating Systems: Fedora, CentOS Stream 9+, RHEL 8+
- Dependencies: pytest, pytest-testinfra
Project Architecture¶
sts/
โโโ sts_libs/ # Core Python library
โ โโโ src/sts/ # Library source code
โ โ โโโ base.py # Base device classes
โ โ โโโ fixtures/ # Pytest fixtures
โ โ โโโ utils/ # Utility modules
โ โ โโโ [storage]/ # Storage technology modules
โ โโโ tests/ # Library unit tests
โโโ tests/ # Storage functional tests
โโโ plans/ # TMT test plans (.fmf files)
โโโ docs/ # Documentation source
โโโ pyproject.toml # Project configuration
Community & Support¶
- Documentation: Complete docs
- Source Code: GitLab Repository
- Issues: Issue Tracker
- TMT Support: TMT Documentation