• v1.10.1 61ededa230

    vitalif released this 2025-01-03 16:22:09 +03:00 | 11 commits to master since this release

    New features:

    • Add "deleted" image flag which is set when vitastor-cli rm starts to delete an image,
      but can't delete it fully due to inactive PGs or stopped OSDs
    • Support JSON output in vitastor-disk prepare and purge
    • Show backfillfull pools in vitastor-cli status
    • Make object listings consistent (used in vitastor-cli rm/rm-data/merge/etc).
      This means that there is now a guarantee that if a data block is present when you invoke rm,
      rm will attempt to delete it, even if rm is invoked when the PG switches state. Previously in
      such cases rm could skip and leave some objects behind as garbage, and merge probably could
      incorrectly move data between snapshots.
    • Make deletions (rm/rm-data) consistent. This means that rm/rm-data will either complete
      successfully and delete all requested image data or complete with an error if some objects
      could not be deleted or if there is a possibility that some data is left on stopped OSDs.
      Previously, when some PGs or OSDs were inactive at the moment of deletion, rm-data was
      behaving incorrectly: it wasn't retrying deletions failed due to dropped OSD connections,
      it could hang waiting for PGs to activate, and it could return with a successful error
      code while some garbage was still possibly left on some OSDs. Deletions are not fully atomic
      cluster-wide yet, which means that you still have to repeat the deletion request after you
      return stopped OSDs back, but now you always know for sure if you have to repeat it.

    Bug fixes:

    • Fix vitastor-cli rm --exact / --matching command not working
    • Finally fix "Unexpected status" in the Proxmox plugin
    • Fix vitastor-cli create-snap incorrectly linking multiple snapshots in a different pool
    • Fix incomplete image parent_id loop check in OSD
    • Fix reads from snapshots in a different pool not working if there are more than 2 snapshots
    • Fix append of VITASTOR_CONF to cmdline in the opennebula prebackup script
    • Fix OSDs crashing again when the cluster is full with EC (was meant to work since 1.6.0 but didn't)
    • Improve logging of subop failures
    Downloads
     
  • v1.10.0 7fbb04fdfa

    vitalif released this 2024-12-19 15:49:19 +03:00 | 45 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 Stable

    vitalif released this 2024-11-07 01:28:31 +03:00 | 89 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 Stable

    vitalif released this 2024-10-20 01:49:13 +03:00 | 115 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 Stable

    vitalif released this 2024-09-14 19:17:30 +03:00 | 141 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 Stable

    vitalif released this 2024-09-06 01:46:16 +03:00 | 149 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 Stable

    vitalif released this 2024-08-11 14:28:31 +03:00 | 171 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 Stable

    vitalif released this 2024-07-16 00:07:03 +03:00 | 196 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 Stable

    vitalif released this 2024-07-15 11:48:35 +03:00 | 203 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 Stable

    vitalif released this 2024-04-22 02:01:29 +03:00 | 276 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