All notable changes to Linstor will be documented in this file starting from version 1.19.0, for older version see github releases.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- K8s,Crd: limit number of entries in rollback resource
- gradle: on rhel based systems force to use java-11 jre
- ETCD,import: Convert Date to long
- Restore invisible key-value stores, after an old broken migration
- Cleanup orphaned ACL's in database
- Remove java.xml.bind dependency, that didn't work with java-17
- BCache suspend is not supported and wait for device to be created
- Schedules: use correct DB driver for maxretries field
- /metrics: error-report fetching exceptions always handled as timeouts
- RscDfn, peer-slots: fix incorrect cast of peer-slots when modifying resource definitions
- Volume: fix NPE on getApiData if no volumeProvider and no compatStorpool
- Force all database DATA objects to be comparable
- Added support for Microsoft Windows (storagespaces)
- Added queues for backup shipping
- Added linstor-database tool to migrate from/to different database types
- Allow drbd-option properties for node-connections
- Added support for java-17
- Update of nearly all 3rd party libraries
- Minimal required java version is now java-11
- Improved suspend-io "downtime" for snapshots
- Improved default INFO logging level
- Fixed UID-mismatch when creating rollback entries in K8s/CRD
- Resync-After: Update entries after vlm definition delete
- Resync-After: Ignore diskless resources
- Enforce s3-remotes for backup create and linstor-remotes for backup ship
- Allow node-connection drbd options
- Several fixes in backup-shipping
- Storpools can only be deleted without snapshots in addition to without volumes
- Evacuating nodes no longer create snapshots
- Resources can not be created within a resource-definition that is currently restoring a backup
- query-all-size-info API to query-size-info for all currently available resource groups
- SOS-Report has now a parent directory in the tgz file
- SharedSPName have now a less strict name checking
- Improved error handling with broken storage pools
- MakeAvailable: Fix incorrect deletion of TIE_BREAKER flag
- SOS-Report missing some rolling .log.zip files
- Offline satellite: Fixed handling of offline satellites
- Rsc,Delete,Takeover: Fix possible double tiebreaker scenarios
- Fixed DRBD config for nodes with purely numerical host names
- Remove/ignore auto-verify-algo property if disabled on controller
- NodeCon: Fixed compareTo() causing node connection paths loaded incorrectly.
- LinstorScope not always enter and exit correctly.
- Make-Available API not correctly upgrading a tiebreaker to a diskless resource.
- "StorDriver/LvcreateSnapshotOptions" and "StorDriver/ZfsSnapshotOptions" properties
- "FileSystem/User" and "FileSystem/Group" properties for root-owner of newly created FS
- Support to do multiple snapshots within one device manager run
- Autoplacer now ignores occupied values from evicted or evacuating nodes
- DrbdLayer skips processChildren when DRBD_DELETE flag is set
- Backup list can now handle more than 1000 entries in bucket (truncation/continuation was handled wrong before)
- NodeConnection path can now be deleted
- NodeConnections no longer cause NPE on satellites
- Database loading causing ClassCastException with drbd,luks,storage during toggle disk
- Aborted snapshot now always should resume-io
- auto-resync-after for DRBD will be disabled by default (because it can triggers a DRBD bug)
- Fixed available size reported by query-size-info API
- Added more details (primary keys) for database-loading exceptions
- ZFS tool checker now uses
zfs -?
- Fixed apparent ETCD corruption / database-loading bug
- Run resync-after manager on every controller startup
- query-size-info API as a better version of query-max-value-size API
- Linstor now automatically sets the resync-after property for drbd resources, grouped by storage pools
- Added automatic rs-discard-granularity management based on lsblk's DISC-GRAN
- Added
zfs list
check for ZFS support to ensure that the zfs-utils are also installed, not just the kmod - Use recommended command sequence for SED initialization and improve error recover
- Fixed DRBD size calculations with non-default peer slots
- Fixed aborting Snapshot procedure (make sure resume-io is executed)
- Fixed AutoSnapshot scheduling bug
- Fixed rollback after clearing entire PropsContainers
- Fixed that too many concurrent Snapshots led to unnecessarily long suspend-io state
- Fixed resource getting activated instead of deactivated in shared-sp
- pvdisplay now ignores drbd devices(lvm filter)
- Volume definition setSize checks now for out of bounds sizes
- Fixed typo in VDO slab size commandline argument
- Fixed peerslot check also counting diskless resources
- Fixed storage pool definition delete not checking if there are still other storage pools
- Fixed resource definition create showing real exception because of a followup exception
- Fixed resetting resource flags to now incompatible drbd resource flags
- Can now use snapshot restore on a snapshot created by a backup create
- Fixed migration of orphan objects
- Added NodeConnection API. Currently only used for path settings (similar to rscCon, but on node level)
- Only delete DRBD resource files after successful Controller connection (before on startup)
- MKFS: always skip discard on ZFS backed volumes
- Client resource DRBD ready state as soon as 2 nodes are connected (before it waited for all)
- ResourceGroup-Spawn: Always assume partial mode if resource group doesn't have any volume groups
- Upgraded okhttp 3rd party library, to fix a IPv6 TLS bug
- Satellite now only deletes old .res files after controller established connection (instead of after startup)
- Orphan StorPooDfn, KeyValueStores and SnapDfn are now deleted with all their child objects
- ErrorReports delete ignored since parameter if no other was specified
- Added SnapshotVolumeNode as part of SnapshotNode to include a snapshot state
- Status of EBS volumes and snapshots are now queried periodically
- Added property DrbdOptions/ForceInitialSync that forces thin resources to do an initial full sync
- Snapshots and SnapshotVolumes now properly delete their properties + cleanup migration existing DB entries
- Randomized Cluster/LocalId for CRD setups since all installations had the same ID
- Backup restore now creates new DRBD metadata and forces the initial sync to be a full sync
- Added basic support for SED
- Added support for Amazon EBS storage
- Added ignore reason for storage layers. Used to skip processing resource which would fail anyway.
- Improved DB-update-logging
- ZFS: only scan datasets used by Linstor
- Improved auto-diskful mechanic, also removing exceeding replicas
- Fixed backup with mixing internal and external metadata
- Fixed storage-pool size-check on snapshot restore
- Fixed several issues with backup-shipping (NPE, failed shippings, ...)
- Fixed auto snapshot not working after controller restart
- Fixed "LinStor" spelling errors
- Fixed PropsCon concurrentModExc
- Fixed very long k8s CRD DB backend Controller loading time
- Fixed loading remotes with ETCD backend
- Autosnapshot: fix property not working on RG or controller
- Added scheduled backup shipping
- SOS-Report support now sending large files
- SOS-Report added more filters
- Physical-storage api use LVM VDO commands
- Autoplace: better tiebreaker with autoplace constraints
- API Version 1.14.0
- CRD backend fixes/improvements
- Fix user DRBD verify algorithm list reading/setting
- Attempt to fix stuck volume resizes
- Fix Postgresql external files updates
- Fix support for Google/DigitalOcean S3 remotes