Support cephfs_ganesha_export_ips parameter

Manila now [1] supports configuring a list of IP addresses
or hostnames on which NFS-ganesha will listen for mounts and
provide NFS service.

Expose this parameter in the backend manifests for manila with
CephFS.

[1] https://review.opendev.org/#/c/670510
Change-Id: I99fe50cb5e112bcad85494dc755725d3444f717b
This commit is contained in:
Tom Barron 2019-07-22 14:57:12 -04:00
parent 9fb1805e1b
commit 97e1dab0dd
3 changed files with 17 additions and 1 deletions

View File

@ -33,6 +33,10 @@
# (optional) IP of a server where Ganesha service runs on. # (optional) IP of a server where Ganesha service runs on.
# Defaults to: undef # Defaults to: undef
# #
# [*cephfs_ganesha_export_ips*]
# (optional) List of IPs on which Ganesha provides NFS share service.
# Defaults to: undef
#
# [*cephfs_ganesha_server_is_remote*] # [*cephfs_ganesha_server_is_remote*]
# (required) Whether the Ganesha service is remote or colocated on the # (required) Whether the Ganesha service is remote or colocated on the
# same node where the Share service runs. # same node where the Share service runs.
@ -70,6 +74,7 @@ define manila::backend::cephfs (
$cephfs_cluster_name = 'ceph', $cephfs_cluster_name = 'ceph',
$cephfs_enable_snapshots = false, $cephfs_enable_snapshots = false,
$cephfs_ganesha_server_ip = undef, $cephfs_ganesha_server_ip = undef,
$cephfs_ganesha_export_ips = undef,
$cephfs_ganesha_server_is_remote = $::os_service_default, $cephfs_ganesha_server_is_remote = $::os_service_default,
$cephfs_ganesha_server_username = undef, $cephfs_ganesha_server_username = undef,
$cephfs_ganesha_server_password = undef, $cephfs_ganesha_server_password = undef,
@ -91,6 +96,7 @@ define manila::backend::cephfs (
"${name}/cephfs_cluster_name": value => $cephfs_cluster_name; "${name}/cephfs_cluster_name": value => $cephfs_cluster_name;
"${name}/cephfs_enable_snapshots": value => $cephfs_enable_snapshots; "${name}/cephfs_enable_snapshots": value => $cephfs_enable_snapshots;
"${name}/cephfs_ganesha_server_ip": value => $cephfs_ganesha_server_ip; "${name}/cephfs_ganesha_server_ip": value => $cephfs_ganesha_server_ip;
"${name}/cephfs_ganesha_export_ips": value => $cephfs_ganesha_export_ips;
"${name}/cephfs_ganesha_server_is_remote": value => $cephfs_ganesha_server_is_remote; "${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_username": value => $cephfs_ganesha_server_username;
"${name}/cephfs_ganesha_server_password": value => $cephfs_ganesha_server_password; "${name}/cephfs_ganesha_server_password": value => $cephfs_ganesha_server_password;

View File

@ -0,0 +1,7 @@
---
features:
- |
Add support for configuring a list of IP addresses (or hostnames) on which
Manila will listen for mounts and provide NFS service via the
``cephfs_ganesha_export_ips`` parameter.

View File

@ -14,6 +14,7 @@ describe 'manila::backend::cephfs' do
:cephfs_enable_snapshots => true, :cephfs_enable_snapshots => true,
:cephfs_protocol_helper_type => 'NFS', :cephfs_protocol_helper_type => 'NFS',
:cephfs_ganesha_server_ip => '10.0.0.1', :cephfs_ganesha_server_ip => '10.0.0.1',
:cephfs_ganesha_export_ips => '10.0.0.1,1001::1001',
:cephfs_ganesha_server_is_remote => true, :cephfs_ganesha_server_is_remote => true,
:cephfs_ganesha_server_username => 'ganeshadmin', :cephfs_ganesha_server_username => 'ganeshadmin',
:cephfs_ganesha_path_to_private_key => '/readable/by/manila.key', :cephfs_ganesha_path_to_private_key => '/readable/by/manila.key',
@ -38,6 +39,8 @@ describe 'manila::backend::cephfs' do
'NFS') 'NFS')
is_expected.to contain_manila_config('cephfs/cephfs_ganesha_server_ip').with_value( is_expected.to contain_manila_config('cephfs/cephfs_ganesha_server_ip').with_value(
'10.0.0.1') '10.0.0.1')
is_expected.to contain_manila_config('cephfs/cephfs_ganesha_export_ips').with_value(
'10.0.0.1,1001::1001')
is_expected.to contain_manila_config('cephfs/cephfs_volume_mode').with_value( is_expected.to contain_manila_config('cephfs/cephfs_volume_mode').with_value(
'0775') '0775')
is_expected.to contain_manila_config('cephfs/cephfs_ganesha_server_is_remote').with_value( is_expected.to contain_manila_config('cephfs/cephfs_ganesha_server_is_remote').with_value(