Merge a1fdb7f405 into 8193b689ed
This commit is contained in:
commit
5d49e8c93b
|
|
@ -33,6 +33,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
# total volume name (zvol/<datasetParentName>/<pvc name>) length cannot exceed 63 chars
|
||||
# https://www.ixsystems.com/documentation/freenas/11.2-U5/storage.html#zfs-zvol-config-opts-tab
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetParentName: tank/k8s/a/vols
|
||||
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
# these are managed automatically via the volume creation process when flagged as an smb volume
|
||||
#datasetProperties:
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
# total volume name (zvol/<datasetParentName>/<pvc name>) length cannot exceed 63 chars
|
||||
# https://www.ixsystems.com/documentation/freenas/11.2-U5/storage.html#zfs-zvol-config-opts-tab
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetParentName: tank/k8s/a/vols
|
||||
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetProperties:
|
||||
aclmode: restricted
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetParentName: tank/k8s/test
|
||||
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetParentName: tank/k8s/test
|
||||
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ zfs:
|
|||
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
||||
# "org.freenas:test": "{{ parameters.foo }}"
|
||||
# "org.freenas:test2": "some value"
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetParentName: tank/k8s/test
|
||||
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ zfs:
|
|||
#aclinherit: passthrough
|
||||
#acltype: nfsv4
|
||||
casesensitivity: insensitive
|
||||
# snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetParentName: tank/k8s/test
|
||||
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ zfs:
|
|||
|
||||
datasetProperties:
|
||||
# key: value
|
||||
snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
datasetEnableQuotas: true
|
||||
datasetEnableReservation: false
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ zfs:
|
|||
|
||||
datasetProperties:
|
||||
# key: value
|
||||
snapshotProperties:
|
||||
# "org.freenas:key": "value"
|
||||
|
||||
zvolCompression:
|
||||
zvolDedup:
|
||||
|
|
|
|||
|
|
@ -2106,6 +2106,19 @@ class ControllerZfsBaseDriver extends CsiBaseDriver {
|
|||
);
|
||||
}
|
||||
|
||||
// user-supplied properties
|
||||
// put early to prevent stupid (user-supplied values overwriting system values)
|
||||
if (driver.options.zfs.snapshotProperties) {
|
||||
for (let property in driver.options.zfs.snapshotProperties) {
|
||||
let value = driver.options.zfs.snapshotProperties[property];
|
||||
const template = Handlebars.compile(value);
|
||||
|
||||
snapshotProperties[property] = template({
|
||||
parameters: call.request.parameters,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const volumeDatasetName = volumeParentDatasetName + "/" + source_volume_id;
|
||||
const datasetName = datasetParentName + "/" + source_volume_id;
|
||||
snapshotProperties[SNAPSHOT_CSI_NAME_PROPERTY_NAME] = name;
|
||||
|
|
|
|||
|
|
@ -3999,6 +3999,19 @@ class FreeNASApiDriver extends CsiBaseDriver {
|
|||
);
|
||||
}
|
||||
|
||||
// user-supplied properties
|
||||
// put early to prevent stupid (user-supplied values overwriting system values)
|
||||
if (driver.options.zfs.snapshotProperties) {
|
||||
for (let property in driver.options.zfs.snapshotProperties) {
|
||||
let value = driver.options.zfs.snapshotProperties[property];
|
||||
const template = Handlebars.compile(value);
|
||||
|
||||
snapshotProperties[property] = template({
|
||||
parameters: call.request.parameters,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const datasetName = datasetParentName + "/" + source_volume_id;
|
||||
snapshotProperties[SNAPSHOT_CSI_NAME_PROPERTY_NAME] = name;
|
||||
snapshotProperties[SNAPSHOT_CSI_SOURCE_VOLUME_ID_PROPERTY_NAME] =
|
||||
|
|
|
|||
Loading…
Reference in New Issue