Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

v0.8.0

Compare
Choose a tag to compare
@pohly pohly released this 08 Oct 11:15
· 37 commits to release-0.8 since this release

New features:

Breaking changes:

  • Support for Kubernetes < 1.17 was removed because CSIDriver and CSINode v1 APIs are needed and only available starting with 1.17.

Other changes:

  • Built with Go 1.15.2 and updated dependencies.
  • Container images are now based on Debian instead of Clear Linux, with source code of packages under a copyleft license included in the image.
  • Driver startup was simplified by merging the functionality of pmem-vg-init and pmem-ns-init into the pmem-csi-driver image.
  • Various fixes and stability enhancements, better testing. In particular upgrade and downgrade between major releases is now covered.

Known limitations:

  • Raw block volumes are based on an "fsdax" namespace and thus only support dax through a filesystem. This is a technical limitation of PMEM and Kubernetes. A "devdax" namespace would support dax directly, but cannot be passed into a pod as a storage volume because it is a character device and Kubernetes expects a block device.
  • A race condition can lead to a volume leak: if deletion of a volume is triggered while the driver is currently starting up, then the PMEM-CSI controller may incorrectly assume that the volume was already deleted although it still exists on a node that the controller doesn't know about yet. The volume then gets removed in Kubernetes without removing it on that node.
  • The operator API is still alpha and will continue to evolve.