diff --git a/CHANGELOG.md b/CHANGELOG.md index e3961fc78..75f56076f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## unreleased +* Add initContainer to delete automount udev rule file + [[GH-305]](https://github.com/digitalocean/csi-digitalocean/pull/305) * Handle per-node volume limit exceeding error during ControllerPublishVolume [[GH-303]](https://github.com/digitalocean/csi-digitalocean/pull/303) * Build using Go 1.14 diff --git a/deploy/kubernetes/releases/csi-digitalocean-latest.yaml b/deploy/kubernetes/releases/csi-digitalocean-latest.yaml index 2e90d0b14..279949d37 100644 --- a/deploy/kubernetes/releases/csi-digitalocean-latest.yaml +++ b/deploy/kubernetes/releases/csi-digitalocean-latest.yaml @@ -418,6 +418,19 @@ spec: priorityClassName: system-node-critical serviceAccount: csi-do-node-sa hostNetwork: true + initContainers: + # Delete automount udev rule running on all DO droplets. The rule mounts + # devices briefly and may conflict with CSI-managed droplets (leading to + # "resource busy" errors). We can safely delete it in DOKS. + - name: automount-udev-deleter + image: alpine:3 + args: + - "rm" + - "-f" + - "/etc/udev/rules.d/99-digitalocean-automount.rules" + volumeMounts: + - name: udev-rules-dir + mountPath: /etc/udev/rules.d/ containers: - name: csi-node-driver-registrar image: quay.io/k8scsi/csi-node-driver-registrar:v1.1.0 @@ -485,6 +498,9 @@ spec: - name: device-dir hostPath: path: /dev + - name: udev-rules-dir + hostPath: + path: /etc/udev/rules.d/ --- apiVersion: v1