Releases: OpenMPDK/dss-sdk
Releases · OpenMPDK/dss-sdk
v3.0.0
Summary of changes:
- In this release, we have made several significant updates to improve write performance and user experience.
- We have revised our implementation of key-value store that translates key-value pairs in the request to block layer data written to device.
- Specifically, we have replaced RocksDB with an internal implementation of a hash-based key-value translator and a hint-based logical block manager sensitive to optimal NVMe drive IO boundary to improve write performance.
- For impacted users, these updates should provide a smoother, more intuitive experience with a noticeable improvement to write operation.
- We have deprecated compaction and the requirement for written data to be compacted before reading to achieve maximum read performance is no longer needed.
- We have introduced a new format tool called
dss-formatter
to format devices; similar to existingmkfs-blobfs
tool which has now been deprecated.
Limitations
- Persistent key listing is not yet implemented. This will result in MinIO failing to return object listing after a reboot.
- Target startup time is presently longer than expected - and will be addressed in a future release.
What's Changed
- Adding Pytest framework and unit tests to dss-sdk. Converted dss_target.py to be python3 compatible by @nsarras in #45
- Enabling nkv_need_path_stat var by default by @nsarras in #46
- Add unit tests to gitlab ci by @velomatt in #47
- Add gitlab-ci enhancements by @velomatt in #48
- Add unit tests and refactor stages by @velomatt in #50
- Modifying logic for mountpoints to be mapped to both nqn and ip, correcting nkv config generation by @nsarras in #52
- Download latest sonar-scanner and build-wrapper by @velomatt in #53
- Add systemtests for host and target scripts by @Chenliang-Eric-Li in #54
- Add unittests for dss_host.py and dss_target.py by @Chenliang-Eric-Li in #55
- Write optimization by @velomatt in #56
New Contributors
- @Chenliang-Eric-Li made their first contribution in #54
Full Changelog: v2.0.0...v3.0.0
v2.0.0
Gen2 Overview
- DSS can now be deployed with
gen2
mode, which utilizes RDD (RDMA Data Direct).- This feature enables clients to transfer object data directly from DSS targets without the need to go through the MinIO servers.
- This allows better performance, as well as improved network and memory resource utilization in the DSS Stack.
- This feature is integrated with DSS Client APIs and allows for seamless integration with applications using the thin DSS client library.
- To deploy DSS with
gen2
mode enabled, it is required that both front-end (intcp_ip_list
) and back-end (inrocev2_ip_list
) IP addresses be from RDMA-enabled network interfaces. See dss-ansible README for details. - dss-ansible will deploy DSS in "gen2" mode simply by setting
gen2=true
in your Ansible inventory file. The default value isfalse
, which will deploy DSS ingen1
mode (not using the RDD feature, does not require RDMA front-end network).
What's Changed
- [Unit Test] Added CUnit test framework for target by @benixon in #19
- 20 add dss sdk readmemd by @velomatt in #23
- Gen 2 by @velomatt in #3
- Add reusable workflows by @velomatt in #27
- Add sonar branch name by @velomatt in #29
- Update workflows by @velomatt in #32
- Add stagemergeartifacts by @velomatt in #33
- Added rdd header files to the artifact by @grandsuri in #34
- Modifying python scripts to support configuration of target and host for gen2 by @nsarras in #35
- Update .gitlab-ci.yml by @velomatt in #36
- Ensuring scripts run if no gen2 arg is passed in by @nsarras in #38
- Remove UFM from build by @velomatt in #41
- Updating required args for nkv test cli by @nsarras in #44
New Contributors
- @grandsuri made their first contribution in #34
- @nsarras made their first contribution in #35
Full Changelog: v1.0.0...v2.0.0
Known Issues
- target may be unstable when writing 4MB objects or larger (gen2 mode)
- cannot deploy gen2 in disaggregated mode if using unequal number of target and host nodes
- client library may not function in gen2 mode in disaggregated deployments, due to stand-alone MinIO sync issue
- executing nkv_test_cli through dss_host.py requires additional arguments which are not documented
dss-sdk v1.0.0
Initial public release
What's Changed
- Add CI/CD by @velomatt in #1
- 16 add coverage build support by @benixon in #17
- Add CODEOWNERS by @velomatt in #22
New Contributors
Full Changelog: https://github.com/OpenMPDK/dss-sdk/commits/v1.0.0
Artifact Downloads:
nkv-sdk-bin-v1.0.0.tgz
nkv-target-v1.0.0.tgz
nkvagent-0.1.0.414ef10-1.noarch.rpm
ufm-1.0.0.414ef10-1.noarch.rpm
ufmbroker-1.0.0.414ef10-1.noarch.rpm