Skip to content

Latest commit

 

History

History
551 lines (409 loc) · 36.8 KB

CHANGELOG.md

File metadata and controls

551 lines (409 loc) · 36.8 KB

v2.1.0 / 2023-02-09

  • add support for nvme virtual path detection (678,@dborman-hpe)
  • update go version to v1.19.3 (681,@akhilerm)
  • update go module dependencies to use sigs.k8s.io/yaml instead of github.com/ghodss/yaml (687,@Juneezee)

v1.8.0 / 2022-01-03

  • add device attributes and location details as blockdevice labels (618,@Ab-hishek)
  • add new feature to enable NDM to use partition table UUID for generating blockdevice UUID (635,@cospotato)
  • skip delete disk partition event when GPTBasedUUID is disable (639,@liuminjian)
  • enhance the details stored on the blockdevice when the device has zpool (643,@liuminjian)
  • changed exporter service to use a common label for both cluster and node exporter (647,@Ab-hishek)
  • update get call to use empty object instead of deepcopy object while updating the resources (648,@akhilerm)
  • mount /dev directory from host inside container so that wipefs gets reflected immediately on the host (649,@akhilerm)
  • add support for feature gate dependencies, to enable features that are dependent on other features (652,@jdkramhoft)
  • use a base image with builtin dependencies for building the project (655,@z0marlin)
  • use libblkid from base container to fetch partition details on CentOS 7 hosts (657,@akhilerm)
  • fix sysfs parsing by trimming newline suffix when reading from sysfs files(666,@akhilerm)

v1.8.0-RC2 / 2021-12-28

  • fix sysfs parsing by trimming newline suffix when reading from sysfs files(666,@akhilerm)

v1.8.0-RC1 / 2021-12-24

  • add device attributes and location details as blockdevice labels (618,@Ab-hishek)
  • add new feature to enable NDM to use partition table UUID for generating blockdevice UUID (635,@cospotato)
  • skip delete disk partition event when GPTBasedUUID is disable (639,@liuminjian)
  • enhance the details stored on the blockdevice when the device has zpool (643,@liuminjian)
  • changed exporter service to use a common label for both cluster and node exporter (647,@Ab-hishek)
  • update get call to use empty object instead of deepcopy object while updating the resources (648,@akhilerm)
  • mount /dev directory from host inside container so that wipefs gets reflected immediately on the host (649,@akhilerm)
  • add support for feature gate dependencies, to enable features that are dependent on other features (652,@jdkramhoft)
  • use a base image with builtin dependencies for building the project (655,@z0marlin)
  • use libblkid from base container to fetch partition details on CentOS 7 hosts (657,@akhilerm)

v1.7.0 / 2021-09-17

  • add support to detect changes to block device size without restarting NDM (#616,@z0marlin)

v1.6.0 / 2021-07-14

  • update k8s to 1.20.2 and controller runtime to 0.8.2 version (#561,@RealHarshThakur)
  • fix add-handler to update controller blockdevice cache after generating uuid (#602,@z0marlin)
  • add support for detecting changes to mount points and filesystems without restarting (#595,@z0marlin)
  • add probe allowlist in event message to selectively run probes when filling blockdevice details (#601,@z0marlin)

v1.5.0 / 2021-06-16

  • fix tests in probe and syspath packages (#593,@z0marlin)
  • update mount utility to fetch all mount points for a given device (#590,@z0marlin)

v1.4.0 / 2021-04-14

  • updated the apiextension version to v1 and moved the installation of crds from operator deployment to the operator yaml (#559,@shubham14bajpai)
  • add check for empty devpath while creating sysfs device (#560,@akhilerm)

v1.4.0-RC1 / 2021-04-06

  • updated the apiextension version to v1 and moved the installation of crds from operator deployment to the operator yaml (#559,@shubham14bajpai)
  • add check for empty devpath while creating sysfs device (#560,@akhilerm)

v1.3.0 / 2021-03-12

  • add support to push multiarch images to multiple registries (#544,@akhilerm)
  • fixed cannot deactive BlockDevice immediately when "unplugged" device with GPTBasedUUID enabled (#546,@cospotato)
  • migrate integration tests from travis to github actions (#548,@akhilerm)

v1.3.0-RC1 / 2021-03-09

  • add support to push multiarch images to multiple registries (#544,@akhilerm)
  • fixed cannot deactive BlockDevice immediately when "unplugged" device with GPTBasedUUID enabled (#546,@cospotato)
  • migrate integration tests from travis to github actions (#548,@akhilerm)

v1.2.0 / 2021-02-13

  • set values for default feature gates when flag is not provided and fix integration tests (#536,@akhilerm)
  • fix sysfsprobe to fetch block/sector size and drive type for partitions (#537,@z0marlin)
  • add support for multipath devices (#530,@akhilerm)
  • pass mounts file path as a parameter when fetching mount attributes using DeviceBasicMountInfo() (#539,@z0marlin)
  • add all devices to hierarchy cache irrespective of whether the blockdevice will be filtered or not. (#538,@akhilerm)
  • fix typo for driveType in OpenAPI validation for blockdevice API (#541,@akhilerm)

v1.2.0-RC2 / 2021-02-11

  • fix typo for driveType in OpenAPI validation for blockdevice API (#541,@akhilerm)

v1.2.0-RC1 / 2021-02-08

  • set values for default feature gates when flag is not provided and fix integration tests (#536,@akhilerm)
  • fix sysfsprobe to fetch block/sector size and drive type for partitions (#537,@z0marlin)
  • add support for multipath devices (#530,@akhilerm)
  • pass mounts file path as a parameter when fetching mount attributes using DeviceBasicMountInfo() (#539,@z0marlin)
  • add all devices to hierarchy cache irrespective of whether the blockdevice will be filtered or not. (#538,@akhilerm)

v1.1.0 / 2021-01-13

  • add Unknown drive type into blockdevice resource instead of using an empty string (#523,@akhilerm)
  • add support for creating blockdevices for unused os-disk partitions (#524,@akhilerm)
  • upgrade CRDs to v1 and add openAPI validation (#493,@RealHarshThakur)
  • add image pull secrets to cleanup job pod via environment variable (#527,@akhilerm)

v1.1.0-RC2 / 2021-01-11

  • add image pull secrets to cleanup job pod via environment variable (#527,@akhilerm)

v1.1.0-RC1 / 2021-01-09

  • add Unknown drive type into blockdevice resource instead of using an empty string (#523,@akhilerm)
  • add support for creating blockdevices for unused os-disk partitions (#524,@akhilerm)
  • upgrade CRDs to v1 and add openAPI validation (#493,@RealHarshThakur)

v1.0.1 / 2020-12-13

  • add check for device mapper path in path filter (#518,@akhilerm)
  • fix a bug causing blockdevice resources not to be created for all the disks if one of the disk goes bad (#517,@akhilerm)
  • fix a bug in parsing /proc/cmdline where the root partition identifier is not present (#516,@akhilerm)
  • add checks for validity of partition and dm device resources created (#519,@akhilerm)

v1.0.1-RC1 / 2020-12-10

  • add check for device mapper path in path filter (#518,@akhilerm)
  • fix a bug causing blockdevice resources not to be created for all the disks if one of the disk goes bad (#517,@akhilerm)
  • fix a bug in parsing /proc/cmdline where the root partition identifier is not present (#516,@akhilerm)
  • add checks for validity of partition and dm device resources created (#519,@akhilerm)

v1.0.0 / 2020-11-14

  • add controller options to device list command, fixed sysfs probe processing empty devices (#504,@akhilerm)
  • chore(build) Updating dockerfile(s) with buildx built-in ARGs (#503,@xunholy)
  • add support for device-mapper(dm) devices. (#495,@akhilerm)
  • restrict claiming of blockdevices with empty block-device-tag value (#500,@ajeetrai707)

v1.0.0-RC1 / 2020-11-11

  • add controller options to device list command, fixed sysfs probe processing empty devices (#504,@akhilerm)
  • chore(build) Updating dockerfile(s) with buildx built-in ARGs (#503,@xunholy)
  • add support for device-mapper(dm) devices. (#495,@akhilerm)
  • restrict claiming of blockdevices with empty block-device-tag value (#500,@ajeetrai707)

v0.9.0 / 2020-10-14

  • (fix) Support excluding multiple OS disk paths (#481,@rahulchheda)
  • fix a bug where partition table was written on disk with filesystem, resulting in data loss (#496,@akhilerm)
  • add partition name into NDM created partitions (#494,@avats-dev)
  • fix(mount): detect real device when using /dev/root (#492,@zlymeda)

v0.9.0-RC1 / 2020-10-08

  • (fix) Support excluding multiple OS disk paths (#481,@rahulchheda)
  • fix a bug where partition table was written on disk with filesystem, resulting in data loss (#496,@akhilerm)
  • add partition name into NDM created partitions (#494,@avats-dev)
  • fix(mount): detect real device when using /dev/root (#492,@zlymeda)

v0.8.1 / 2020-09-15

  • add support to add custom tag to blockdevices based on config (#475,@akhilerm)
  • fix a bug where NDM operator crashes if a claimed BD is manually deleted (#479,@akhilerm)
  • update go version to 1.14.7 (#476,@akhilerm)
  • add additional check to exclude blockdevices with tag while manual claiming (#404,@akhilerm)

v0.8.1-RC1 / 2020-09-10

  • add support to add custom tag to blockdevices based on config (#475,@akhilerm)
  • fix a bug where NDM operator crashes if a claimed BD is manually deleted (#479,@akhilerm)
  • update go version to 1.14.7 (#476,@akhilerm)
  • add additional check to exclude blockdevices with tag while manual claiming (#404,@akhilerm)

v0.8.0 / 2020-08-14

v0.8.0-RC2 / 2020-08-12

  • disable metrics server of controller runtime by default. (#473,@akhilerm)

v0.8.0-RC1 / 2020-08-10

v0.7.0 / 2020-07-14

  • fix wiping released blockdevices with partitions (#445, @akhilerm)
  • fix bug of having an open file descriptor in NDM causing applications to receive resource busy error. (#450, @akhilerm)
  • Adding support to build multi-arch docker images. (#428, @xunholy)
  • deprecate invalid capacity request phase from block device claim (#443, @akhilerm)

v0.7.0-RC1 / 2020-07-09

  • fix wiping released blockdevices with partitions (#445, @akhilerm)
  • fix bug of having an open file descriptor in NDM causing applications to receive resource busy error. (#450, @akhilerm)
  • Adding support to build multi-arch docker images. (#428, @xunholy)
  • deprecate invalid capacity request phase from block device claim (#443, @akhilerm)

v0.6.0 / 2020-06-13

  • make feature gates independent of daemon controller (#426, @akhilerm)
  • remove all disk resources and disk CRD as part of installation (#427, @akhilerm)
  • add new discovery probe (called used-by-probe) to detect if devices are used by K8s Local PV, ZFS-LocalPV, Mayastor and cStor (#430, @akhilerm)
  • migrate project to use go modules (#434, @harshthakur9030)
  • Adding filesystem info column in output of kubectl get bd -o wide (#435, @harshthakur9030)

v0.6.0-RC2 / 2020-06-12

v0.6.0-RC1 / 2020-06-09

  • make feature gates independent of daemon controller (#426, @akhilerm)
  • remove all disk resources and disk CRD as part of installation (#427, @akhilerm)
  • add new discovery probe (called used-by-probe) to detect if devices are used by K8s Local PV, ZFS-LocalPV, Mayastor and cStor (#430, @akhilerm)
  • migrate project to use go modules (#434, @harshthakur9030)

v0.5.0 / 2020-05-15

  • add support for blockdevice metrics using seachest (#349, @akhilerm)
  • add ppc64le builds (#374, @Pensu)
  • add support for partitions and enable the new UUID algorithm for blockdevice UUID generation (#386, @akhilerm)
  • add OpenEBS to the list of default excluded vendors (#409, @akhilerm)
  • add new filter to validate BlockDevices and remove invalid entries (#410, @akhilerm)
  • remove controller for cluster scoped disk resource (#412, @akhilerm)
  • add finalizer on claimed BlockDevice resource to prevent accidental deletion (#416, @akhilerm)
  • add env to enable/disable CRD installation (#421, @akhilerm)

v0.5.0-RC2 / 2020-05-13

v0.5.0-RC1 / 2020-05-08

  • add support for blockdevice metrics using seachest (#349, @akhilerm)
  • add ppc64le builds (#374, @Pensu)
  • add support for partitions and enable the new UUID algorithm for blockdevice UUID generation (#386, @akhilerm)
  • add OpenEBS to the list of default excluded vendors (#409, @akhilerm)
  • add new filter to validate BlockDevices and remove invalid entries (#410, @akhilerm)
  • remove controller for cluster scoped disk resource (#412, @akhilerm)
  • add finalizer on claimed BlockDevice resource to prevent accidental deletion (#416, @akhilerm)

v0.4.9 / 2020-04-15

  • add physical/logical block size, hardware sector size and drive type into BlockDevice resource (#388, @akhilerm)
  • add new sysfs probe to fetch block device details from sysfs (#375, shovanmaity)
  • enable persisting of labels and annotations on BlockDevice resource (#394, shovanmaity)
  • add label selector to BlockDeviceClaim resource (#397, @akhilerm)
  • add support for openebs.io/block-device-tag label on BlockDevice (#400, @akhilerm)

v0.4.9-RC1 / 2020-04-07

  • add physical/logical block size, hardware sector size and drive type into BlockDevice resource (#388, @akhilerm)
  • add new sysfs probe to fetch block device details from sysfs (#375, shovanmaity)
  • enable persisting of labels and annotations on BlockDevice resource (#394, shovanmaity)
  • add label selector to BlockDeviceClaim resource (#397, @akhilerm)
  • add support for openebs.io/block-device-tag label on BlockDevice (#400, @akhilerm)

v0.4.8 / 2020-03-15

v0.4.8-RC1 / 2020-03-06

v0.4.7 / 2020-02-14

v0.4.7-RC1 / 2020-02-07

v0.4.6 / 2020-01-14

v0.4.6-RC2 / 2020-01-11

v0.4.6-RC1 / 2020-01-06

v0.4.5 / 2019-12-13

  • fixed security vulnerability in images used in cleanup pods (#351, @kmova)
  • added disk hierarchy information to the daemon logs (#353, @akhilerm)
  • ability to disable reconciliation for NDM resources (#307, @akhilerm)

v0.4.5-RC2 / 2019-12-12

  • ability to disable reconciliation for NDM resources (#307, @akhilerm)

v0.4.5-RC1 / 2019-12-05

  • fixed security vulnerability in images used in cleanup pods (#351, @kmova)
  • added disk hierarchy information to the daemon logs (#353, @akhilerm)

v0.4.4 / 2019-11-12

  • fix device detection for KVM based virtual machines
  • fix parent disk detection for nvme devices
  • refactor NDM cli to remove unused flags
  • add prometheus exporter for fetching metrics from etcd
  • replace glog with klog
  • refactor logs for easier parsing to send log based alerts

v0.4.4-RC2 / 2019-11-09

  • refactor logs for easier parsing to send log based alerts
  • fix device detection for KVM based virtual machines

v0.4.4-RC1 / 2019-11-05

  • add prometheus exporter for fetching metrics from etcd
  • replace glog with klog
  • fix parent disk detection for nvme devices
  • refactor NDM cli to remove unused flags

v0.4.3 / 2019-10-14

  • add support for building NDM on multiple platforms/architectures
  • support for arm64
  • refactored integration tests to remove dependency on minikube

v0.4.2 / 2019-09-09

  • add service account to cleanup job
  • support cancelling ongoing cleanup jobs
  • add filter to claim blockdevices based on nodename
  • fix os-disk filter to exclude empty disk paths

v0.4.1 / 2019-07-31

  • fix seachest holding on to open FDs
  • use controller-runtime signals for signal handling
  • automated installation of NDM CRDs from NDM operator
  • handle CRD upgrade in NDM operator
  • add extra check before removing finalizer on blockdeviceclaims
  • cleaned the NDM operator logs
  • change hostname to nodename and added support for nodename in blockdevice

v0.4.0 / 2019-06-21

  • introduce blockdevice resource for managing all blockdevices on the system
  • introduce blockdeviceclaim resource for claiming and unclaiming blockdevices
  • introduce NDM operator for managing blockdeviceclaim
  • add scrub job to clean the blockdevice once it is unclaimed
  • add probe to get mount information of blockdevices
  • add integration test for disk attach, dynamic disk attach and disk detach operations

v0.3.5 / 2019-04-25

  • add support for NDM to run on device with SELinux

v0.3.4 / 2019-04-09

  • fix NDM crash when udev probe failed to probe the disks.

v0.3.3 / 2019-03-26

  • added GOTRACEBACK to print stack trace

v0.3.2 / 2019-03-01

  • support for sparse file size given in exponential format

v0.3.1 / 2019-02-26

  • fix NDM restart when disk is having less than 3 partitions.

v0.3.0 / 2019-02-22

  • enable core dump for NDM
  • add seachest probe to get additional disk details for physical disks
  • added partition and filesystem information
  • add support for unmanaged disks
  • fix crash issue when NDM is run in unprivileged mode. Fallback to limited feature set instead of crashing
  • added integration tests for path-filter

v0.2.0 / 2018-10-25

  • fix readDeviceCapacity method to handle disks > 2TB
  • add probe to determine capacity when udev doesn't support size
  • add configurable filter to determine os disk via config map
  • refactor config map to use yaml format
  • refactor to push docker images to quay repo along with docker
  • refactor to fix lint warnings in several files
  • add selectable github issue templates

v0.1.0-RC3 / 2018-09-01

  • support configuring filters based on disk path patterns. Example:
    • Exclude disks where path includes loop
  • support generating uuid with path and hostname for below disk types where wwn,serial,model,vendor are either not present or missing:
    • AWS Ephemeral SSDs
    • GKE Ephemeral SSDs
    • VMWare Virtual Disks

v0.1.0-RC2 / 2018-08-22

  • include support for creating sparse file

v0.1.0-RC1 / 2018-08-08

  • set Disk status as unknown when ndm pod is being shutdown
  • add NDM ConfigMap to customize filters and probes
  • filter disks based on the vendor type
  • filter os disk while creating disk cr
  • support probing via mod pages to fetch basic disk attributes
  • order devlinks to place by-id links as the first link in Disk DR
  • detect and process disk add/remove events; create or update status
  • add devlinks to disk cr
  • add hostname as a label to Disk CR
  • support probing the disks using udev and remove lsblk based discovery
  • create ndm-operator.yaml to install Disk DRD and NDM as Daemonset
  • auto-generate client code to access Disk CR
  • add a dockerfile and .travis.yml to build node-disk-manager
  • use kubernetes go-client - 6.0.0
  • use hash of wwn,serial,model,vendor to generate uuid.
  • discover disks via the lsblk system command.