Longhorn v1.6.0-dev-20240105
Pre-release
Pre-release
innobead
released this
05 Jan 16:12
·
83 commits
to master
since this release
This is a sprint release for internal testing and development purposes only. DO NOT INSTALL or UPGRADE to any sprint releases, as this operation is not supported.
Issues in the sprint
Misc
- [BUG] Randomly failed to create volume with backing image 7543 - @yangchiu @ChanYiLin
- [UI][FEATURE] Longhorn snapshot space management 7522 - @scures
- [FEATURE] Restore BackingImage for BackupVolume in a new cluster 4165 - @ChanYiLin @roger-ryao
- [IMPROVEMENT] Recreate instance manager pod for v2 volume when
spdk_tgt
is dead 7551 - @derekbit @chriscchien - [FEATURE] Longhorn snapshot space management 6563 - @FrankYang0529 @yangchiu
- [BUG] After upgrade to master-head, existing volume won't rebuild replica if one deleted, and the volume keeps healthy instead of degraded 7555 - @FrankYang0529 @derekbit
- [BUG] volume engine failed to live upgrade 7548 - @derekbit @chriscchien
- [BUG] Failed to
check_volume_data
after volume engine upgrade/migration 7396 - @PhanLe1010 @james-munson @roger-ryao - [BUG] test case test_engine_image_not_fully_deployed_perform_auto_upgrade_engine failed 7540 - @c3y1huang
- [IMPROVEMENT] Expose actual size of a logical volume 5947 - @derekbit @shuo-wu @DamiaSan
- [BUG] Warning events are being spammed by Longhorn - CRD 7290 - @m-ildefons @roger-ryao
- [TASK] Introduce
upgradeVersionCheck
to decide version upgrade enforcement 7539 - @mantissahz - [BUG] Delete kubernetes node did not remove
node.longhorn.io
7475 - @ejweber @chriscchien - [IMPROVEMENT] Add reserve storage percentage of nodes setting in helm chart 5958 - @mantissahz @roger-ryao
- [BUG] Failed RWX mount due to connection timeout still happening 7301 - @james-munson
- [BUG] test case test_metric_longhorn_snapshot_actual_size_bytes failed 7532 - @yangchiu @c3y1huang
- [BUG] Test case
test_volume_reattach_after_engine_sigkill
failed 6751 - @c3y1huang - [IMPROVEMENT] Improve the profiler of longhorn-engine for runtime profiling 6282 - @Vicente-Cheng
- [IMPROVEMENT] Reconcile engine/replica instance state of v2 volume like v1 volume 7326 - @derekbit @chriscchien
- [TASK] Security vulnerabilities in docker images 7523 - @c3y1huang
- [FEATURE] Support instance-manager pod for v2 volumes on selected nodes 7015 - @derekbit @chriscchien @roger-ryao
- [BUG] V2 volume is attached to a node first, the V1 volume will fails to attach. 7511 - @c3y1huang @roger-ryao
- [FEATURE] v2 volume supports volume backup/restore 6138 - @yangchiu @derekbit
- [TASK][UI] v2 volume does not support engine image upgrade 7445 - @chriscchien @scures @roger-ryao
- [BUG] v2 volume always displays engine upgrade available on UI 7489 - @scures
- [BUG] Create volume(v1) faulted 7536 - @FrankYang0529 @chriscchien
- [BUG] Backing Image Data Inconsistency if it's Exported from a Backing Image Backed Volume 6899 - @ChanYiLin
- [BUG] Creating volume randomly failed: failed to find a node that is ready and has the default engine image 7413 - @yangchiu @PhanLe1010
- [DOC] Add missing descriptions for Helm 7485 - @mantissahz
- [IMPROVEMENT][UI] Display v2 volume actual size 7524 - @derekbit
- [IMPROVEMENT] Improve handling of 16TiB+ volumes with ext4 as the underlying file system 7423 - @mantissahz @chriscchien
- [FEATURE] Talos support 3161 - @yangchiu @c3y1huang
- [IMPROVEMENT] Rename backendStoreDriver to dataEngin in instance-manager and associated components 7480 - @yangchiu @derekbit
- [FEATURE] Flush on-the-fly IOs in the queue before snapshotting 5648 - @DamiaSan
- [IMPROVEMENT][UI] Validate volume creation according to the enabled data engines 7505 - @derekbit @chriscchien
- [FEATURE] Support v2 volume on ARM64 platform 6021 - @derekbit @chriscchien @roger-ryao
- [FEATURE] Have default priorityClass to prevent unexpected longhorn pods eviction 6528 - @mantissahz
- [CI] Add .drone.yaml in go-spdk-helper 7509 - @derekbit
- [IMPROVEMENT] Add guaranteed instanceManager CPU setting for v2 volume 7361 - @derekbit @roger-ryao
- [TASK] Update protoc to v24.3 6666 - @FrankYang0529
- [IMPROVEMENT] UI backup restoration supports v1 and v2
Data Engine
6597 - @derekbit @scures - [BUG] Running new e2e test pipeline always failed with error not ready 7484 - @PhanLe1010 @chriscchien
- [BUG] Persistent volume is not ready for workloads 6776 - @james-munson @roger-ryao
- [IMPROVEMENT] Automatically remount read-only RWO volume to read-write 6386 - @ChanYiLin @chriscchien
- [IMPROVEMENT] Support backup list if there is only v2-data-engine enabled 7486 - @derekbit @chriscchien
- [IMPROVEMENT] Upgrade CSI components to the latest patch release 7384 - @c3y1huang @roger-ryao
- [IMPROVEMENT] Add global setting for enable v1 or v2 volume support 7095 - @yangchiu @derekbit
- [BUG] Unable to create snapshot: cannot get engine client because it isn't deployed 7438 - @yangchiu @PhanLe1010
- [IMPROVEMENT] Blindly stop raid bdev exposure before exposing it for V2 volume 7324 - @yangchiu @derekbit @roger-ryao
- [IMPROVEMENT] instance-managers for v1 and v2 volumes respectively 6984 - @yangchiu @derekbit
- [FEATURE] Enable resource profiling for IM 6377 - @derekbit @roger-ryao
- [BUG] Deadlock for RWX volume if an error occurs in its share-manager pod 7183 - @derekbit @chriscchien
- [TASK] Synchronize version of CSI components in longhorn/longhorn and longhorn/longhorn-manager 7377 - @c3y1huang @roger-ryao
- [CI] longhorn-engine CI can't publish-image after longhorn-engine#954 7476 - @FrankYang0529
- [BUG] Volume conditions are not represented in the UI for v1.4.x and newer 7241 - @m-ildefons @chriscchien
- [BUG] backingimage download server error 7288 - @scures @roger-ryao
- [FEATURE] Engine upgrade enforcement 5842 - @yangchiu @c3y1huang
- [IMPROVEMENT] Add a new settings that allows Longhorn to evict replicas automatically when a node is drained 2238 - @ejweber @chriscchien
- [TASK] Upgrade csi-snapshotter to mitigate rapid retry bug 6506 - @ejweber
- [BUG] CSI components CrashLoopBackOff, failed to connect to unix://csi/csi.sock after cluster restart 7116 - @yangchiu @ejweber
- [IMPROVEMENT] Reject volume.spec.image update for v2 volumes before introducing live upgrade 7446 - @derekbit @chriscchien
- [BUG] Kubelet cannot finish terminating a pod that uses a PVC with volumeMode: Block when restarting the node 6919 - @PhanLe1010 @chriscchien
- [BUG] Test case
test_node_default_disk_labeled
failed 7385 - @derekbit @roger-ryao - [BUG] Helm2 install error: 'lookup' function not defined in validate-psp-install.yaml 6318 - @innobead @roger-ryao
- [FEATURE] Support non-disruptive volume-related setting updates 7173 - @mantissahz
- [IMPROVEMENT] BackingImage should be compressed when downloading and use the name as filename instead of UUID 7295 - @ChanYiLin @chriscchien
- [IMPROVEMENT] Reject the creation of encrypted v2 volume in validating webhook 7404 - @derekbit @chriscchien
- [FEATURE] Add linear dm device on the top of v2 volume 7357 - @derekbit @chriscchien
- [BUG] Cleint in go-spdk-helper is stuck after encoutering IO timeout 7395 - @derekbit @chriscchien
- [CI] Replace golint with golangci-lint 7366 - @FrankYang0529
- [BUG] DataEngineV2 Unable to attach a PV to a pod in the newer kernel 7190 - @yangchiu @derekbit
- [IMPROVEMENT] Longhorn-engine processes should refuse to serve requests not intended for them 5845 - @ejweber @chriscchien
- [IMPROVEMENT] Collect v2 Data Engine related info for the usage metrics 6033 - @c3y1huang @chriscchien
- [TASK] Enable s309x CI build back from maintenance 7259 - @Anarkis
- [FEATURE] Update base image of Longhorn components to BCI 15.5 6206 - @nitendra-suse
- [IMPROVEMENT] Review and simplify longhorn component image build 5911 - @ChanYiLin @chriscchien
- [FEATURE] Customize MaxRecurringJobRetain 5713 - @mantissahz @chriscchien
- [IMPROVEMENT] Gracefully shut down spdk_tgt 7263 - @derekbit @chriscchien
- [IMPROVEMENT] Reject the last replica deletion if its volume.spec.deletionTimestamp is not set 7372 - @yangchiu @derekbit
- [TASK] Remove engine image dependency of v2 volumes 7157 - @derekbit
- [IMPROVEMENT] add build script to generate gRPC related code more convenient 6973 - @Vicente-Cheng
- [DOC] Fix erronous value for default StorageMinimalAvailablePercentage setting. 7342 - @james-munson
- [IMPROVEMENT] Add s3 ObjectStore adoption to Longhorn telemetry 6720 - @m-ildefons
- [DOC] FS Trim for RWX is supported, but docs are out of date. 6733 - @james-munson
- [FEATURE] Replica rebuild over SPDK 5216 - @shuo-wu @DamiaSan
- [BUG] orphaned pod pod_id found, but error not a directory occurred when trying to remove the volumes dir 3207 - @weizhe0422 @roger-ryao
Changes since the previous sprint
longhorn/longhorn
- Update bug.md f5dd46a7 by @innobead
- Update bug.md eabe7bcc by @innobead
- Update bug.md 9cc4b1e9 by @innobead
- Create PULL_REQUEST_TEMPLATE.md b58c8b8e by @innobead
- chart: fix missing fields in engine 3ac2efa1 by @derekbit
- lep: add Support Backup and Restore For Volumes with V2 Data Engine dd716339 by @derekbit
- feat(lep): add snapshot space management 201cd37a by @FrankYang0529
- feat(chart): add snapshotMaxCount and snapshotMaxSize 297f3152 by @FrankYang0529
- doc: add descripions in chart/value.yaml b2ad63f0 by @mantissahz
- doc(backupbackingimage): add example yaml of backingimage backup and restore 049053f0 by @ChanYiLin
- feat(backingimage): backup backing image support 27b67280 by @ChanYiLin
- chart: rename backendStoreDriver to dataEngine 38fa709e by @derekbit
- fix(volume): add a field "FSType" in Node.Status.DiskStatus 470c5e24 by @mantissahz
- chart: introduce v1-data-engine setting 07bdb419 by @derekbit
- chart: introduce guaranteed instance manager CPU setting for v2 volume 407c1710 by @derekbit
- feat(crd): add error msg to engine replica status d2d5f5de by @ChanYiLin
- doc(enhancement): Rewrite motivation 490ea49a by @c3y1huang
- docs(chart): remove helm2 support edd4868e by @innobead
- chore(image): update CSI snapshotter to v6.3.2 fe9dc3c5 by @c3y1huang
- chore(image): update CSI resizer to v1.9.2 166d036f by @c3y1huang
- chore(image): update CSI provisioner to v3.6.2 f79b9def by @c3y1huang
- chore(image): update CSI node driver registrar to v2.9.2 4ad038fd by @c3y1huang
- chore(image): update CSI attacher to v4.4.2 0945fd46 by @c3y1huang
- chart: seperate v1 and v2 instance managers 972d99d7 by @derekbit
- fix: remove helm 2 support 287f1b88 by @innobead
longhorn/backing-image-manager
- Create PULL_REQUEST_TEMPLATE.md 28b787c0 by @innobead
- fix: fix golint issue need to catch return value 7f8aea1e by @ChanYiLin
- feat(backup): backing image backup support 70dd4a80 by @ChanYiLin
- feat(download): compress backingimage when download a8bf86a9 by @ChanYiLin
- feat: replace golint with golangci-lint 84870bd7 by @FrankYang0529
longhorn/longhorn-ui
- restore: add data engine option 95407604 by @derekbit
- Disables Upgrade action & icon for V2 volumes 63663961 by @scures
- v2 volume: display v2 volume actual size 78130238 by @derekbit
- volume: validate volume creation according to the enabled data engines be240854 by @derekbit
- v2 volume: rename backendStoreDriver to dataEngine 78b3bae6 by @derekbit
- disallows downloading button if disk is not ready d916e44f by @scures
- Change unschedulable disk to yellow when node is cordoned 31f74000 by @ejweber
- Display AutoEvicting on Node tab while auto evicting 9920a3c6 by @ejweber
longhorn/longhorn-instance-manager
- feat: bump InstanceManagerAPIVersion to 5 f8573fc6 by @FrankYang0529
- proto: regenerate files using correct versions 2502c579 by @derekbit
- Fix bug instance manager pod crashed after upgrading engine image 0474250e by @PhanLe1010
- proxy: update ProxyOps 304418ff by @derekbit
- vendor: update longhorn-spdk-engine 8e3abaa7 by @derekbit
- Dockerfile: add netcat package b619d880 by @derekbit
- Create PULL_REQUEST_TEMPLATE.md aa848a43 by @innobead
- vendor: update dependencies ce7a9dec by @derekbit
- vendor: update dependencies ab68378c by @derekbit
- v2 volume: expose snapshot actual size 5004f3bb by @derekbit
- v2 volume: add SnapshotRevert proxy function c005ae87 by @derekbit
- v2 volume: add SnapshotRemove proxy function 798b43da by @derekbit
- Dockerfile: update spdk to 72b7762674cc35262086b185a455a8a30f46432d 6014434d by @derekbit
- Dockerfile: remove ununsed package installation 8e28cf91 by @derekbit
- v2 volume: support backup and restore 82530a79 by @derekbit
- proto: add BackupRestoreFinish method 2ab63bed by @derekbit
- lint: supress suppress SA1019 6539eb6f by @derekbit
- proxy: remove redundant codes 0c01fe39 by @derekbit
- feat(proxy): support snapshot max count and size e09a1a82 by @FrankYang0529
- feat(proto): support snapshot max count and size 31144053 by @FrankYang0529
- feat(go.mod): update longhorn-engine cb926386 by @FrankYang0529
- chore(vendor): update go-common-libs 48ff2307 by @c3y1huang
- feat: sync latest proto from longhorn-engine 86f0f958 by @FrankYang0529
- feat: update proto cbade98f by @FrankYang0529
- Replace backendStoreDriver with dataEngine 60067ae0 by @derekbit
- vendor: update backupstore and longhorn-engine 834489e1 by @derekbit
- proto: replace backendStoreDriver with dataEngine edd76f2d by @derekbit
- Dockerfile: replace libjson-c-devel with v0.17 34c40f0a by @derekbit
- v2 volume: support arm64 platform 3306fd18 by @derekbit
- feat(mount): request remount when volume mount becomes read only (#316) 00268ada by @ChanYiLin
- feat: replace golint with golangci-lint 10a61c35 by @FrankYang0529
- feat: regenerate rpc c61da183 by @FrankYang0529
- Dockerfile: fix wrong the repo of network utilities 96446aa4 by @derekbit
longhorn/longhorn-share-manager
- Create PULL_REQUEST_TEMPLATE.md e3144b44 by @innobead
- chore(vendor): update go-common-libs cbfb9095 by @c3y1huang
- feat: replace golint with golangci-lint 99d57c16 by @FrankYang0529
longhorn/longhorn-engine
- profiler: add profiler command b41e8109 by @Vicente-Cheng
- vendor: update go-common-libs for profiler 358264da by @Vicente-Cheng
- Update Dockerfile.dapper 662b1614 by @innobead
- ci: make docker cache miss 339f5c10 by @FrankYang0529
- feat: bump CLIAPIVersion to 10 921d926b by @FrankYang0529
- Create PULL_REQUEST_TEMPLATE.md f86f4a84 by @innobead
- test: exit when there is first failure 12e92e84 by @FrankYang0529
- feat: support snapshot max count and size cc796ff9 by @FrankYang0529
- feat(proto): support snapshot max count and size 29ee44dd by @FrankYang0529
- chore(vendor): update go-common-libs 5688735e by @c3y1huang
- ci: remove unused folder 53562fe8 by @FrankYang0529
- fix: lint babd8cd9 by @FrankYang0529
- test: fix engine/replica identity error check 4ec45f54 by @innobead
- test: fix direct read/write start page calculation ae2aeda1 by @innobead
- feat: update longhorn-instance-manager in Dockerfile.dapper 563531de by @FrankYang0529
- fix: integration test fe7a5656 by @FrankYang0529
- feat(proto): upgrade to v24.3 c522c5c1 by @FrankYang0529
- feat: upgrade packages version 769ab488 by @FrankYang0529
- vendor: update backupstore 5efed2b8 by @derekbit
- ci: combine DAPPER_OUTPUT 5ac6eec6 by @FrankYang0529
- feat(backingimage): backup backing image support 7ea91cba by @ChanYiLin
- feat: replace golint with golangci-lint 1c1b8312 by @FrankYang0529
- feat(enforce-engine-version): version bump 2e09ee96 by @c3y1huang
longhorn/longhorn-manager
- fix: add condition for updating snapshot attritube to engine a601b9b1 by @FrankYang0529
- fix: add condition for updating snapshot attritube to engine ac6bf684 by @FrankYang0529
- refactor(webhook): break for early exit in finalizer check ddd5ae7d by @c3y1huang
- fix(util): resource name should only contain lower case 32525238 by @ChanYiLin
- ci: node controller tests for node conditions cb2abae4 by @m-ildefons
- ci: events on node condition tests df29e5de by @m-ildefons
- ci: add tests for unknown node conditions ed7a763e by @m-ildefons
- instance manager: update liveness probe 94a659f9 by @derekbit
- Allow deletion of node finalizer without passing checks e5327399 by @ejweber
- Fix nil pointer dereference in shouldEvictReplica 3921faf3 by @ejweber
- Create PULL_REQUEST_TEMPLATE.md 1ccf63d5 by @innobead
- feat(backingimage): backup backing image support 970ba447 by @ChanYiLin
- vendor: update dependencies 2e69c0b6 by @derekbit
- spdk/snapshot: remove spdk creation rejection in validating webhook f563ecbb by @derekbit
- feat: support snapshot max count and size 30befe51 by @FrankYang0529
- feat(crd): add SnapshotMaxCount and SnapshotMaxSize 0ca90e39 by @FrankYang0529
- feat(go.mod): update longhorn-engine and longhorn-instance-manager 80cf13fc by @FrankYang0529
- Support instance-manager pod for v2 data engine on selected nodes 91bc9cb7 by @derekbit
- chore(vendor): update go-common-libs 420b7798 by @c3y1huang
- feat: add DataSourceTypeExportFromVolumeParameterFileSyncHTTPClientTimeout b2132e74 by @FrankYang0529
- feat: upgrade packages version de40f934 by @FrankYang0529
- feat(instance status): reset instance error status when it is not running b63565de by @ChanYiLin
- crd: fix typo 9ef31e1e by @derekbit
- crd: add description for deprecated backendStoreDriver field 86b573ca by @derekbit
- Replace backendStoreDriver with dataEngine 655d52e8 by @derekbit
- vendor: update dependencies 29ab93c3 by @derekbit
- controller: use available data engine for getting backup target client a012b4c0 by @derekbit
- Reject v2 volume automatic engine upgrade be088500 by @derekbit
- disk monitor: enrich and record error messages b865e375 by @derekbit
- crd: add data engine in printer columns 93801ee2 by @derekbit
- instance handler: do not sync instance state if data engine is disabled 64f40597 by @derekbit
- No need to remove all block-type disks before disabling data engine b5f50816 by @derekbit
- No need to clean up instances before disabling data engine and deleting instance manager e49700e4 by @derekbit
- controller: remove unused disk service clients 47cad389 by @derekbit
- webhook: ignore engine image compatiblity check for v2 volumes 1295df81 by @derekbit
- upgrade: fix failures due to v2 volumes 2c01f8d3 by @derekbit
- api: make staticchecker happy b7bba514 by @derekbit
- api: rename BackendStoreDriver to DataEngine 433324df by @derekbit
- upgrade: patch spec.dataEngine for volumes, engines and replicas 439a93bd by @derekbit
- crd: replace backendStoreDriver with dataEngine 6208527e by @derekbit
- Rename backendStoreDriver to dataEngine 381122ee by @derekbit
- Rename CheckImageReadiness to CheckDataEngineImageReadiness f1b70632 by @derekbit
- Support v1 and v2 data engines enablement and disablement independently bf7f801e by @derekbit
- setting: introduce v1-data-engine a5bde2ff by @derekbit
- setting: introduce guaranteed instance manager CPU setting for v2 volume 02888ff2 by @derekbit
- fix(expand): expand volume over maximum size 9cb537d6 by @mantissahz
- fix(schedule): not schedule replicas to a disk a09d8e52 by @mantissahz
- fix: add a new field FSType to NodeStatus baa097ed by @mantissahz
- fix(log): mismatched args f41d5b8f by @c3y1huang
- chore(csi): update default images version b5176011 by @c3y1huang
- test(enforce-engine-upgrade): add volume/engine/replica validation a42748a4 by @c3y1huang
- refactor(enforce-engine-upgrade): remove hardcoded engine versions bece02b4 by @c3y1huang
- test(enforce-engine-upgrade): checkEngineUpgradePathSupported dead2b7d by @c3y1huang
- feat(enforce-engine-upgrade): check upgrade path 3ebdb55d by @c3y1huang
- feat(enforce-engine-upgrade): vendor update 680b0f36 by @c3y1huang
- chore: update longhron-instance-manager 2fb03c11 by @ChanYiLin
- feat(mount): request remount when volume mount becomes read only 26e4f397 by @ChanYiLin
- Explicitly reject encrypted and backing image for v2 volumes 8cfda3e7 by @derekbit
- Reject volume.spec.image update for v2 volumes before introducing live upgrade b9e65693 by @derekbit
- disk: only reject automatic creation of default block-type disk 35852f20 by @derekbit
- ci: add condition for merge to master 176a5477 by @FrankYang0529
- feat: replace golint with golangci-lint 88d986ee by @FrankYang0529
- Refine log messages 859d4389 by @derekbit
- vendor: update dependencies 8a15a0e1 by @derekbit
- controller: refine syncInstanceManagers d4fa227a by @derekbit
- webhook: check input values c19ea14e by @derekbit
- controller: do not delete failed replica if there is no healthy replica 46af7718 by @derekbit
- csi: always unstage volume before publishing it f53d7cc3 by @derekbit
- csi: only remove dm-crypt device from v1 volume b3c7968d by @derekbit
- datastore: introduce IsBackendStoreDriverV1 and IsBackendStoreDriverV2 2f11d1b5 by @derekbit
- Remove engine image dependency of v2 volumes bfb9ef49 by @derekbit
- Refine log messages 3ba4df03 by @derekbit
- Fix static errors 90f4ec7f by @derekbit
- disk monitor: set disk status as well when disk service is unreachable 95f6a866 by @derekbit
- crd: show data engine of instance manager 761a996f by @derekbit
- disk monitor: get running instance manager rather than default one for v2 volumes 6d2eff44 by @derekbit
- admission webhook: mutate and validate instanceManagers 78472c18 by @derekbit
- upgrade: patch instanceManager.spec.backendStoreDriver 2069a05b by @derekbit
- Separate instance-managers for v1 and v2 volumes respectively 371e3ed8 by @derekbit
- api: add BackendStoreDriver in InstanceManager 5448d457 by @derekbit
- crd: add instanceManager.spec.backendStoreDriver ee3c9d02 by @derekbit
- Add a startup probe to the longhorn-csi-plugin container fe405e66 by @ejweber
- Fix potential nil dereference 03eccc9b by @derekbit
- Increase ignoreKubeletNotReadyTime to 15 seconds (#2397) 92312849 by @ejweber