- 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)
- 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)
- 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)
- 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)
- fix tests in probe and syspath packages (#593,@z0marlin)
- update mount utility to fetch all mount points for a given device (#590,@z0marlin)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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 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)
- 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)
- 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)
- 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)
- (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)
- (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)
- 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)
- 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)
- Upgrade go version to 1.14 (#459,@harshthakur9030)
- Remove dependency on gox and instead use native go build. (#456,@harshthakur9030)
- Make udev scan operation thread safe. (#455,@harshthakur9030)
- remove v prefix from all image tags (#467,@akhilerm)
- automate migration of blockdevices from legacy UUID to GPT Based UUID (#442,@akhilerm)
- API Service to provide additional functionality (#433,@harshthakur9030)
- fix running cleanup job for sparse blockdevices. (#463,@akhilerm)
- update the project dependencies (k8s: 1.17.4, controller-runtime: 0.5.2, operator-sdk: 0.17.0) (#365,@akhilerm)
- disable metrics server of controller runtime by default. (#473,@akhilerm)
- Upgrade go version to 1.14 (#459,@harshthakur9030)
- Remove dependency on gox and instead use native go build. (#456,@harshthakur9030)
- Make udev scan operation thread safe. (#455,@harshthakur9030)
- remove v prefix from all image tags (#467,@akhilerm)
- automate migration of blockdevices from legacy UUID to GPT Based UUID (#442,@akhilerm)
- API Service to provide additional functionality (#433,@harshthakur9030)
- fix running cleanup job for sparse blockdevices. (#463,@akhilerm)
- update the project dependencies (k8s: 1.17.4, controller-runtime: 0.5.2, operator-sdk: 0.17.0) (#365,@akhilerm)
- 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)
- 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)
- 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)
- Adding filesystem info column in output of kubectl get bd -o wide (#435, @harshthakur9030)
- 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)
- 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)
- 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 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)
- 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)
- added support to display blockdevice PATH in kubectl output (#367, @chandankumar4)
- customize location for NDM core files (#362, @akhilerm)
- added support to display blockdevice PATH in kubectl output (#367, @chandankumar4)
- customize location for NDM core files (#362, @akhilerm)
- added toleration to cleanup jobs (#363, @rahulchheda)
- disabled coredump in NDM Daemon by default (#359, @akhilerm)
- disabled writing system wide core pattern (#358, @akhilerm)
- added toleration to cleanup jobs (#363, @rahulchheda)
- disabled coredump in NDM Daemon by default (#359, @akhilerm)
- disabled writing system wide core pattern (#358, @akhilerm)
- 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)
- fixed security vulnerability in images used in cleanup pods (#351, @kmova)
- added disk hierarchy information to the daemon logs (#353, @akhilerm)
- 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
- refactor logs for easier parsing to send log based alerts
- fix device detection for KVM based virtual machines
- 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
- add support for building NDM on multiple platforms/architectures
- support for arm64
- refactored integration tests to remove dependency on minikube
- 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
- 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
- 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
- add support for NDM to run on device with SELinux
- fix NDM crash when udev probe failed to probe the disks.
- added GOTRACEBACK to print stack trace
- support for sparse file size given in exponential format
- fix NDM restart when disk is having less than 3 partitions.
- 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
- 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
- support configuring filters based on disk path patterns. Example:
- Exclude disks where path includes
loop
- Exclude disks where path includes
- 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
- include support for creating sparse file
- 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.