-
Release 1.10.0
All checks were successfulTest / buildenv (push) Successful in 12sTest / build (push) Successful in 4m10sTest / npm_lint (push) Successful in 11sTest / test_cas (push) Successful in 8sTest / make_test (push) Successful in 36sTest / test_change_pg_count (push) Successful in 19sTest / test_change_pg_size (push) Successful in 9sTest / test_change_pg_count_ec (push) Successful in 22sTest / test_create_nomaxid (push) Successful in 9sTest / test_add_osd (push) Successful in 1m7sTest / test_etcd_fail_antietcd (push) Successful in 41sTest / test_etcd_fail (push) Successful in 44sTest / test_interrupted_rebalance (push) Successful in 47sTest / test_create_halfhost (push) Successful in 8sTest / test_interrupted_rebalance_imm (push) Successful in 46sTest / test_failure_domain (push) Successful in 10sTest / test_snapshot (push) Successful in 14sTest / test_snapshot_ec (push) Successful in 16sTest / test_interrupted_rebalance_ec_imm (push) Successful in 48sTest / test_interrupted_rebalance_ec (push) Successful in 50sTest / test_minsize_1 (push) Successful in 14sTest / test_rm (push) Successful in 12sTest / test_move_reappear (push) Successful in 18sTest / test_snapshot_down (push) Successful in 13sTest / test_snapshot_down_ec (push) Successful in 13sTest / test_snapshot_chain (push) Successful in 30sTest / test_splitbrain (push) Successful in 14sTest / test_snapshot_chain_ec (push) Successful in 38sTest / test_rebalance_verify (push) Successful in 1m47sTest / test_rebalance_verify_imm (push) Successful in 1m47sTest / test_dd (push) Successful in 15sTest / test_root_node (push) Successful in 11sTest / test_rebalance_verify_ec (push) Successful in 1m54sTest / test_rebalance_verify_ec_imm (push) Successful in 1m58sTest / test_write_no_same (push) Successful in 9sTest / test_switch_primary (push) Successful in 35sTest / test_write (push) Successful in 34sTest / test_write_xor (push) Successful in 37sTest / test_heal_pg_size_2 (push) Successful in 2m16sTest / test_heal_ec (push) Successful in 2m19sTest / test_heal_antietcd (push) Successful in 2m18sTest / test_heal_csum_32k_dmj (push) Successful in 2m20sTest / test_heal_csum_32k_dj (push) Successful in 2m20sTest / test_heal_csum_32k (push) Successful in 2m19sTest / test_heal_csum_4k_dj (push) Successful in 2m16sTest / test_heal_csum_4k_dmj (push) Successful in 2m22sTest / test_resize_auto (push) Successful in 11sTest / test_resize (push) Successful in 15sTest / test_snapshot_pool2 (push) Successful in 16sTest / test_osd_tags (push) Successful in 8sTest / test_enospc (push) Successful in 11sTest / test_enospc_imm (push) Successful in 12sTest / test_enospc_xor (push) Successful in 15sTest / test_enospc_imm_xor (push) Successful in 14sTest / test_scrub_zero_osd_2 (push) Successful in 13sTest / test_scrub (push) Successful in 16sTest / test_scrub_xor (push) Successful in 15sTest / test_scrub_pg_size_3 (push) Successful in 17sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 16sTest / test_scrub_ec (push) Successful in 15sTest / test_nfs (push) Successful in 13sTest / test_heal_csum_4k (push) Successful in 2m19sreleased this
2024-12-19 15:49:19 +03:00 | 271 commits to master since this releaseNew features:
- Implement basic VitastorFS support in CSI
- Implement NFS RDMA support
- Pause pool rebalance when monitor detects that it can lead to any OSD becoming full (osd_backfillfull_ratio)
- Auto-select correct RDMA device and GID based on osd_network and RoCEv2 priority
- Report slow ops in OSD stats in etcd and show them in vitastor-cli status
Bug fixes:
- Fix possibly incorrect linked list deserialization in NFS
- Fix possible crash in vitastor-nfs --block READDIR operation
- Map netlink after forking to show correct PID in vitastor-nbd ls
- Simplify and fix create-pool OSD count checks for the case of hosts split into sub-nodes
- Make monitor print "Waiting to become master" just once, not every 5s
- Take out_size from oimg if not specified in vitastor-cli dd
- Do not report OSDs with empty statistics as "full" in status
- Trigger double autosync when switching PG state to prevent leaving garbage in non-immediate_commit clusters
- Fix a lack of connection timeout for etcd websockets in OSD leading to slower etcd failover (~70s instead of ~10s)
- Fix a rare OSD crash during client disconnect
- Fix PGs sometimes sticking until OSD restart in the "has_unclean" state with EC pools
- Fix metadata partition zeroing in vitastor-disk prepare
- Add patches for qemu 9.1 and pve-qemu 9.0 and 9.1
- Fix libvirt 8 patch
Downloads
-
Release 1.9.3
Some checks failedTest / buildenv (push) Successful in 10sTest / build (push) Successful in 4m13sTest / npm_lint (push) Successful in 8sTest / test_cas (push) Successful in 7sTest / test_change_pg_count (push) Successful in 17sTest / test_change_pg_count_ec (push) Successful in 18sTest / make_test (push) Successful in 32sTest / test_change_pg_size (push) Successful in 8sTest / test_create_nomaxid (push) Successful in 7sTest / test_etcd_fail (push) Successful in 38sTest / test_add_osd (push) Successful in 1m12sTest / test_interrupted_rebalance (push) Successful in 45sTest / test_interrupted_rebalance_imm (push) Successful in 44sTest / test_interrupted_rebalance_ec (push) Successful in 46sTest / test_failure_domain (push) Successful in 7sTest / test_interrupted_rebalance_ec_imm (push) Successful in 46sTest / test_snapshot (push) Successful in 12sTest / test_snapshot_ec (push) Successful in 12sTest / test_minsize_1 (push) Successful in 14sTest / test_rm (push) Successful in 9sTest / test_move_reappear (push) Successful in 17sTest / test_snapshot_down (push) Successful in 13sTest / test_etcd_fail_antietcd (push) Failing after 2m20sTest / test_snapshot_chain (push) Successful in 33sTest / test_snapshot_down_ec (push) Successful in 13sTest / test_snapshot_chain_ec (push) Successful in 39sTest / test_splitbrain (push) Successful in 13sTest / test_rebalance_verify (push) Successful in 1m43sTest / test_rebalance_verify_imm (push) Successful in 1m44sTest / test_root_node (push) Successful in 9sTest / test_dd (push) Successful in 13sTest / test_rebalance_verify_ec (push) Successful in 1m54sTest / test_rebalance_verify_ec_imm (push) Successful in 1m56sTest / test_write_no_same (push) Successful in 8sTest / test_switch_primary (push) Successful in 32sTest / test_write (push) Successful in 31sTest / test_write_xor (push) Successful in 36sTest / test_heal_pg_size_2 (push) Successful in 2m15sTest / test_heal_ec (push) Successful in 2m16sTest / test_heal_antietcd (push) Successful in 2m16sTest / test_heal_csum_32k_dmj (push) Successful in 2m16sTest / test_heal_csum_32k_dj (push) Successful in 2m17sTest / test_heal_csum_4k_dmj (push) Successful in 2m11sTest / test_heal_csum_32k (push) Successful in 2m18sTest / test_heal_csum_4k_dj (push) Successful in 2m13sTest / test_resize_auto (push) Successful in 8sTest / test_resize (push) Successful in 14sTest / test_osd_tags (push) Successful in 7sTest / test_snapshot_pool2 (push) Successful in 15sTest / test_enospc (push) Successful in 12sTest / test_enospc_xor (push) Successful in 11sTest / test_enospc_imm (push) Successful in 12sTest / test_enospc_imm_xor (push) Successful in 13sTest / test_scrub (push) Successful in 14sTest / test_scrub_zero_osd_2 (push) Successful in 14sTest / test_scrub_xor (push) Successful in 14sTest / test_scrub_pg_size_3 (push) Successful in 15sTest / test_scrub_ec (push) Successful in 13sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 17sTest / test_nfs (push) Successful in 11sTest / test_heal_csum_4k (push) Successful in 2m17sreleased this
2024-11-07 01:28:31 +03:00 | 315 commits to master since this release- Support custom hybrid OSD creation (
vitastor-disk prepare --hybrid --fast-devices /dev/xxx,/dev/yyy
) - Auto-change partition paths to /dev/disk/by-partuuid/ in
vitastor-disk prepare
- Allow to select cached I/O in vitastor-disk commands
- Fix multiple bugs in vitastor-disk resize & add tests for them
- Fix vitastor-disk write-meta/write-journal in superblock-based mode writing it to an incorrect device
- Fix vitastor-disk prepare sometimes again not seeing new partitions
- Cleanup PG history and stats of deleted pools
- Fix "is already mounted" checks in CSI
Downloads
- Support custom hybrid OSD creation (
-
Release 1.9.2
All checks were successfulTest / buildenv (push) Successful in 10sTest / build (push) Successful in 3m57sTest / npm_lint (push) Successful in 8sTest / test_cas (push) Successful in 8sTest / test_change_pg_count (push) Successful in 19sTest / test_change_pg_count_ec (push) Successful in 19sTest / make_test (push) Successful in 33sTest / test_change_pg_size (push) Successful in 7sTest / test_create_nomaxid (push) Successful in 7sTest / test_add_osd (push) Successful in 1m6sTest / test_etcd_fail (push) Successful in 38sTest / test_etcd_fail_antietcd (push) Successful in 38sTest / test_interrupted_rebalance (push) Successful in 45sTest / test_failure_domain (push) Successful in 8sTest / test_snapshot (push) Successful in 13sTest / test_interrupted_rebalance_imm (push) Successful in 46sTest / test_interrupted_rebalance_ec (push) Successful in 46sTest / test_snapshot_ec (push) Successful in 12sTest / test_interrupted_rebalance_ec_imm (push) Successful in 45sTest / test_rm (push) Successful in 8sTest / test_minsize_1 (push) Successful in 14sTest / test_move_reappear (push) Successful in 16sTest / test_snapshot_down (push) Successful in 11sTest / test_snapshot_down_ec (push) Successful in 11sTest / test_snapshot_chain (push) Successful in 28sTest / test_splitbrain (push) Successful in 11sTest / test_snapshot_chain_ec (push) Successful in 34sTest / test_rebalance_verify (push) Successful in 1m31sTest / test_rebalance_verify_imm (push) Successful in 1m29sTest / test_root_node (push) Successful in 8sTest / test_dd (push) Successful in 12sTest / test_rebalance_verify_ec (push) Successful in 1m40sTest / test_rebalance_verify_ec_imm (push) Successful in 1m41sTest / test_write_no_same (push) Successful in 7sTest / test_switch_primary (push) Successful in 31sTest / test_write (push) Successful in 30sTest / test_write_xor (push) Successful in 36sTest / test_heal_pg_size_2 (push) Successful in 2m15sTest / test_heal_ec (push) Successful in 2m15sTest / test_heal_antietcd (push) Successful in 2m16sTest / test_heal_csum_32k_dmj (push) Successful in 2m17sTest / test_heal_csum_32k_dj (push) Successful in 2m16sTest / test_heal_csum_32k (push) Successful in 2m18sTest / test_heal_csum_4k_dmj (push) Successful in 2m17sTest / test_heal_csum_4k_dj (push) Successful in 2m17sTest / test_osd_tags (push) Successful in 7sTest / test_snapshot_pool2 (push) Successful in 13sTest / test_enospc (push) Successful in 10sTest / test_enospc_xor (push) Successful in 12sTest / test_enospc_imm (push) Successful in 10sTest / test_enospc_imm_xor (push) Successful in 13sTest / test_scrub (push) Successful in 13sTest / test_scrub_zero_osd_2 (push) Successful in 12sTest / test_scrub_xor (push) Successful in 13sTest / test_scrub_pg_size_3 (push) Successful in 14sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 15sTest / test_scrub_ec (push) Successful in 13sTest / test_nfs (push) Successful in 11sTest / test_heal_csum_4k (push) Successful in 2m14sreleased this
2024-10-20 01:49:13 +03:00 | 341 commits to master since this releaseNew features:
- Support resizing normal vitastor-disk partitions and moving journal/metadata: vitastor-disk resize
- Support simple forms of vitastor-disk {dump,write}-{meta,journal} for OSD partitions
Bug fixes:
- Fix block RWX volumes broken after introducing stage/unstage support
- Do not allow to create non-block RWX volumes in CSI
- Fix vitastor-disk prepare not seeing the newly created partition in rare cases
- Fix non-array tags not showing up in ls-osd/osd-tree
- Make OpenNebula oned.conf patching during installation smarter
- Fix iseek option in vitastor-cli dd not working
- Validate conv=, iflag=, oflag= options in vitastor-cli dd
- Fix vitastor-disk write-meta not writing header checksum to the disk
- Fix JSON format in vitastor-disk dump-meta
- Fix read_chain_bitmap not working for snapshot in another pool
- Fix a possible OSD crash during parallel read & write to an image with snapshots
- Several followups to the READ_CHAIN_BITMAP fix: avoid data reads, fix possible overflow in is_zero(), fix bitmap size
Downloads
-
Release 1.9.1
All checks were successfulTest / buildenv (push) Successful in 10sTest / build (push) Successful in 12sTest / npm_lint (push) Successful in 8sTest / test_cas (push) Successful in 9sTest / test_change_pg_count (push) Successful in 19sTest / test_change_pg_count_ec (push) Successful in 18sTest / make_test (push) Successful in 33sTest / test_change_pg_size (push) Successful in 8sTest / test_create_nomaxid (push) Successful in 9sTest / test_add_osd (push) Successful in 52sTest / test_etcd_fail_antietcd (push) Successful in 39sTest / test_etcd_fail (push) Successful in 43sTest / test_interrupted_rebalance (push) Successful in 47sTest / test_failure_domain (push) Successful in 7sTest / test_interrupted_rebalance_imm (push) Successful in 45sTest / test_snapshot (push) Successful in 13sTest / test_snapshot_ec (push) Successful in 14sTest / test_interrupted_rebalance_ec_imm (push) Successful in 45sTest / test_interrupted_rebalance_ec (push) Successful in 49sTest / test_minsize_1 (push) Successful in 14sTest / test_move_reappear (push) Successful in 17sTest / test_rm (push) Successful in 10sTest / test_snapshot_down (push) Successful in 11sTest / test_snapshot_down_ec (push) Successful in 11sTest / test_snapshot_chain (push) Successful in 27sTest / test_splitbrain (push) Successful in 11sTest / test_snapshot_chain_ec (push) Successful in 34sTest / test_rebalance_verify (push) Successful in 1m32sTest / test_rebalance_verify_imm (push) Successful in 1m36sTest / test_dd (push) Successful in 12sTest / test_rebalance_verify_ec (push) Successful in 1m40sTest / test_root_node (push) Successful in 9sTest / test_rebalance_verify_ec_imm (push) Successful in 1m42sTest / test_write_no_same (push) Successful in 8sTest / test_switch_primary (push) Successful in 32sTest / test_write (push) Successful in 33sTest / test_write_xor (push) Successful in 37sTest / test_heal_pg_size_2 (push) Successful in 2m16sTest / test_heal_ec (push) Successful in 2m17sTest / test_heal_antietcd (push) Successful in 2m17sTest / test_heal_csum_32k_dmj (push) Successful in 2m17sTest / test_heal_csum_32k_dj (push) Successful in 2m16sTest / test_heal_csum_4k_dmj (push) Successful in 2m17sTest / test_heal_csum_32k (push) Successful in 2m21sTest / test_osd_tags (push) Successful in 9sTest / test_heal_csum_4k_dj (push) Successful in 2m18sTest / test_enospc (push) Successful in 10sTest / test_enospc_imm (push) Successful in 11sTest / test_enospc_xor (push) Successful in 13sTest / test_enospc_imm_xor (push) Successful in 14sTest / test_scrub (push) Successful in 13sTest / test_scrub_zero_osd_2 (push) Successful in 14sTest / test_scrub_xor (push) Successful in 13sTest / test_scrub_pg_size_3 (push) Successful in 15sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 15sTest / test_scrub_ec (push) Successful in 14sTest / test_nfs (push) Successful in 11sTest / test_heal_csum_4k (push) Successful in 2m25sreleased this
2024-09-14 19:17:30 +03:00 | 367 commits to master since this releaseHotfixes for OpenNebula and upgrade hotfix for 1.7
- Fix deploy.vitastor, save.vitastor, restore.vitastor scripts not working for nodes other than master oned
- Fix deploy.vitastor not working for VMs without Vitastor disks
- Disable clearing old PG configuration when upgrading from 1.7 or older versions (it was breaking old clients)
Downloads
-
Release 1.9.0
All checks were successfulTest / buildenv (push) Successful in 9sTest / build (push) Successful in 3m48sTest / npm_lint (push) Successful in 9sTest / test_cas (push) Successful in 8sTest / test_change_pg_count (push) Successful in 19sTest / test_change_pg_count_ec (push) Successful in 20sTest / make_test (push) Successful in 35sTest / test_change_pg_size (push) Successful in 8sTest / test_create_nomaxid (push) Successful in 8sTest / test_add_osd (push) Successful in 1m10sTest / test_etcd_fail_antietcd (push) Successful in 38sTest / test_interrupted_rebalance (push) Successful in 46sTest / test_interrupted_rebalance_imm (push) Successful in 45sTest / test_interrupted_rebalance_ec (push) Successful in 48sTest / test_failure_domain (push) Successful in 9sTest / test_interrupted_rebalance_ec_imm (push) Successful in 46sTest / test_snapshot (push) Successful in 12sTest / test_snapshot_ec (push) Successful in 13sTest / test_minsize_1 (push) Successful in 14sTest / test_rm (push) Successful in 10sTest / test_move_reappear (push) Successful in 16sTest / test_snapshot_down (push) Successful in 11sTest / test_snapshot_chain (push) Successful in 27sTest / test_snapshot_down_ec (push) Successful in 13sTest / test_snapshot_chain_ec (push) Successful in 32sTest / test_splitbrain (push) Successful in 12sTest / test_rebalance_verify (push) Successful in 1m27sTest / test_rebalance_verify_imm (push) Successful in 1m26sTest / test_dd (push) Successful in 9sTest / test_rebalance_verify_ec (push) Successful in 1m33sTest / test_root_node (push) Successful in 9sTest / test_switch_primary (push) Successful in 32sTest / test_write (push) Successful in 31sTest / test_write_no_same (push) Successful in 8sTest / test_write_xor (push) Successful in 33sTest / test_rebalance_verify_ec_imm (push) Successful in 1m33sTest / test_heal_pg_size_2 (push) Successful in 2m16sTest / test_heal_ec (push) Successful in 2m16sTest / test_heal_antietcd (push) Successful in 2m17sTest / test_heal_csum_32k_dmj (push) Successful in 2m17sTest / test_heal_csum_32k_dj (push) Successful in 2m18sTest / test_heal_csum_32k (push) Successful in 2m17sTest / test_osd_tags (push) Successful in 7sTest / test_enospc (push) Successful in 11sTest / test_enospc_xor (push) Successful in 14sTest / test_enospc_imm (push) Successful in 10sTest / test_enospc_imm_xor (push) Successful in 12sTest / test_scrub (push) Successful in 13sTest / test_scrub_zero_osd_2 (push) Successful in 12sTest / test_scrub_xor (push) Successful in 13sTest / test_heal_csum_4k_dmj (push) Successful in 2m17sTest / test_scrub_pg_size_3 (push) Successful in 16sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 17sTest / test_heal_csum_4k_dj (push) Successful in 2m18sTest / test_nfs (push) Successful in 11sTest / test_scrub_ec (push) Successful in 15sTest / test_heal_csum_4k (push) Successful in 2m19sTest / test_etcd_fail (push) Successful in 42sreleased this
2024-09-06 01:46:16 +03:00 | 375 commits to master since this release- OpenNebula support! Installation instructions
- Added vitastor-cli rm --exact|--matching command
- Added vitastor-cli dd command - copy files between Vitastor images, files and pipes
- Add a startup timeout to vitastor-cli to not wait for etcd infinitely
- Fix non-working OSD_OP_READ_CHAIN_BITMAP O_o
- Autodetect block_size/bitmap_granularity/immediate_commit when creating pools
- Do not allow to create multiple pools with the same name from vitastor-cli
- Fix skip_cache_check option not applied due to type issue (see github issue #70)
Downloads
-
Release 1.8.0
All checks were successfulTest / buildenv (push) Successful in 9sTest / build (push) Successful in 3m50sTest / npm_lint (push) Successful in 8sTest / test_cas (push) Successful in 6sTest / test_change_pg_count (push) Successful in 19sTest / test_change_pg_count_ec (push) Successful in 18sTest / make_test (push) Successful in 34sTest / test_change_pg_size (push) Successful in 7sTest / test_create_nomaxid (push) Successful in 6sTest / test_add_osd (push) Successful in 1m7sTest / test_etcd_fail_antietcd (push) Successful in 38sTest / test_etcd_fail (push) Successful in 42sTest / test_interrupted_rebalance (push) Successful in 45sTest / test_failure_domain (push) Successful in 7sTest / test_snapshot (push) Successful in 12sTest / test_interrupted_rebalance_imm (push) Successful in 44sTest / test_snapshot_ec (push) Successful in 12sTest / test_interrupted_rebalance_ec (push) Successful in 46sTest / test_interrupted_rebalance_ec_imm (push) Successful in 46sTest / test_minsize_1 (push) Successful in 12sTest / test_rm (push) Successful in 9sTest / test_move_reappear (push) Successful in 16sTest / test_snapshot_down (push) Successful in 11sTest / test_snapshot_down_ec (push) Successful in 12sTest / test_snapshot_chain (push) Successful in 28sTest / test_splitbrain (push) Successful in 11sTest / test_snapshot_chain_ec (push) Successful in 35sTest / test_rebalance_verify (push) Successful in 1m25sTest / test_rebalance_verify_imm (push) Successful in 1m25sTest / test_root_node (push) Successful in 7sTest / test_rebalance_verify_ec (push) Successful in 1m30sTest / test_rebalance_verify_ec_imm (push) Successful in 1m32sTest / test_write_no_same (push) Successful in 7sTest / test_write (push) Successful in 30sTest / test_switch_primary (push) Successful in 32sTest / test_write_xor (push) Successful in 34sTest / test_heal_pg_size_2 (push) Successful in 2m16sTest / test_heal_ec (push) Successful in 2m17sTest / test_heal_antietcd (push) Successful in 2m18sTest / test_heal_csum_32k_dmj (push) Successful in 2m20sTest / test_heal_csum_32k_dj (push) Successful in 2m16sTest / test_heal_csum_32k (push) Successful in 2m19sTest / test_heal_csum_4k_dmj (push) Successful in 2m20sTest / test_osd_tags (push) Successful in 8sTest / test_heal_csum_4k_dj (push) Successful in 2m17sTest / test_enospc (push) Successful in 10sTest / test_enospc_xor (push) Successful in 13sTest / test_enospc_imm (push) Successful in 12sTest / test_enospc_imm_xor (push) Successful in 13sTest / test_scrub_zero_osd_2 (push) Successful in 12sTest / test_scrub (push) Successful in 15sTest / test_scrub_xor (push) Successful in 13sTest / test_scrub_pg_size_3 (push) Successful in 14sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 15sTest / test_scrub_ec (push) Successful in 14sTest / test_nfs (push) Successful in 12sTest / test_heal_csum_4k (push) Successful in 2m16sreleased this
2024-08-11 14:28:31 +03:00 | 397 commits to master since this releaseBugfix release, would be 1.7.2, but etcd layout changes mandate it to be 1.8.0. :-)
- Change etcd layout: /config/pgs is now /pg/config, /pg/stats/* is now /pgstats/*.
This is required to fix a rare PG history tracking issue caused by non-atomic
delivery of etcd events sometimes resulting inincomplete
objects in EC pools
after mass OSD restarts. Upgrading can be performed freely, downgrade requires
additional action: 1.8.0 to 1.7.1 - Fix a rare client hang on PG primary OSD switch
- Fix vitastor-nfs started using mount command sometimes not stopping automatically after unmount
- Fix vitastor-nfs mounts started using mount command sometimes hanging after daemonizing
- Fix merge/flatten into a pool with different object size (image migration between pools case)
- Do not print extra "PG disappeared after reload" verbose log messages for non-existing PGs
- Fix clustered Antietcd support and persistence filter
- Do not try to purge the same OSD multiple times if its multiple devices are passed to purge
- Various node.js binding fixes
Downloads
- Change etcd layout: /config/pgs is now /pg/config, /pg/stats/* is now /pgstats/*.
-
Release 1.7.1
All checks were successfulTest / buildenv (push) Successful in 15sTest / build (push) Successful in 3m56sTest / npm_lint (push) Successful in 12sTest / test_cas (push) Successful in 10sTest / make_test (push) Successful in 39sTest / test_change_pg_size (push) Successful in 11sTest / test_change_pg_count_ec (push) Successful in 36sTest / test_change_pg_count (push) Successful in 40sTest / test_create_nomaxid (push) Successful in 10sTest / test_etcd_fail (push) Successful in 1m1sTest / test_add_osd (push) Successful in 2m46sTest / test_interrupted_rebalance_imm (push) Successful in 1m50sTest / test_interrupted_rebalance (push) Successful in 1m58sTest / test_failure_domain (push) Successful in 42sTest / test_snapshot (push) Successful in 57sTest / test_interrupted_rebalance_ec (push) Successful in 1m56sTest / test_snapshot_ec (push) Successful in 25sTest / test_minsize_1 (push) Successful in 17sTest / test_interrupted_rebalance_ec_imm (push) Successful in 1m24sTest / test_rm (push) Successful in 17sTest / test_move_reappear (push) Successful in 24sTest / test_snapshot_down (push) Successful in 31sTest / test_snapshot_down_ec (push) Successful in 30sTest / test_splitbrain (push) Successful in 29sTest / test_snapshot_chain (push) Successful in 2m38sTest / test_snapshot_chain_ec (push) Successful in 3m13sTest / test_rebalance_verify_imm (push) Successful in 4m39sTest / test_root_node (push) Successful in 15sTest / test_rebalance_verify (push) Successful in 5m36sTest / test_switch_primary (push) Successful in 41sTest / test_write (push) Successful in 44sTest / test_rebalance_verify_ec_imm (push) Successful in 4m4sTest / test_write_no_same (push) Successful in 22sTest / test_write_xor (push) Successful in 1m7sTest / test_rebalance_verify_ec (push) Successful in 7m23sTest / test_heal_pg_size_2 (push) Successful in 4m10sTest / test_heal_csum_32k_dmj (push) Successful in 4m46sTest / test_heal_csum_4k_dmj (push) Successful in 5m5sTest / test_heal_csum_32k_dj (push) Successful in 8m24sTest / test_osd_tags (push) Successful in 23sTest / test_enospc (push) Successful in 1m27sTest / test_enospc_xor (push) Successful in 1m59sTest / test_heal_csum_4k (push) Successful in 4m33sTest / test_enospc_imm (push) Successful in 58sTest / test_scrub (push) Successful in 44sTest / test_enospc_imm_xor (push) Successful in 1m11sTest / test_scrub_zero_osd_2 (push) Successful in 25sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 43sTest / test_scrub_pg_size_3 (push) Successful in 53sTest / test_nfs (push) Successful in 20sTest / test_scrub_ec (push) Successful in 27sTest / test_heal_csum_32k (push) Successful in 4m3sTest / test_scrub_xor (push) Successful in 38sTest / test_heal_csum_4k_dj (push) Successful in 3m23sTest / test_heal_ec (push) Successful in 3m46sreleased this
2024-07-16 00:07:03 +03:00 | 422 commits to master since this releaseSome stupid hotfixes for 1.7.0 :)
- Fix NFS mount
- Fix modify-osd
- Fix use_antietcd not taken from /etc
Downloads
-
Release 1.7.0
Some checks failedTest / buildenv (push) Successful in 14sTest / build (push) Successful in 3m52sTest / npm_lint (push) Successful in 13sTest / test_cas (push) Successful in 14sTest / make_test (push) Successful in 41sTest / test_change_pg_size (push) Successful in 11sTest / test_change_pg_count (push) Successful in 40sTest / test_change_pg_count_ec (push) Successful in 40sTest / test_create_nomaxid (push) Successful in 10sTest / test_etcd_fail (push) Successful in 56sTest / test_add_osd (push) Successful in 2m52sTest / test_interrupted_rebalance_imm (push) Successful in 2m1sTest / test_interrupted_rebalance (push) Successful in 2m41sTest / test_failure_domain (push) Successful in 46sTest / test_interrupted_rebalance_ec (push) Successful in 2m5sTest / test_snapshot (push) Successful in 23sTest / test_minsize_1 (push) Successful in 18sTest / test_interrupted_rebalance_ec_imm (push) Successful in 1m24sTest / test_snapshot_ec (push) Successful in 31sTest / test_move_reappear (push) Successful in 21sTest / test_rm (push) Successful in 18sTest / test_snapshot_down (push) Successful in 27sTest / test_snapshot_down_ec (push) Successful in 32sTest / test_splitbrain (push) Successful in 35sTest / test_snapshot_chain (push) Successful in 2m23sTest / test_snapshot_chain_ec (push) Successful in 3m12sTest / test_rebalance_verify_imm (push) Successful in 6m5sTest / test_root_node (push) Successful in 15sTest / test_rebalance_verify (push) Successful in 6m45sTest / test_switch_primary (push) Successful in 36sTest / test_write (push) Successful in 42sTest / test_rebalance_verify_ec_imm (push) Successful in 5m6sTest / test_write_no_same (push) Successful in 24sTest / test_rebalance_verify_ec (push) Successful in 7m26sTest / test_write_xor (push) Successful in 1m56sTest / test_heal_pg_size_2 (push) Successful in 4m13sTest / test_heal_ec (push) Successful in 4m39sTest / test_heal_csum_32k_dmj (push) Successful in 5m49sTest / test_heal_csum_32k_dj (push) Successful in 5m47sTest / test_heal_csum_32k (push) Successful in 6m35sTest / test_osd_tags (push) Successful in 25sTest / test_enospc (push) Successful in 1m52sTest / test_heal_csum_4k_dj (push) Successful in 6m9sTest / test_enospc_imm (push) Successful in 43sTest / test_enospc_xor (push) Successful in 1m4sTest / test_scrub (push) Successful in 45sTest / test_enospc_imm_xor (push) Successful in 1m10sTest / test_scrub_zero_osd_2 (push) Successful in 27sTest / test_scrub_xor (push) Successful in 34sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 42sTest / test_scrub_pg_size_3 (push) Successful in 57sTest / test_scrub_ec (push) Successful in 27sTest / test_heal_csum_4k (push) Successful in 9m58sTest / test_heal_csum_4k_dmj (push) Successful in 3m33sTest / test_nfs (push) Failing after 2m17sreleased this
2024-07-15 11:48:35 +03:00 | 429 commits to master since this releaseOmnidirectional release
New features:
- Support handling TCP I/O in simple separate io_uring-based I/O threads - may increase linear performance to 7-8 GB/s
- Experimental internal etcd replacement - antietcd
- Monitor now has a built-in Prometheus exporter
- Added a reference Grafana dashboard
- Implement vitastor-cli osd-tree and ls-osd commands
- Implement vitastor-cli modify-osd command
- Implement vitastor-cli pg-list command
- Implement VitastorFS defragmentation
- Implement basic node.js binding (not published on npm yet)
Changes:
- Make immediate_commit=all the default everywhere to match default vitastor-disk behaviour
- Make pool-create error message more obvious and add details to it
- Set default etcd_ws_keepalive_interval to 5 seconds (speedup client etcd failover)
- Support OpenStack 2023.2 in Nova and Cinder drivers/patches
- Add patches for libvirt 10.x
- Add patches for QEMU 8.2 and 9.0
- Implement internal restart / run_forever in monitor
- Some source tree refactoring - sources are now moved into subdirectories, monitor is now split into multiple files
- Add vitastor_c_inode_get_immediate_commit in vitastor_c client library
- Make vitastor_kv.h header public
Bug fixes:
- Fix total statistics usec/count/bytes not being reported when delta (bps/iops/lat) is zero
- Prevent infinite loop in NFS on files with incorrect metadata pointing to an empty volume
- Fix READDIR offsets (cookies) in VitastorFS sometimes leading to client infinite loops when reading a directory
- Fix a rare infinite loop during OSD journal flushing (OSD hanging and eating 100 % CPU)
- Fix several bugs which could lead to lost writes in setups without immediate_commit:
- Client library treated writes as completed before actually completing them, thus missing them in a subsequent fsync
- Client library didn't repeat writes on the new PG primary when it changed
- OSDs didn't drop peer connections with dirty writes when stopping PG
- Fix Block Pseudo-FS initialization leading to ENOENTs some time after start
- Fix vitastor-cli merge-based commands (merge/flatten/rm snapshot) slowing down and finally failing when using CAS optimistic locks
- Fix pool create/modify --block_size validation
- Fix TTL comparison for determining failed lease/keepalive requests in OSD
- Add support for size suffixes in pool-create --block_size and --immediate_commit values
Downloads
-
Release 1.6.1
All checks were successfulTest / buildenv (push) Successful in 11sTest / build (push) Successful in 3m20sTest / npm_lint (push) Successful in 9sTest / test_cas (push) Successful in 10sTest / make_test (push) Successful in 37sTest / test_change_pg_size (push) Successful in 9sTest / test_change_pg_count_ec (push) Successful in 31sTest / test_change_pg_count (push) Successful in 37sTest / test_create_nomaxid (push) Successful in 8sTest / test_etcd_fail (push) Successful in 59sTest / test_add_osd (push) Successful in 2m43sTest / test_interrupted_rebalance_imm (push) Successful in 1m56sTest / test_failure_domain (push) Successful in 40sTest / test_interrupted_rebalance_ec (push) Successful in 2m0sTest / test_interrupted_rebalance (push) Successful in 2m58sTest / test_snapshot (push) Successful in 23sTest / test_minsize_1 (push) Successful in 15sTest / test_interrupted_rebalance_ec_imm (push) Successful in 1m22sTest / test_move_reappear (push) Successful in 21sTest / test_snapshot_ec (push) Successful in 30sTest / test_rm (push) Successful in 15sTest / test_snapshot_down (push) Successful in 28sTest / test_snapshot_down_ec (push) Successful in 29sTest / test_splitbrain (push) Successful in 24sTest / test_snapshot_chain (push) Successful in 2m25sTest / test_snapshot_chain_ec (push) Successful in 2m59sTest / test_rebalance_verify_imm (push) Successful in 3m16sTest / test_root_node (push) Successful in 10sTest / test_rebalance_verify (push) Successful in 3m50sTest / test_switch_primary (push) Successful in 37sTest / test_write (push) Successful in 39sTest / test_write_no_same (push) Successful in 13sTest / test_write_xor (push) Successful in 1m20sTest / test_rebalance_verify_ec (push) Successful in 4m20sTest / test_rebalance_verify_ec_imm (push) Successful in 3m54sTest / test_heal_pg_size_2 (push) Successful in 3m25sTest / test_heal_csum_32k_dmj (push) Successful in 5m52sTest / test_heal_ec (push) Successful in 6m12sTest / test_heal_csum_32k_dj (push) Successful in 5m40sTest / test_heal_csum_32k (push) Successful in 6m21sTest / test_osd_tags (push) Successful in 21sTest / test_enospc (push) Successful in 2m25sTest / test_heal_csum_4k_dmj (push) Successful in 6m5sTest / test_heal_csum_4k_dj (push) Successful in 6m3sTest / test_heal_csum_4k (push) Successful in 6m1sTest / test_scrub (push) Successful in 43sTest / test_enospc_imm (push) Successful in 47sTest / test_enospc_xor (push) Successful in 1m38sTest / test_enospc_imm_xor (push) Successful in 1m0sTest / test_scrub_zero_osd_2 (push) Successful in 26sTest / test_scrub_xor (push) Successful in 36sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 33sTest / test_scrub_ec (push) Successful in 26sTest / test_scrub_pg_size_3 (push) Successful in 47sTest / test_nfs (push) Successful in 16sreleased this
2024-04-22 02:01:29 +03:00 | 502 commits to master since this releaseA bunch of monitor fixes
- Add noout flag for OSDs (/vitastor/config/osd/xx)
- Fix "effective" size of degraded PGs (and thus "used space") calculation in monitor
- Fix monitor not clearing PGs of deleted pools
- Fix incorrect PG generation with hosts with 0 OSDs
- Fix monitor crashing during primary OSD recheck when pool has no PGs
- Fix monitor crashing when node_placement included non-existing OSDs
- Fix possible data movement after removing OSDs reweighted to 0
- Remove extra empty keys from pool configurations created by vitastor-cli create-pool
- Fix 32-bit build
Downloads
-
Release 1.6.0
All checks were successfulTest / buildenv (push) Successful in 11sTest / build (push) Successful in 3m17sTest / test_cas (push) Successful in 11sTest / make_test (push) Successful in 37sTest / test_change_pg_count (push) Successful in 36sTest / test_change_pg_size (push) Successful in 8sTest / test_change_pg_count_ec (push) Successful in 33sTest / test_create_nomaxid (push) Successful in 7sTest / test_etcd_fail (push) Successful in 53sTest / test_add_osd (push) Successful in 2m38sTest / test_interrupted_rebalance (push) Successful in 2m56sTest / test_failure_domain (push) Successful in 11sTest / test_interrupted_rebalance_imm (push) Successful in 3m6sTest / test_interrupted_rebalance_ec (push) Successful in 2m37sTest / test_snapshot_ec (push) Successful in 36sTest / test_snapshot (push) Successful in 38sTest / test_minsize_1 (push) Successful in 19sTest / test_rm (push) Successful in 16sTest / test_move_reappear (push) Successful in 22sTest / test_interrupted_rebalance_ec_imm (push) Successful in 2m27sTest / test_snapshot_down (push) Successful in 24sTest / test_snapshot_down_ec (push) Successful in 25sTest / test_splitbrain (push) Successful in 18sTest / test_snapshot_chain (push) Successful in 2m31sTest / test_snapshot_chain_ec (push) Successful in 3m1sTest / test_rebalance_verify_imm (push) Successful in 3m25sTest / test_root_node (push) Successful in 8sTest / test_rebalance_verify (push) Successful in 4m4sTest / test_switch_primary (push) Successful in 34sTest / test_write (push) Successful in 54sTest / test_write_xor (push) Successful in 52sTest / test_write_no_same (push) Successful in 13sTest / test_rebalance_verify_ec (push) Successful in 4m13sTest / test_rebalance_verify_ec_imm (push) Successful in 4m9sTest / test_heal_pg_size_2 (push) Successful in 4m30sTest / test_heal_ec (push) Successful in 5m16sTest / test_heal_csum_32k_dmj (push) Successful in 6m21sTest / test_heal_csum_32k_dj (push) Successful in 5m40sTest / test_heal_csum_32k (push) Successful in 6m42sTest / test_osd_tags (push) Successful in 39sTest / test_heal_csum_4k_dmj (push) Successful in 6m35sTest / test_enospc (push) Successful in 1m43sTest / test_heal_csum_4k (push) Successful in 6m27sTest / test_heal_csum_4k_dj (push) Successful in 6m31sTest / test_enospc_xor (push) Successful in 1m42sTest / test_scrub_zero_osd_2 (push) Successful in 39sTest / test_scrub (push) Successful in 41sTest / test_enospc_imm (push) Successful in 46sTest / test_enospc_imm_xor (push) Successful in 52sTest / test_scrub_xor (push) Successful in 32sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 39sTest / test_scrub_ec (push) Successful in 34sTest / test_nfs (push) Successful in 16sTest / test_scrub_pg_size_3 (push) Successful in 46sreleased this
2024-04-09 16:57:59 +03:00 | 515 commits to master since this releaseNew features:
- Implement "hierarchical failure domains" and other complex distribution rules, for example
EC 4+2 over 3 DC, with 2 chunks per each DC (documentation) - Make OSDs handle ENOSPC - now cluster stays online even if some OSDs fill up
to 100 %, only writes requiring free space hang - Implement Stage/Unstage & volume locking for CSI to prevent parallel mounting
and/or modifications of the same volume - Warn about full and almost full OSDs in vitastor-cli status
- Add an experimental NBD netlink map mode as an option (documentation)
- Add --pg parameter to vitastor-cli describe, print objects with 0x in human-readable format too
- Add administration docs
Bug fixes:
- Fix client operation retry timeout - previously the timeout wasn't applied and writes were
retries almost instantly - Fix monitors crashing on invalid pool configurations
- Fix journaling - make each journal write wait for all previous journal writes
- Fix monitor thinking that OSD weight is 0 after deleting /osd/config/ key online
- Fix a write stall caused by flusher possibly not trimming journal on rollback
- Set 32k csum_block_size for HDD by default in vitastor-disk
Downloads
- Implement "hierarchical failure domains" and other complex distribution rules, for example