Releases: OpenMPDK/dss-ansible
Releases · OpenMPDK/dss-ansible
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
- Build rocev2_ip_list for disaggregated hosts by @velomatt in #49
- Fix onyx group vars by @velomatt in #50
- Use full module paths by @velomatt in #51
- Allow a default value to be overridden by @velomatt in #52
- Only fetch artifacts from matching branch by @velomatt in #53
- Modifying ansible create_client_library_conf to produce correct gen2 DSS client conf.json format by @nsarras in #56
- Changing logic to always sequentially format by @nsarras in #59
- Fix regex for DCQCN by @velomatt in #54
- Update paths for s3 benchmark by @velomatt in #60
- Use full path names for all modules by @velomatt in #61
- Adding MINIO_REPORT_METRICS option on deployment to enable bandwidth/iops collection by @nsarras in #63
- Add s3 benchmark and deploy pipeline by @velomatt in #66
- Add missing sync-github stage variable override by @velomatt in #67
- Use master branch by @velomatt in #68
- Append tpoint_group_mask if defined by @velomatt in #69
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
- Dynamically set PREFIX based on IP / Netmask by @velomatt in #7
- Adding latest datamover config changes by @nsarras in #14
- Add quotes to compaction string by @velomatt in #15
- Run cleanup_dss_minio play on format plays by @velomatt in #11
- Removed the environment section from Datamover config.json. by @grandsuri in #12
- Add reusable workflow for ansible-lint by @velomatt in #19
- Add .gitlab-ci workflow by @velomatt in #22
- Use version comparison test. by @velomatt in #24
- Fix issue where LLDP cannot be correctly parsed by @velomatt in #25
- Set ldconfig for dss-sdk libs by @velomatt in #26
- Remove ld library path and fix minio cleanup issue by @velomatt in #27
- Adding support for server_as_prefix DataMover config option by @nsarras in #18
- Use version compare by @velomatt in #29
- Add download_artifacts playbook and role by @velomatt in #30
- Cleaner centos8 support by @velomatt in #31
- Adding support for Gen2 DSS deployment automation by @nsarras in #28
- Catch mkfs blobfs core dump condition by @velomatt in #32
- Include vars for network service by @velomatt in #33
- Remove UFM from docs, playbooks, etc by @velomatt in #35
- Add nkv sdk artifacts on client install by @velomatt in #34
- Check for shared lib error on mkfs_blobfs by @velomatt in #36
- Refactor minio cleanup on format plays by @velomatt in #37
- Don't use template to format JSON config by @velomatt in #38
- Don't delete /etc/dss on remove plays by @velomatt in #39
- Add git to host deps on deploy by @velomatt in #40
- Only run minio cleanup if client library conf.json exists by @velomatt in #41
- Re-run ldconfig if deploy changes files by @velomatt in #42
- Set target mode default for datamover by @velomatt in #43
- Set Onyx group vars by @velomatt in #44
New Contributors
- @nsarras made their first contribution in #14
- @grandsuri made their first contribution in #12
Full Changelog: v1.0.0...v2.0.0
Known Issues
test_nkv_test_cli.yml
playbook non-functional- pre-compiled master target artifact in AWS S3 bucket may not be compatible on all CPUs. Known incompatible:
- Intel(R) Xeon(R) CPU E5-2696 v4 @ 2.20GHz
- Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz
- AMD EPYC 7742 64-Core Processor