Defined Type: manila::backend::cephfs

Defined in:
manifests/backend/cephfs.pp

Overview

define manila::backend::cephfs

Parameters

driver_handles_share_servers

(optional) Denotes whether the driver should handle the responsibility of managing share servers. This must be set to false if the driver is to operate without managing share servers. Defaults to: False

share_backend_name

(optional) Name of the backend in manila.conf that these settings will reside in Defaults to: $name

backend_availability_zone

(Optional) Availability zone for this share backend. If not set, the storage_availability_zone option value is used as the default for all backends. Defaults to $facts.

cephfs_conf_path

(optional) Path to cephfs config. Defaults to: $state_path/ceph.conf

cephfs_auth_id

(optional) cephx user id for Manila Defaults to: manila

cephfs_cluster_name

(optional) Name of the cephfs cluster the driver will connect to. Defaults to: ceph

cephfs_ganesha_server_ip

(optional) IP of a server where Ganesha service runs on. Defaults to: $facts

cephfs_ganesha_export_ips

(optional) List of IPs on which Ganesha provides NFS share service. Defaults to: $facts

cephfs_ganesha_server_is_remote

(required) Whether the Ganesha service is remote or colocated on the same node where the Share service runs. Defaults to $facts

cephfs_ganesha_server_username

(optional) The username to use when logging on the remote node hosting the Ganesha service Defaults to: $facts

cephfs_ganesha_server_password

(optional) The password to use when logging on the remote node hosting the Ganesha service Defaults to: $facts

cephfs_ganesha_path_to_private_key

(optional) The secret key to use when logging on the remote node hosting the Ganesha service (prevails on server_password) Defaults to: $facts

cephfs_volume_mode

(optional) octal rwx permissions for CephFS backing volumes, snapshots, and groups of volumes and snapshots. Defaults to $facts

cephfs_protocol_helper_type

(optional) Sets helper type for CephFS driver, can be CEPHFS or NFS Defaults to: CEPHFS

cephfs_filesystem_name

(optional) The name of the filesystem to use, if there are multiple filesystems in the cluster. Defaults to: $facts

Parameters:

  • driver_handles_share_servers (Any) (defaults to: false)
  • share_backend_name (Any) (defaults to: $name)
  • backend_availability_zone (Any) (defaults to: $facts['os_service_default'])
  • cephfs_conf_path (Any) (defaults to: '$state_path/ceph.conf')
  • cephfs_auth_id (Any) (defaults to: 'manila')
  • cephfs_cluster_name (Any) (defaults to: 'ceph')
  • cephfs_ganesha_server_ip (Any) (defaults to: $facts['os_service_default'])
  • cephfs_ganesha_export_ips (Any) (defaults to: $facts['os_service_default'])
  • cephfs_ganesha_server_is_remote (Any) (defaults to: $facts['os_service_default'])
  • cephfs_ganesha_server_username (Any) (defaults to: $facts['os_service_default'])
  • cephfs_ganesha_server_password (Any) (defaults to: $facts['os_service_default'])
  • cephfs_ganesha_path_to_private_key (Any) (defaults to: $facts['os_service_default'])
  • cephfs_volume_mode (Any) (defaults to: $facts['os_service_default'])
  • cephfs_protocol_helper_type (Any) (defaults to: 'CEPHFS')
  • cephfs_filesystem_name (Any) (defaults to: $facts['os_service_default'])


76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'manifests/backend/cephfs.pp', line 76

define manila::backend::cephfs (
  $driver_handles_share_servers       = false,
  $share_backend_name                 = $name,
  $backend_availability_zone          = $facts['os_service_default'],
  $cephfs_conf_path                   = '$state_path/ceph.conf',
  $cephfs_auth_id                     = 'manila',
  $cephfs_cluster_name                = 'ceph',
  $cephfs_ganesha_server_ip           = $facts['os_service_default'],
  $cephfs_ganesha_export_ips          = $facts['os_service_default'],
  $cephfs_ganesha_server_is_remote    = $facts['os_service_default'],
  $cephfs_ganesha_server_username     = $facts['os_service_default'],
  $cephfs_ganesha_server_password     = $facts['os_service_default'],
  $cephfs_ganesha_path_to_private_key = $facts['os_service_default'],
  $cephfs_volume_mode                 = $facts['os_service_default'],
  $cephfs_protocol_helper_type        = 'CEPHFS',
  $cephfs_filesystem_name             = $facts['os_service_default'],
) {

  include manila::deps

  $share_driver = 'manila.share.drivers.cephfs.driver.CephFSDriver'

  manila_config {
    "${name}/driver_handles_share_servers":       value => $driver_handles_share_servers;
    "${name}/share_backend_name":                 value => $share_backend_name;
    "${name}/backend_availability_zone":          value => $backend_availability_zone;
    "${name}/share_driver":                       value => $share_driver;
    "${name}/cephfs_conf_path":                   value => $cephfs_conf_path;
    "${name}/cephfs_auth_id":                     value => $cephfs_auth_id;
    "${name}/cephfs_cluster_name":                value => $cephfs_cluster_name;
    "${name}/cephfs_ganesha_server_ip":           value => $cephfs_ganesha_server_ip;
    "${name}/cephfs_ganesha_export_ips":          value => join(any2array($cephfs_ganesha_export_ips), ',');
    "${name}/cephfs_ganesha_server_is_remote":    value => $cephfs_ganesha_server_is_remote;
    "${name}/cephfs_ganesha_server_username":     value => $cephfs_ganesha_server_username;
    "${name}/cephfs_ganesha_server_password":     value => $cephfs_ganesha_server_password, secret => true;
    "${name}/cephfs_ganesha_path_to_private_key": value => $cephfs_ganesha_path_to_private_key;
    "${name}/cephfs_volume_mode":                 value => $cephfs_volume_mode;
    "${name}/cephfs_protocol_helper_type":        value => $cephfs_protocol_helper_type;
    "${name}/cephfs_filesystem_name":             value => $cephfs_filesystem_name;
  }
}