Charm configures "Topology=True" preventing volume mounts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder CSI |
Fix Released
|
Undecided
|
Adam Dyess |
Bug Description
Hello,
When deploying the cinder-csi charm, the cinder controller plugin is configured with Topology enabled = true. This prevents volumes from mounting in the case where nodes are setup in Host Aggregate groups, e.g. AZ1, AZ2, and so on.
This is because the PV is forced onto a "nova" AZ:
kubectl get -o yaml pv pvc-2b992195-
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.
volume.
volume.
creationTimes
finalizers:
- kubernetes.
name: pvc-2b992195-
resourceVersion: "254584"
uid: 7af9c1f5-
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 3Gi
claimRef:
apiVersion: v1
kind: PersistentVolum
name: task-pv-claim
namespace: default
resourceVer
uid: 2b992195-
csi:
driver: cinder.
fsType: ext4
volumeAttri
storage.
volumeHandle: f2b028de-
nodeAffinity:
required:
nodeSelec
- matchExpressions:
- key: topology.
operator: In
values:
- nova
[Workaround]
This is forced by the CSI. To work around this, disable the feature gate:
kubectl edit deploy -n kube-system csi-cinder-
template:
metadata:
creationT
labels:
app: csi-cinder-
spec:
containers:
- args:
- --csi-address=
- --timeout=3m
- --leader-
- --default-
env:
- name: ADDRESS
value: /var/lib/
image: rocks.canonical
name: csi-attacher
resources: {}
- mountPath: /var/lib/
name: socket-dir
- args:
- --csi-address=
- --timeout=3m
- --default-
- --feature-
- --extra-
- --leader-
The correct, long term solution here is to be able to configure topology via the charm or for the charm to automatically configure the topology.
Thanks,
Peter
Changed in charm-cinder-csi: | |
status: | In Progress → Fix Committed |
assignee: | nobody → Adam Dyess (addyess) |
Changed in charm-cinder-csi: | |
status: | Fix Committed → Fix Released |
Subscribing field high as its affectecting a customer deployment and prevents PV attachment.