4.0.1 (2021-08-17)
- node: add timeout on iscsiadm commands and logout on timeout (4c7f1c2)
4.0.0 (2021-06-14)
- rename dothill-csi to san-iscsi-csi (f09b5fc)
- node: extract iscsid to the host (3295b05)
- node: extract multipathd to the host (8aac2c7)
- node: probe to check required packages on the host (9b4e26e)
- The docker image and helm chart are now called san-iscsi-csi instead of dothill-csi
- node: open-iscsi now have to be installed on the host
- node: Since CSI is orchestrator agnostic, -kubeletpath flag break the spec by making the plugin Kubernetes dependent. Thus we remove it and -bind can be used instead.
3.1.6 (2021-06-09)
- node: add hostIPC flag on pod to prevent multipath -f from hanging (d292c50)
- node: fix typo in logs and improve lsblk error handling (d24b2cf), closes #92
- node: handle errors on read connection information properly (a311b47), closes #96
3.1.5 (2021-05-20)
- node: add a timeout on scsi_id (7ce732f)
3.1.4 (2021-04-27)
- node: better checks on umount (34b65af)
3.1.3 (2021-04-13)
3.1.2 (2021-04-08)
3.1.1 (2021-04-07)
- helm: fix link in helm install notes (6ee05de)
- node: fix WWIDs differ logs (b548749)
- node: improve multipath device consistency check (e310820)
3.1.0 (2021-04-02)
- node: fix NodeUnpublishVolume when device is already disconnected (5f3cb60)
- controller: snapshot restoration (5a62d21)
- controller: volume cloning (30f6257), closes #21
- controller: volume snapshotting (8beefd3)
- exporter: dothill_api metrics (31bf4c4)
- exporter: dothill_csi_rpc_call metric (32ae764)
- exporter: dothill_csi_rpc_call_duration (ab82a71)
- helm: add optional PodMonitor and ServiceMonitor (6c06ed8)
3.0.3 (2021-03-31)
- replace debian by ubuntu to reduce vulnerabilities (d4d91c9)
- node: upgrade csi-lib-iscsi to fix a typo (6cad085)
3.0.2 (2021-03-16)
- helm: mount udev database in dothill-node container (e5658d2)
- node: add 2 second timeout on blkid to prevent a deadlock (b925c4b)
- node: check multipath consistency on connection/disconnection (22b373d)
3.0.1 (2021-03-02)
- node: check fs health before ejecting devices (1d4ad89)
- node: set disable_changed_wwids to yes in multipathd config (6f7af14)
3.0.0 (2021-02-19)
- readme: marketing stuff (bb14e0b)
- rename dothill-provisioner to san-iscsi-csi (a6624e8)
- The docker image and helm chart are now called dothill-csi instead of dothill-provisioner
2.4.1 (2021-02-18)
- ci: push latest tag (1d5523e), closes #80
- fix typos (2c3917d)
- controller: upgrade dothill-api-go to fix sigsegv on nil status (9ff320f)
- helm: mount /run/udev to fix multipathd table loading at startup (4159980), closes #81
- node: upgrade csi-lib-iscsi (3505af6), closes #74
2.4.0 (2021-02-02)
- controller: expand volume by the right amount (1009455)
2.3.2 (2021-01-26)
- controller: make ControllerPublishVolume idempotent again (e1eade8)
- node: check if a volume is mounted somewhere else before ejecting (8650885), closes #72
2.3.1 (2021-01-19)
- controller: prevent multi-attach by disallowing multi-mapping (8f058cf)
2.3.0 (2021-01-12)
2.2.3 (2021-01-12)
- helm: use a different component label for nodes and controller (09bba25), closes #48
- node: check that a filesystem is healthy before mounting it (4bae59f), closes #66
- node: check transport type to use iscsi disks only (0de5021), closes #68
- node: fix csi-lib-iscsi commands error reporting (ddcb3fd), closes #64
- node: support other filesystems than ext4 (df77fd5), closes #67
2.2.2 (2021-01-07)
- node: fix sda ejection when no device is found (ecaa987)
2.2.1 (2020-11-26)
- controller: choose lun per initiatorName instead of globally (72d4210), closes #60
- controller: limit simultaneous CSI calls to 1 by type of call (abe4dbd)
- controller: limit worker-threads to 1 per CSI sidecar (bf33878)
- controller: store csi-socket in tmpfs to allow node to be drained (a9a7329)
- helm: fix controller leader election timeout on many new pvc (a6976f2)
- helm: WaitForFirstConsumer volume binding mode instead of Immediate (359aedd), closes #58
- version printing (ac6da3d), closes #59
- node: don't disconnect target when multipath is not working (0d3ed8f)
- node: don't give an error when a disk is already unmounted (f7647ae)
- node: errors when multipath is not used for multiple targets (c3b7f5b)
- node: fix choose LUN with high value existing LUNs (55b4aa3)
- node: handle gracefully already existing socket (71fcb4d), closes #47
- node: limit NodePublishVolume concurrency to 1, fail otherwise (3cbc6a9)
- node: persist multipathd configuration (0c2e14f)
- node: remove mutex publish/unpublish mutex (40f3518)
- node: upgrade csi-lib-iscsi to fix devices ejection (89feac7)
2.2.0 (2020-11-09)
- node: don't rescan iSCSI sessions after removing device (84653ac), closes #52
- node: upgrade csi-lib-iscsi to disconnect volumes properly (4a8b64e), closes #32
2.1.0 (2020-10-28)
- example: add 2 examples (82bfc10)
- node: add CSI liveness probe with iscsi_tcp kernel mod check (08e84b3), closes #50
- node: containerize iscsid (a90d306), closes #44 #49
- node: generate unique iqn once per node (cd98706), closes #23
- node: load iscsi_tcp kernel module in initContainer (4fe865d)
2.0.2 (2020-10-14)
- ci: push docker images tagged with the "v" prefix (d3a2bfc)
2.0.1 (2020-10-14)
- ci: prevent dirty build on release (57deab8)
- helm: convert name to kebab-case to fix GitHub release name (26655cb)
2.0.0 (2020-10-14)
- ci: fix chart version (352a224)
- ci: complete project rewrite as a CSI plugin
1.4.0 (2020-10-14)
- arch: fix inexistant go client version (2faaa85)
- build: fix dependencies for production build (47dcfcd)
- build: fix failing build after go mod migration (08d7911)
- build: fix klog dep version (aa192c3)
- ci: add commit sha to un-versionned images (2887fc3)
- ci: add gcc to build image (2a84e5f)
- ci: add git to build imahge (65d57d0)
- ci: don't create an image for every commit (d7d5fe5)
- ci: don't skip build and push on changelog update (6b831b0)
- ci: fix dependencies error (4ce6ed0)
- ci: fix jobs dependencies (4fdd899)
- ci: remove sanity tests (716527a)
- controller: fail on publish volume when host doesn't exists (07203cb)
- controller: fail on validate volume caps when volume doesn't exists (ba8bed0)
- controller: fix CreateVolume with an existing name for sanity tests (c6085e1)
- controller: fix LUN selection with no volume (8c44200)
- controller: minor fixes (c763c2e)
- controller: revert fail on publish volume when host doesn't exists (33fbc15)
- controller: unmap volume from given node id instead of all nodes (51e719e)
- deploy: consistent plugin name accross configs (ac5bff5)
- deploy: replace default namespace by kube-system (f068850)
- deploy: set fixed versions on external dependencies (cf53ffd)
- deploy: update deploy files to properly deploy drivers (207fcab)
- deploy: working k8s deployment (cc94561)
- example: fix example storage class name (7bfa944)
- helm: fix cluster role binding service account namespace (ee624f7)
- helm: handle psp admission controller (f0882d3)
- helm: remove imagePullSecret as all images used are public (069010b)
- node: check if device is actually using multipath instead of just assuming it (10b92b8)
- node: detect file system on alpine and debian (8d22bf9)
- node: minor mount fixes (75637bb)
- node: rescan iscsi sessions after volume unmount (08512c4)
- provisioner: add klog flag missing after update (160a3cb)
- resizer: remove useless code (292d3b9)
- resizer: send size difference to api instead of new size (09e003c)
- resizer: tell k8s to resize the fs after expanding (470d6bc)
- testing: fix exit code and initiator name file (d37fafc)
- testing: improve sanity requirements error handling (959e4ec)
- build: optimize docker build (aa13e86)
- ci: deploy helm chart on GitHub and image on docker hub (bc8c81a)
- ci: generate CHANGELOG.md (657685a)
- controller: implement validate volume capabilities (1ecd5bc)
- controller: implement volume attach routine (fa16310)
- controller: make controller unpublish idempotent (de0ebbc)
- controller: migrate provisioning code (81c50d6)
- deploy: add an example of values.yaml (06d2dcf)
- deploy: add external attacher container into deployment (528d529)
- deploy: build a rc on master and trigger releases manually only (4a8092d)
- driver: graceful stop & unbind on signal (7a641c7)
- driver: properly handle concurrent RPCs (38342b4)
- driver: working provision/deletion with multipath (e79b930)
- helm: initial chart (80e79ad)
- helm: split extraArgs config for node and controller (13d7aae)
- helm: template kubelet path with default value (1ba0e17)
- helm: template storage classes and their secrets (61a9773)
- node: allow to use a custom path for /var/lib/kubelet (6d3d793)
- node: codebase for node plugin (9401af4)
- node: format disks only if needed (cce9571)
- node: implement info calls (e4f84ca)
- node: mount published volumes (8f0cbb1)
- resizer: run preflight checks to ensure resizing is possible (43dbc04)
- testing: properly implement k8s sanity tests & fix most of them (aa658d6)