• Release 1.10.0
    All checks were successful
    Test / buildenv (push) Successful in 12s
    Test / build (push) Successful in 4m10s
    Test / npm_lint (push) Successful in 11s
    Test / test_cas (push) Successful in 8s
    Test / make_test (push) Successful in 36s
    Test / test_change_pg_count (push) Successful in 19s
    Test / test_change_pg_size (push) Successful in 9s
    Test / test_change_pg_count_ec (push) Successful in 22s
    Test / test_create_nomaxid (push) Successful in 9s
    Test / test_add_osd (push) Successful in 1m7s
    Test / test_etcd_fail_antietcd (push) Successful in 41s
    Test / test_etcd_fail (push) Successful in 44s
    Test / test_interrupted_rebalance (push) Successful in 47s
    Test / test_create_halfhost (push) Successful in 8s
    Test / test_interrupted_rebalance_imm (push) Successful in 46s
    Test / test_failure_domain (push) Successful in 10s
    Test / test_snapshot (push) Successful in 14s
    Test / test_snapshot_ec (push) Successful in 16s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 48s
    Test / test_interrupted_rebalance_ec (push) Successful in 50s
    Test / test_minsize_1 (push) Successful in 14s
    Test / test_rm (push) Successful in 12s
    Test / test_move_reappear (push) Successful in 18s
    Test / test_snapshot_down (push) Successful in 13s
    Test / test_snapshot_down_ec (push) Successful in 13s
    Test / test_snapshot_chain (push) Successful in 30s
    Test / test_splitbrain (push) Successful in 14s
    Test / test_snapshot_chain_ec (push) Successful in 38s
    Test / test_rebalance_verify (push) Successful in 1m47s
    Test / test_rebalance_verify_imm (push) Successful in 1m47s
    Test / test_dd (push) Successful in 15s
    Test / test_root_node (push) Successful in 11s
    Test / test_rebalance_verify_ec (push) Successful in 1m54s
    Test / test_rebalance_verify_ec_imm (push) Successful in 1m58s
    Test / test_write_no_same (push) Successful in 9s
    Test / test_switch_primary (push) Successful in 35s
    Test / test_write (push) Successful in 34s
    Test / test_write_xor (push) Successful in 37s
    Test / test_heal_pg_size_2 (push) Successful in 2m16s
    Test / test_heal_ec (push) Successful in 2m19s
    Test / test_heal_antietcd (push) Successful in 2m18s
    Test / test_heal_csum_32k_dmj (push) Successful in 2m20s
    Test / test_heal_csum_32k_dj (push) Successful in 2m20s
    Test / test_heal_csum_32k (push) Successful in 2m19s
    Test / test_heal_csum_4k_dj (push) Successful in 2m16s
    Test / test_heal_csum_4k_dmj (push) Successful in 2m22s
    Test / test_resize_auto (push) Successful in 11s
    Test / test_resize (push) Successful in 15s
    Test / test_snapshot_pool2 (push) Successful in 16s
    Test / test_osd_tags (push) Successful in 8s
    Test / test_enospc (push) Successful in 11s
    Test / test_enospc_imm (push) Successful in 12s
    Test / test_enospc_xor (push) Successful in 15s
    Test / test_enospc_imm_xor (push) Successful in 14s
    Test / test_scrub_zero_osd_2 (push) Successful in 13s
    Test / test_scrub (push) Successful in 16s
    Test / test_scrub_xor (push) Successful in 15s
    Test / test_scrub_pg_size_3 (push) Successful in 17s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 16s
    Test / test_scrub_ec (push) Successful in 15s
    Test / test_nfs (push) Successful in 13s
    Test / test_heal_csum_4k (push) Successful in 2m19s
    Stable

    vitalif released this 2024-12-19 15:49:19 +03:00 | 271 commits to master since this release

    New 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
  • v1.9.3 f69f801ffb

    Release 1.9.3
    Some checks failed
    Test / buildenv (push) Successful in 10s
    Test / build (push) Successful in 4m13s
    Test / npm_lint (push) Successful in 8s
    Test / test_cas (push) Successful in 7s
    Test / test_change_pg_count (push) Successful in 17s
    Test / test_change_pg_count_ec (push) Successful in 18s
    Test / make_test (push) Successful in 32s
    Test / test_change_pg_size (push) Successful in 8s
    Test / test_create_nomaxid (push) Successful in 7s
    Test / test_etcd_fail (push) Successful in 38s
    Test / test_add_osd (push) Successful in 1m12s
    Test / test_interrupted_rebalance (push) Successful in 45s
    Test / test_interrupted_rebalance_imm (push) Successful in 44s
    Test / test_interrupted_rebalance_ec (push) Successful in 46s
    Test / test_failure_domain (push) Successful in 7s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 46s
    Test / test_snapshot (push) Successful in 12s
    Test / test_snapshot_ec (push) Successful in 12s
    Test / test_minsize_1 (push) Successful in 14s
    Test / test_rm (push) Successful in 9s
    Test / test_move_reappear (push) Successful in 17s
    Test / test_snapshot_down (push) Successful in 13s
    Test / test_etcd_fail_antietcd (push) Failing after 2m20s
    Test / test_snapshot_chain (push) Successful in 33s
    Test / test_snapshot_down_ec (push) Successful in 13s
    Test / test_snapshot_chain_ec (push) Successful in 39s
    Test / test_splitbrain (push) Successful in 13s
    Test / test_rebalance_verify (push) Successful in 1m43s
    Test / test_rebalance_verify_imm (push) Successful in 1m44s
    Test / test_root_node (push) Successful in 9s
    Test / test_dd (push) Successful in 13s
    Test / test_rebalance_verify_ec (push) Successful in 1m54s
    Test / test_rebalance_verify_ec_imm (push) Successful in 1m56s
    Test / test_write_no_same (push) Successful in 8s
    Test / test_switch_primary (push) Successful in 32s
    Test / test_write (push) Successful in 31s
    Test / test_write_xor (push) Successful in 36s
    Test / test_heal_pg_size_2 (push) Successful in 2m15s
    Test / test_heal_ec (push) Successful in 2m16s
    Test / test_heal_antietcd (push) Successful in 2m16s
    Test / test_heal_csum_32k_dmj (push) Successful in 2m16s
    Test / test_heal_csum_32k_dj (push) Successful in 2m17s
    Test / test_heal_csum_4k_dmj (push) Successful in 2m11s
    Test / test_heal_csum_32k (push) Successful in 2m18s
    Test / test_heal_csum_4k_dj (push) Successful in 2m13s
    Test / test_resize_auto (push) Successful in 8s
    Test / test_resize (push) Successful in 14s
    Test / test_osd_tags (push) Successful in 7s
    Test / test_snapshot_pool2 (push) Successful in 15s
    Test / test_enospc (push) Successful in 12s
    Test / test_enospc_xor (push) Successful in 11s
    Test / test_enospc_imm (push) Successful in 12s
    Test / test_enospc_imm_xor (push) Successful in 13s
    Test / test_scrub (push) Successful in 14s
    Test / test_scrub_zero_osd_2 (push) Successful in 14s
    Test / test_scrub_xor (push) Successful in 14s
    Test / test_scrub_pg_size_3 (push) Successful in 15s
    Test / test_scrub_ec (push) Successful in 13s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 17s
    Test / test_nfs (push) Successful in 11s
    Test / test_heal_csum_4k (push) Successful in 2m17s
    Stable

    vitalif released 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
  • v1.9.2 79719e44ac

    Release 1.9.2
    All checks were successful
    Test / buildenv (push) Successful in 10s
    Test / build (push) Successful in 3m57s
    Test / npm_lint (push) Successful in 8s
    Test / test_cas (push) Successful in 8s
    Test / test_change_pg_count (push) Successful in 19s
    Test / test_change_pg_count_ec (push) Successful in 19s
    Test / make_test (push) Successful in 33s
    Test / test_change_pg_size (push) Successful in 7s
    Test / test_create_nomaxid (push) Successful in 7s
    Test / test_add_osd (push) Successful in 1m6s
    Test / test_etcd_fail (push) Successful in 38s
    Test / test_etcd_fail_antietcd (push) Successful in 38s
    Test / test_interrupted_rebalance (push) Successful in 45s
    Test / test_failure_domain (push) Successful in 8s
    Test / test_snapshot (push) Successful in 13s
    Test / test_interrupted_rebalance_imm (push) Successful in 46s
    Test / test_interrupted_rebalance_ec (push) Successful in 46s
    Test / test_snapshot_ec (push) Successful in 12s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 45s
    Test / test_rm (push) Successful in 8s
    Test / test_minsize_1 (push) Successful in 14s
    Test / test_move_reappear (push) Successful in 16s
    Test / test_snapshot_down (push) Successful in 11s
    Test / test_snapshot_down_ec (push) Successful in 11s
    Test / test_snapshot_chain (push) Successful in 28s
    Test / test_splitbrain (push) Successful in 11s
    Test / test_snapshot_chain_ec (push) Successful in 34s
    Test / test_rebalance_verify (push) Successful in 1m31s
    Test / test_rebalance_verify_imm (push) Successful in 1m29s
    Test / test_root_node (push) Successful in 8s
    Test / test_dd (push) Successful in 12s
    Test / test_rebalance_verify_ec (push) Successful in 1m40s
    Test / test_rebalance_verify_ec_imm (push) Successful in 1m41s
    Test / test_write_no_same (push) Successful in 7s
    Test / test_switch_primary (push) Successful in 31s
    Test / test_write (push) Successful in 30s
    Test / test_write_xor (push) Successful in 36s
    Test / test_heal_pg_size_2 (push) Successful in 2m15s
    Test / test_heal_ec (push) Successful in 2m15s
    Test / test_heal_antietcd (push) Successful in 2m16s
    Test / test_heal_csum_32k_dmj (push) Successful in 2m17s
    Test / test_heal_csum_32k_dj (push) Successful in 2m16s
    Test / test_heal_csum_32k (push) Successful in 2m18s
    Test / test_heal_csum_4k_dmj (push) Successful in 2m17s
    Test / test_heal_csum_4k_dj (push) Successful in 2m17s
    Test / test_osd_tags (push) Successful in 7s
    Test / test_snapshot_pool2 (push) Successful in 13s
    Test / test_enospc (push) Successful in 10s
    Test / test_enospc_xor (push) Successful in 12s
    Test / test_enospc_imm (push) Successful in 10s
    Test / test_enospc_imm_xor (push) Successful in 13s
    Test / test_scrub (push) Successful in 13s
    Test / test_scrub_zero_osd_2 (push) Successful in 12s
    Test / test_scrub_xor (push) Successful in 13s
    Test / test_scrub_pg_size_3 (push) Successful in 14s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 15s
    Test / test_scrub_ec (push) Successful in 13s
    Test / test_nfs (push) Successful in 11s
    Test / test_heal_csum_4k (push) Successful in 2m14s
    Stable

    vitalif released this 2024-10-20 01:49:13 +03:00 | 341 commits to master since this release

    New 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
  • v1.9.1 99adbb9483

    Release 1.9.1
    All checks were successful
    Test / buildenv (push) Successful in 10s
    Test / build (push) Successful in 12s
    Test / npm_lint (push) Successful in 8s
    Test / test_cas (push) Successful in 9s
    Test / test_change_pg_count (push) Successful in 19s
    Test / test_change_pg_count_ec (push) Successful in 18s
    Test / make_test (push) Successful in 33s
    Test / test_change_pg_size (push) Successful in 8s
    Test / test_create_nomaxid (push) Successful in 9s
    Test / test_add_osd (push) Successful in 52s
    Test / test_etcd_fail_antietcd (push) Successful in 39s
    Test / test_etcd_fail (push) Successful in 43s
    Test / test_interrupted_rebalance (push) Successful in 47s
    Test / test_failure_domain (push) Successful in 7s
    Test / test_interrupted_rebalance_imm (push) Successful in 45s
    Test / test_snapshot (push) Successful in 13s
    Test / test_snapshot_ec (push) Successful in 14s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 45s
    Test / test_interrupted_rebalance_ec (push) Successful in 49s
    Test / test_minsize_1 (push) Successful in 14s
    Test / test_move_reappear (push) Successful in 17s
    Test / test_rm (push) Successful in 10s
    Test / test_snapshot_down (push) Successful in 11s
    Test / test_snapshot_down_ec (push) Successful in 11s
    Test / test_snapshot_chain (push) Successful in 27s
    Test / test_splitbrain (push) Successful in 11s
    Test / test_snapshot_chain_ec (push) Successful in 34s
    Test / test_rebalance_verify (push) Successful in 1m32s
    Test / test_rebalance_verify_imm (push) Successful in 1m36s
    Test / test_dd (push) Successful in 12s
    Test / test_rebalance_verify_ec (push) Successful in 1m40s
    Test / test_root_node (push) Successful in 9s
    Test / test_rebalance_verify_ec_imm (push) Successful in 1m42s
    Test / test_write_no_same (push) Successful in 8s
    Test / test_switch_primary (push) Successful in 32s
    Test / test_write (push) Successful in 33s
    Test / test_write_xor (push) Successful in 37s
    Test / test_heal_pg_size_2 (push) Successful in 2m16s
    Test / test_heal_ec (push) Successful in 2m17s
    Test / test_heal_antietcd (push) Successful in 2m17s
    Test / test_heal_csum_32k_dmj (push) Successful in 2m17s
    Test / test_heal_csum_32k_dj (push) Successful in 2m16s
    Test / test_heal_csum_4k_dmj (push) Successful in 2m17s
    Test / test_heal_csum_32k (push) Successful in 2m21s
    Test / test_osd_tags (push) Successful in 9s
    Test / test_heal_csum_4k_dj (push) Successful in 2m18s
    Test / test_enospc (push) Successful in 10s
    Test / test_enospc_imm (push) Successful in 11s
    Test / test_enospc_xor (push) Successful in 13s
    Test / test_enospc_imm_xor (push) Successful in 14s
    Test / test_scrub (push) Successful in 13s
    Test / test_scrub_zero_osd_2 (push) Successful in 14s
    Test / test_scrub_xor (push) Successful in 13s
    Test / test_scrub_pg_size_3 (push) Successful in 15s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 15s
    Test / test_scrub_ec (push) Successful in 14s
    Test / test_nfs (push) Successful in 11s
    Test / test_heal_csum_4k (push) Successful in 2m25s
    Stable

    vitalif released this 2024-09-14 19:17:30 +03:00 | 367 commits to master since this release

    Hotfixes 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
  • v1.9.0 fe8e611e23

    Release 1.9.0
    All checks were successful
    Test / buildenv (push) Successful in 9s
    Test / build (push) Successful in 3m48s
    Test / npm_lint (push) Successful in 9s
    Test / test_cas (push) Successful in 8s
    Test / test_change_pg_count (push) Successful in 19s
    Test / test_change_pg_count_ec (push) Successful in 20s
    Test / make_test (push) Successful in 35s
    Test / test_change_pg_size (push) Successful in 8s
    Test / test_create_nomaxid (push) Successful in 8s
    Test / test_add_osd (push) Successful in 1m10s
    Test / test_etcd_fail_antietcd (push) Successful in 38s
    Test / test_interrupted_rebalance (push) Successful in 46s
    Test / test_interrupted_rebalance_imm (push) Successful in 45s
    Test / test_interrupted_rebalance_ec (push) Successful in 48s
    Test / test_failure_domain (push) Successful in 9s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 46s
    Test / test_snapshot (push) Successful in 12s
    Test / test_snapshot_ec (push) Successful in 13s
    Test / test_minsize_1 (push) Successful in 14s
    Test / test_rm (push) Successful in 10s
    Test / test_move_reappear (push) Successful in 16s
    Test / test_snapshot_down (push) Successful in 11s
    Test / test_snapshot_chain (push) Successful in 27s
    Test / test_snapshot_down_ec (push) Successful in 13s
    Test / test_snapshot_chain_ec (push) Successful in 32s
    Test / test_splitbrain (push) Successful in 12s
    Test / test_rebalance_verify (push) Successful in 1m27s
    Test / test_rebalance_verify_imm (push) Successful in 1m26s
    Test / test_dd (push) Successful in 9s
    Test / test_rebalance_verify_ec (push) Successful in 1m33s
    Test / test_root_node (push) Successful in 9s
    Test / test_switch_primary (push) Successful in 32s
    Test / test_write (push) Successful in 31s
    Test / test_write_no_same (push) Successful in 8s
    Test / test_write_xor (push) Successful in 33s
    Test / test_rebalance_verify_ec_imm (push) Successful in 1m33s
    Test / test_heal_pg_size_2 (push) Successful in 2m16s
    Test / test_heal_ec (push) Successful in 2m16s
    Test / test_heal_antietcd (push) Successful in 2m17s
    Test / test_heal_csum_32k_dmj (push) Successful in 2m17s
    Test / test_heal_csum_32k_dj (push) Successful in 2m18s
    Test / test_heal_csum_32k (push) Successful in 2m17s
    Test / test_osd_tags (push) Successful in 7s
    Test / test_enospc (push) Successful in 11s
    Test / test_enospc_xor (push) Successful in 14s
    Test / test_enospc_imm (push) Successful in 10s
    Test / test_enospc_imm_xor (push) Successful in 12s
    Test / test_scrub (push) Successful in 13s
    Test / test_scrub_zero_osd_2 (push) Successful in 12s
    Test / test_scrub_xor (push) Successful in 13s
    Test / test_heal_csum_4k_dmj (push) Successful in 2m17s
    Test / test_scrub_pg_size_3 (push) Successful in 16s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 17s
    Test / test_heal_csum_4k_dj (push) Successful in 2m18s
    Test / test_nfs (push) Successful in 11s
    Test / test_scrub_ec (push) Successful in 15s
    Test / test_heal_csum_4k (push) Successful in 2m19s
    Test / test_etcd_fail (push) Successful in 42s
    Stable

    vitalif released 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
  • v1.8.0 ce359c5a69

    Release 1.8.0
    All checks were successful
    Test / buildenv (push) Successful in 9s
    Test / build (push) Successful in 3m50s
    Test / npm_lint (push) Successful in 8s
    Test / test_cas (push) Successful in 6s
    Test / test_change_pg_count (push) Successful in 19s
    Test / test_change_pg_count_ec (push) Successful in 18s
    Test / make_test (push) Successful in 34s
    Test / test_change_pg_size (push) Successful in 7s
    Test / test_create_nomaxid (push) Successful in 6s
    Test / test_add_osd (push) Successful in 1m7s
    Test / test_etcd_fail_antietcd (push) Successful in 38s
    Test / test_etcd_fail (push) Successful in 42s
    Test / test_interrupted_rebalance (push) Successful in 45s
    Test / test_failure_domain (push) Successful in 7s
    Test / test_snapshot (push) Successful in 12s
    Test / test_interrupted_rebalance_imm (push) Successful in 44s
    Test / test_snapshot_ec (push) Successful in 12s
    Test / test_interrupted_rebalance_ec (push) Successful in 46s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 46s
    Test / test_minsize_1 (push) Successful in 12s
    Test / test_rm (push) Successful in 9s
    Test / test_move_reappear (push) Successful in 16s
    Test / test_snapshot_down (push) Successful in 11s
    Test / test_snapshot_down_ec (push) Successful in 12s
    Test / test_snapshot_chain (push) Successful in 28s
    Test / test_splitbrain (push) Successful in 11s
    Test / test_snapshot_chain_ec (push) Successful in 35s
    Test / test_rebalance_verify (push) Successful in 1m25s
    Test / test_rebalance_verify_imm (push) Successful in 1m25s
    Test / test_root_node (push) Successful in 7s
    Test / test_rebalance_verify_ec (push) Successful in 1m30s
    Test / test_rebalance_verify_ec_imm (push) Successful in 1m32s
    Test / test_write_no_same (push) Successful in 7s
    Test / test_write (push) Successful in 30s
    Test / test_switch_primary (push) Successful in 32s
    Test / test_write_xor (push) Successful in 34s
    Test / test_heal_pg_size_2 (push) Successful in 2m16s
    Test / test_heal_ec (push) Successful in 2m17s
    Test / test_heal_antietcd (push) Successful in 2m18s
    Test / test_heal_csum_32k_dmj (push) Successful in 2m20s
    Test / test_heal_csum_32k_dj (push) Successful in 2m16s
    Test / test_heal_csum_32k (push) Successful in 2m19s
    Test / test_heal_csum_4k_dmj (push) Successful in 2m20s
    Test / test_osd_tags (push) Successful in 8s
    Test / test_heal_csum_4k_dj (push) Successful in 2m17s
    Test / test_enospc (push) Successful in 10s
    Test / test_enospc_xor (push) Successful in 13s
    Test / test_enospc_imm (push) Successful in 12s
    Test / test_enospc_imm_xor (push) Successful in 13s
    Test / test_scrub_zero_osd_2 (push) Successful in 12s
    Test / test_scrub (push) Successful in 15s
    Test / test_scrub_xor (push) Successful in 13s
    Test / test_scrub_pg_size_3 (push) Successful in 14s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 15s
    Test / test_scrub_ec (push) Successful in 14s
    Test / test_nfs (push) Successful in 12s
    Test / test_heal_csum_4k (push) Successful in 2m16s
    Stable

    vitalif released this 2024-08-11 14:28:31 +03:00 | 397 commits to master since this release

    Bugfix 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 in incomplete 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
  • v1.7.1 e898335b8d

    Release 1.7.1
    All checks were successful
    Test / buildenv (push) Successful in 15s
    Test / build (push) Successful in 3m56s
    Test / npm_lint (push) Successful in 12s
    Test / test_cas (push) Successful in 10s
    Test / make_test (push) Successful in 39s
    Test / test_change_pg_size (push) Successful in 11s
    Test / test_change_pg_count_ec (push) Successful in 36s
    Test / test_change_pg_count (push) Successful in 40s
    Test / test_create_nomaxid (push) Successful in 10s
    Test / test_etcd_fail (push) Successful in 1m1s
    Test / test_add_osd (push) Successful in 2m46s
    Test / test_interrupted_rebalance_imm (push) Successful in 1m50s
    Test / test_interrupted_rebalance (push) Successful in 1m58s
    Test / test_failure_domain (push) Successful in 42s
    Test / test_snapshot (push) Successful in 57s
    Test / test_interrupted_rebalance_ec (push) Successful in 1m56s
    Test / test_snapshot_ec (push) Successful in 25s
    Test / test_minsize_1 (push) Successful in 17s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m24s
    Test / test_rm (push) Successful in 17s
    Test / test_move_reappear (push) Successful in 24s
    Test / test_snapshot_down (push) Successful in 31s
    Test / test_snapshot_down_ec (push) Successful in 30s
    Test / test_splitbrain (push) Successful in 29s
    Test / test_snapshot_chain (push) Successful in 2m38s
    Test / test_snapshot_chain_ec (push) Successful in 3m13s
    Test / test_rebalance_verify_imm (push) Successful in 4m39s
    Test / test_root_node (push) Successful in 15s
    Test / test_rebalance_verify (push) Successful in 5m36s
    Test / test_switch_primary (push) Successful in 41s
    Test / test_write (push) Successful in 44s
    Test / test_rebalance_verify_ec_imm (push) Successful in 4m4s
    Test / test_write_no_same (push) Successful in 22s
    Test / test_write_xor (push) Successful in 1m7s
    Test / test_rebalance_verify_ec (push) Successful in 7m23s
    Test / test_heal_pg_size_2 (push) Successful in 4m10s
    Test / test_heal_csum_32k_dmj (push) Successful in 4m46s
    Test / test_heal_csum_4k_dmj (push) Successful in 5m5s
    Test / test_heal_csum_32k_dj (push) Successful in 8m24s
    Test / test_osd_tags (push) Successful in 23s
    Test / test_enospc (push) Successful in 1m27s
    Test / test_enospc_xor (push) Successful in 1m59s
    Test / test_heal_csum_4k (push) Successful in 4m33s
    Test / test_enospc_imm (push) Successful in 58s
    Test / test_scrub (push) Successful in 44s
    Test / test_enospc_imm_xor (push) Successful in 1m11s
    Test / test_scrub_zero_osd_2 (push) Successful in 25s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 43s
    Test / test_scrub_pg_size_3 (push) Successful in 53s
    Test / test_nfs (push) Successful in 20s
    Test / test_scrub_ec (push) Successful in 27s
    Test / test_heal_csum_32k (push) Successful in 4m3s
    Test / test_scrub_xor (push) Successful in 38s
    Test / test_heal_csum_4k_dj (push) Successful in 3m23s
    Test / test_heal_ec (push) Successful in 3m46s
    Stable

    vitalif released this 2024-07-16 00:07:03 +03:00 | 422 commits to master since this release

    Some stupid hotfixes for 1.7.0 :)

    • Fix NFS mount
    • Fix modify-osd
    • Fix use_antietcd not taken from /etc
    Downloads
  • v1.7.0 989d73f874

    Release 1.7.0
    Some checks failed
    Test / buildenv (push) Successful in 14s
    Test / build (push) Successful in 3m52s
    Test / npm_lint (push) Successful in 13s
    Test / test_cas (push) Successful in 14s
    Test / make_test (push) Successful in 41s
    Test / test_change_pg_size (push) Successful in 11s
    Test / test_change_pg_count (push) Successful in 40s
    Test / test_change_pg_count_ec (push) Successful in 40s
    Test / test_create_nomaxid (push) Successful in 10s
    Test / test_etcd_fail (push) Successful in 56s
    Test / test_add_osd (push) Successful in 2m52s
    Test / test_interrupted_rebalance_imm (push) Successful in 2m1s
    Test / test_interrupted_rebalance (push) Successful in 2m41s
    Test / test_failure_domain (push) Successful in 46s
    Test / test_interrupted_rebalance_ec (push) Successful in 2m5s
    Test / test_snapshot (push) Successful in 23s
    Test / test_minsize_1 (push) Successful in 18s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m24s
    Test / test_snapshot_ec (push) Successful in 31s
    Test / test_move_reappear (push) Successful in 21s
    Test / test_rm (push) Successful in 18s
    Test / test_snapshot_down (push) Successful in 27s
    Test / test_snapshot_down_ec (push) Successful in 32s
    Test / test_splitbrain (push) Successful in 35s
    Test / test_snapshot_chain (push) Successful in 2m23s
    Test / test_snapshot_chain_ec (push) Successful in 3m12s
    Test / test_rebalance_verify_imm (push) Successful in 6m5s
    Test / test_root_node (push) Successful in 15s
    Test / test_rebalance_verify (push) Successful in 6m45s
    Test / test_switch_primary (push) Successful in 36s
    Test / test_write (push) Successful in 42s
    Test / test_rebalance_verify_ec_imm (push) Successful in 5m6s
    Test / test_write_no_same (push) Successful in 24s
    Test / test_rebalance_verify_ec (push) Successful in 7m26s
    Test / test_write_xor (push) Successful in 1m56s
    Test / test_heal_pg_size_2 (push) Successful in 4m13s
    Test / test_heal_ec (push) Successful in 4m39s
    Test / test_heal_csum_32k_dmj (push) Successful in 5m49s
    Test / test_heal_csum_32k_dj (push) Successful in 5m47s
    Test / test_heal_csum_32k (push) Successful in 6m35s
    Test / test_osd_tags (push) Successful in 25s
    Test / test_enospc (push) Successful in 1m52s
    Test / test_heal_csum_4k_dj (push) Successful in 6m9s
    Test / test_enospc_imm (push) Successful in 43s
    Test / test_enospc_xor (push) Successful in 1m4s
    Test / test_scrub (push) Successful in 45s
    Test / test_enospc_imm_xor (push) Successful in 1m10s
    Test / test_scrub_zero_osd_2 (push) Successful in 27s
    Test / test_scrub_xor (push) Successful in 34s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 42s
    Test / test_scrub_pg_size_3 (push) Successful in 57s
    Test / test_scrub_ec (push) Successful in 27s
    Test / test_heal_csum_4k (push) Successful in 9m58s
    Test / test_heal_csum_4k_dmj (push) Successful in 3m33s
    Test / test_nfs (push) Failing after 2m17s
    Stable

    vitalif released this 2024-07-15 11:48:35 +03:00 | 429 commits to master since this release

    Omnidirectional release

    New features:

    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
  • v1.6.1 9301c857b1

    Release 1.6.1
    All checks were successful
    Test / buildenv (push) Successful in 11s
    Test / build (push) Successful in 3m20s
    Test / npm_lint (push) Successful in 9s
    Test / test_cas (push) Successful in 10s
    Test / make_test (push) Successful in 37s
    Test / test_change_pg_size (push) Successful in 9s
    Test / test_change_pg_count_ec (push) Successful in 31s
    Test / test_change_pg_count (push) Successful in 37s
    Test / test_create_nomaxid (push) Successful in 8s
    Test / test_etcd_fail (push) Successful in 59s
    Test / test_add_osd (push) Successful in 2m43s
    Test / test_interrupted_rebalance_imm (push) Successful in 1m56s
    Test / test_failure_domain (push) Successful in 40s
    Test / test_interrupted_rebalance_ec (push) Successful in 2m0s
    Test / test_interrupted_rebalance (push) Successful in 2m58s
    Test / test_snapshot (push) Successful in 23s
    Test / test_minsize_1 (push) Successful in 15s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m22s
    Test / test_move_reappear (push) Successful in 21s
    Test / test_snapshot_ec (push) Successful in 30s
    Test / test_rm (push) Successful in 15s
    Test / test_snapshot_down (push) Successful in 28s
    Test / test_snapshot_down_ec (push) Successful in 29s
    Test / test_splitbrain (push) Successful in 24s
    Test / test_snapshot_chain (push) Successful in 2m25s
    Test / test_snapshot_chain_ec (push) Successful in 2m59s
    Test / test_rebalance_verify_imm (push) Successful in 3m16s
    Test / test_root_node (push) Successful in 10s
    Test / test_rebalance_verify (push) Successful in 3m50s
    Test / test_switch_primary (push) Successful in 37s
    Test / test_write (push) Successful in 39s
    Test / test_write_no_same (push) Successful in 13s
    Test / test_write_xor (push) Successful in 1m20s
    Test / test_rebalance_verify_ec (push) Successful in 4m20s
    Test / test_rebalance_verify_ec_imm (push) Successful in 3m54s
    Test / test_heal_pg_size_2 (push) Successful in 3m25s
    Test / test_heal_csum_32k_dmj (push) Successful in 5m52s
    Test / test_heal_ec (push) Successful in 6m12s
    Test / test_heal_csum_32k_dj (push) Successful in 5m40s
    Test / test_heal_csum_32k (push) Successful in 6m21s
    Test / test_osd_tags (push) Successful in 21s
    Test / test_enospc (push) Successful in 2m25s
    Test / test_heal_csum_4k_dmj (push) Successful in 6m5s
    Test / test_heal_csum_4k_dj (push) Successful in 6m3s
    Test / test_heal_csum_4k (push) Successful in 6m1s
    Test / test_scrub (push) Successful in 43s
    Test / test_enospc_imm (push) Successful in 47s
    Test / test_enospc_xor (push) Successful in 1m38s
    Test / test_enospc_imm_xor (push) Successful in 1m0s
    Test / test_scrub_zero_osd_2 (push) Successful in 26s
    Test / test_scrub_xor (push) Successful in 36s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 33s
    Test / test_scrub_ec (push) Successful in 26s
    Test / test_scrub_pg_size_3 (push) Successful in 47s
    Test / test_nfs (push) Successful in 16s
    Stable

    vitalif released this 2024-04-22 02:01:29 +03:00 | 502 commits to master since this release

    A 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
  • v1.6.0 ff4414d37e

    Release 1.6.0
    All checks were successful
    Test / buildenv (push) Successful in 11s
    Test / build (push) Successful in 3m17s
    Test / test_cas (push) Successful in 11s
    Test / make_test (push) Successful in 37s
    Test / test_change_pg_count (push) Successful in 36s
    Test / test_change_pg_size (push) Successful in 8s
    Test / test_change_pg_count_ec (push) Successful in 33s
    Test / test_create_nomaxid (push) Successful in 7s
    Test / test_etcd_fail (push) Successful in 53s
    Test / test_add_osd (push) Successful in 2m38s
    Test / test_interrupted_rebalance (push) Successful in 2m56s
    Test / test_failure_domain (push) Successful in 11s
    Test / test_interrupted_rebalance_imm (push) Successful in 3m6s
    Test / test_interrupted_rebalance_ec (push) Successful in 2m37s
    Test / test_snapshot_ec (push) Successful in 36s
    Test / test_snapshot (push) Successful in 38s
    Test / test_minsize_1 (push) Successful in 19s
    Test / test_rm (push) Successful in 16s
    Test / test_move_reappear (push) Successful in 22s
    Test / test_interrupted_rebalance_ec_imm (push) Successful in 2m27s
    Test / test_snapshot_down (push) Successful in 24s
    Test / test_snapshot_down_ec (push) Successful in 25s
    Test / test_splitbrain (push) Successful in 18s
    Test / test_snapshot_chain (push) Successful in 2m31s
    Test / test_snapshot_chain_ec (push) Successful in 3m1s
    Test / test_rebalance_verify_imm (push) Successful in 3m25s
    Test / test_root_node (push) Successful in 8s
    Test / test_rebalance_verify (push) Successful in 4m4s
    Test / test_switch_primary (push) Successful in 34s
    Test / test_write (push) Successful in 54s
    Test / test_write_xor (push) Successful in 52s
    Test / test_write_no_same (push) Successful in 13s
    Test / test_rebalance_verify_ec (push) Successful in 4m13s
    Test / test_rebalance_verify_ec_imm (push) Successful in 4m9s
    Test / test_heal_pg_size_2 (push) Successful in 4m30s
    Test / test_heal_ec (push) Successful in 5m16s
    Test / test_heal_csum_32k_dmj (push) Successful in 6m21s
    Test / test_heal_csum_32k_dj (push) Successful in 5m40s
    Test / test_heal_csum_32k (push) Successful in 6m42s
    Test / test_osd_tags (push) Successful in 39s
    Test / test_heal_csum_4k_dmj (push) Successful in 6m35s
    Test / test_enospc (push) Successful in 1m43s
    Test / test_heal_csum_4k (push) Successful in 6m27s
    Test / test_heal_csum_4k_dj (push) Successful in 6m31s
    Test / test_enospc_xor (push) Successful in 1m42s
    Test / test_scrub_zero_osd_2 (push) Successful in 39s
    Test / test_scrub (push) Successful in 41s
    Test / test_enospc_imm (push) Successful in 46s
    Test / test_enospc_imm_xor (push) Successful in 52s
    Test / test_scrub_xor (push) Successful in 32s
    Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 39s
    Test / test_scrub_ec (push) Successful in 34s
    Test / test_nfs (push) Successful in 16s
    Test / test_scrub_pg_size_3 (push) Successful in 46s
    Stable

    vitalif released this 2024-04-09 16:57:59 +03:00 | 515 commits to master since this release

    New 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