Project: LINSTOR (Runtime / Cloud Native Storage)
File: CHANGELOG-OPENAPI.md

All notable changes to Linstor OPENAPI(REST) will be documented in this file. Added force_restore parameter to backup ship, restore and schedule backups Added volume_passphrases to resource-group spawn Added volume_passphrases to ResourceDefinitionCloneRequest Added passphrase to volume-definition create Added volume definition PUT /encryption-passphrase endpoint Added initial resource definition properties to spawn command Removed everything OpenFlex related (entry-points, schemas, etc..) Added peerSlots to ResourceGroup (create, modify and spawn) Added storpoolfreecapacityoversubscriptionratio and storpooltotalcapacityoversubscriptionratio to QuerySizeInfoSpawnResult Added GET /v1/files/{extFileName}/check/{node} Added ExtFileCheckResult Added storpool_rename to SnapshotRestore and BackupSchedule Deprecated EXOS entry points Added EffectivePropertiesMap, EffectivePropertiesMapValue and PropertyWithDescription objects Added maxrollbackentries to ControllerConfigDbK8s Added GET /v1/view/backup/queue Added SnapQueue, NodeQueue, and BackupQueues objects Added POST /v1/queries/resource-groups/query-all-size-info Added QueryAllSizeInfoRequest and QueryAllSizeInfoResponse objects Added POST /v1/action/snapshot/multi as well as CreateMultiSnapshotRequest and CreateMultiSnapshotResponse objects Added POST /v1/resource-groups/{resource_group}/query-size-info Added QuerySizeInfoRequest and QuerySizeInfoResponse objects Added GET /v1/node-connections/ with filter-options ?nodea and ?nodeb Added PUT /v1/node-connections/{nodeA}/{nodeB} Added NodeConnection and NodeConnectionModify objects Added GET, POST /v1/remotes/ebs Added PUT /v1/remotes/ebs/{remoteName} Extended RemoteList with ebs_remotes Added POST /v1/nodes/ebs Extended SatelliteConfig with ebs boolean Added SnapshotVolumeNode which includes an optional state Added /v1/physical-storage/{node} to view devices for a single node Added /v1/schedules/ and /v1/schedules/{scheduleName} endpoints as well as Schedule to create, delete, modify and list schedules Added /v1/remotes/{remotename}/backups/schedule/{schedulename}/enable, disable and delete to create, delete and modify schedule-remote-rscDfn-triples Added /v1/schedules/list and /v1/schedules/list/{rscName} endpoints as well as ScheduledRscs and ScheduleDetails to list schedule-remote-rscDfn-triples Added k8s options to DB config Added NetCom properties to whitelist Added usezfsclone to clone request Added snap_name to backup create Added /v1/events/nodes SSE node events stream Added ?cached=true option for all storage-pool list APIs Added ?limit and ?offset to /v1/nodes/{node}/storage-pools/{storagepool} Added /v1/controller/backup/db to do an database online backup Added /v1/resource-definitions/{resource}/sync-status to check if resource is ready to be used Added /v1/nodes/{node}/evacuate Added /v1/stats/* endpoints for all objects Added /v1/remotes/{remote-name}/backups/info as well as BackupInfo, BackupInfoRequest, BackupInfoStorPool and BackupInfoVolume Added download_only to BackupShip and BackupRestore Added query-param "nodes" for DELETE /v1/resource-definitions/{resource}/snapshots/{snapshot} Added optional

Added Schema NodeRestore Extended PUT /v1/nodes/{node_name}/restore to accept new NodeRestore body Added resource-definition clone API POST /v1/resource-definitions/{rscname}/clone GET /v1/resource-definitions/{rscname}/clone/{clonedrsc} Added /v1/resource-groups/{resource_group}/adjust Added /v1/resource-groups/adjustall Added Backup and BackupList, as well as the entrypoint /v1/remotes/{remote_name}/backups Added S3Remote and the corresponding entrypoint /v1/remotes Added LinstorRemote and the corresponding entrypoint /v1/remotes Extended SatelliteConfig with remote_spdk boolean Added layer_stack to toggle-disk API Added layer BCACHE Schemas BCacheResource and BCacheVolume Added shared_name to ResourceWithVolumes Added makeResourceAvailable API Added diskless storage pool filter to AutoSelectFilter Added external_locking to StoragePool Added sharedspace and externallocking to PhysicalStorageStoragePoolCreate Added shared_space to StoragePool (for listing) Added EXOS API /v1/vendor/seagate/exos/defaults /v1/vendor/seagate/exos/enclosure/ /v1/vendor/seagate/exos/enclosure/{enclosure} /v1/vendor/seagate/exos/enclosure/{enclosure}/events /v1/vendor/seagate/exos/map Added ExternalFiles API with corresponding data structure /v1/files /v1/files/{extFileName} /v1/resource-definitions/{resource}/files/{extFileName} Added de-/activate to resource API /v1/resource-definitions/{resource}/resources/{node_name}/activate /v1/resource-definitions/{resource}/resources/{node_name}/deactivate Added the PropsInfo API which exposes meta information about properties: /v1/controller/properties/info /v1/controller/properties/info/all /v1/nodes/properties/info /v1/storage-pool-definitions/properties/info /v1/nodes/{node}/storage-pools/properties/info /v1/resource-definitions/properties/info /v1/resource-definitions/{resource}/resources/properties/info /v1/resource-definitions/{resource}/volume-definitions/properties/info /v1/resource-definitions/{resource}/resources/{node}/volumes/properties/info /v1/resource-definitions/{resource}/resource-connections/properties/info /v1/resource-groups/properties/info /v1/resource-groups/{resource_group}/volume-groups/properties/info /v1/resource-definitions/{resource}/drbd-proxy/properties/info Added /v1/nodes/{node}/restore Added additionalplacecount to AutoSelectFilter Added etcd.prefix to ControllerConfigDbEtcd parameters Added promotionscore and maypromote to DrbdResource object Added /v1/error-reports DELETE method, to delete a range of error reports or single ones Added SSE (Server Sent Events) url /v1/events/drbd/promotion Added /v1/view/snapshot-shippings Added optional AutoSelectFilter to resource-group/spawn Added /v1/nodes/{node}/config, that allows you to get and set the satellite config Added /v1/sos-report to create bug reports you can send to linbit Added new fields to the ErrorReport object Added /v1/resource-definitions/{resource}/snapshot-shipping Allow to modify the resource group in Resource definitions Added createTimestamp to Resource and Snapshot Added default value (null) for AutoPlaceRequest's layer_list Added /v1/view/snapshots for a faster all in one snapshot list Filter lists by properties: /v1/nodes /v1/resource-definitions /v1/resource-groups /v1/view/storage-pools /v1/view/resources Added CacheResource and CacheVolume schemas AutSelectFilter arrays are now null per default Added connections map to the DRBD resource layer data Added support for Openflex Added /v1/controller/config, that gives you the controller config information Fixed broken volume definition modify `flags` handling Added flags to volume groups (create/modify) Added WritecacheResource and WritecacheVolume schemas. Removed support for swordfish Added `withstoragepool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too Added `gross` flag for volume-definition size Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) Added query-max-volume-size to resource-groups Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers Added `reports` array field to Volume object, contains ApiCallRcs for problems Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field Added various filter query parameters Added supports_snapshots to StoragePool Added /v1/resource-groups Added /v1/resource-groups/{rscgrp}/volume-groups Moved AutoSelectFilter::place_count default indirectly to create resource implementation Added disklessonremaining to AutoSelectFilter Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) Added extmetastor_pool to DrbdVolume Added is_active field to the NetInterface type Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT Added `reports` field to StoragePool object Added /v1/view/storage-pools overview path Added uuid fields for objects Added /v1/view/resources overview path documentation schema extraction Added /v1/storage-pool-definitions object path added NVME layer object type Documentation review and updates no functional changes Initial REST API v1