--- /dev/null
+# ==define cinder::backend::nfs
+#
+# ===Paramiters
+# [*volume_backend_name*]
+# (optional) Allows for the volume_backend_name to be separate of $name.
+# Defaults to: $name
+#
+#
+define cinder::backend::nfs (
+ $volume_backend_name = $name,
+ $nfs_servers = [],
+ $nfs_mount_options = undef,
+ $nfs_disk_util = undef,
+ $nfs_sparsed_volumes = undef,
+ $nfs_mount_point_base = undef,
+ $nfs_shares_config = '/etc/cinder/shares.conf',
+ $nfs_used_ratio = '0.95',
+ $nfs_oversub_ratio = '1.0',
+) {
+
+ file {$nfs_shares_config:
+ content => join($nfs_servers, "\n"),
+ require => Package['cinder'],
+ notify => Service['cinder-volume']
+ }
+
+ cinder_config {
+ "${name}/volume_backend_name": value => $volume_backend_name;
+ "${name}/volume_driver": value =>
+ 'cinder.volume.drivers.nfs.NfsDriver';
+ "${name}/nfs_shares_config": value => $nfs_shares_config;
+ "${name}/nfs_mount_options": value => $nfs_mount_options;
+ "${name}/nfs_disk_util": value => $nfs_disk_util;
+ "${name}/nfs_sparsed_volumes": value => $nfs_sparsed_volumes;
+ "${name}/nfs_mount_point_base": value => $nfs_mount_point_base;
+ "${name}/nfs_used_ratio": value => $nfs_used_ratio;
+ "${name}/nfs_oversub_ratio": value => $nfs_oversub_ratio;
+ }
+}