Allow overriding share protocols with manila
We need a way to override available protocols for enabled Shared File Systems service back ends, or enable custom ones per the deployment. Change-Id: I7b36e5c45b029f070976e58335d79678752a990c Closes-Bug: #1831767 Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com> Co-Authored-By: Alan Bishop <abishop@redhat.com> (cherry picked from commit f032b7c18612ad40d42621315ded761998d2f57d) (cherry picked from commit 5d2174dc888caf02ab374caf11d2697d845a0a5c) Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
This commit is contained in:
parent
c49d8de7b6
commit
4d5a9c05ae
@ -18,6 +18,10 @@
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*enabled_share_protocols*]
|
||||
# (Optional) Share protocols enabled on the manila API service.
|
||||
# Defaults to hiera('manila_enabled_share_protocols', undef)
|
||||
#
|
||||
# [*backend_generic_enabled*]
|
||||
# (Optional) Whether or not the generic backend is enabled
|
||||
# Defaults to hiera('manila_backend_generic_enabled', false)
|
||||
@ -77,6 +81,7 @@
|
||||
# Defaults to hiera('step')
|
||||
|
||||
class tripleo::profile::base::manila::api (
|
||||
$enabled_share_protocols = hiera('manila_enabled_share_protocols', undef),
|
||||
$backend_generic_enabled = hiera('manila_backend_generic_enabled', false),
|
||||
$backend_netapp_enabled = hiera('manila_backend_netapp_enabled', false),
|
||||
$backend_vmax_enabled = hiera('manila_backend_vmax_enabled', false),
|
||||
@ -112,21 +117,31 @@ class tripleo::profile::base::manila::api (
|
||||
|
||||
if $step >= 4 or ($step >= 3 and $sync_db) {
|
||||
include ::tripleo::profile::base::apache
|
||||
if $backend_generic_enabled or $backend_netapp_enabled or $backend_vmax_enabled or
|
||||
$backend_isilon_enabled or $backend_unity_enabled or $backend_vnx_enabled {
|
||||
$nfs_protocol = 'NFS'
|
||||
$cifs_protocol = 'CIFS'
|
||||
|
||||
unless empty($enabled_share_protocols) {
|
||||
$enabled_share_protocols_real = join(any2array($enabled_share_protocols), ',')
|
||||
} else {
|
||||
$nfs_protocol = undef
|
||||
$cifs_protocol = undef
|
||||
}
|
||||
if $backend_cephfs_enabled {
|
||||
$cephfs_protocol = hiera('manila::backend::cephfs::cephfs_protocol_helper_type', 'CEPHFS')
|
||||
} else {
|
||||
$cephfs_protocol = undef
|
||||
if $backend_generic_enabled or $backend_netapp_enabled
|
||||
or $backend_vmax_enabled or $backend_isilon_enabled
|
||||
or $backend_unity_enabled or $backend_vnx_enabled {
|
||||
$nfs_protocol = 'NFS'
|
||||
$cifs_protocol = 'CIFS'
|
||||
} else {
|
||||
$nfs_protocol = undef
|
||||
$cifs_protocol = undef
|
||||
}
|
||||
if $backend_cephfs_enabled {
|
||||
$cephfs_protocol = hiera(
|
||||
'manila::backend::cephfs::cephfs_protocol_helper_type', 'CEPHFS')
|
||||
} else {
|
||||
$cephfs_protocol = undef
|
||||
}
|
||||
|
||||
$enabled_share_protocols_real = join(delete_undef_values([$nfs_protocol,$cifs_protocol,$cephfs_protocol]), ',')
|
||||
|
||||
}
|
||||
class { '::manila::api' :
|
||||
enabled_share_protocols => join(delete_undef_values([$nfs_protocol,$cifs_protocol,$cephfs_protocol]), ',')
|
||||
enabled_share_protocols => $enabled_share_protocols_real
|
||||
}
|
||||
class { '::manila::wsgi::apache':
|
||||
ssl_cert => $tls_certfile,
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
It is now possible to override the ``enabled_share_protocols``
|
||||
configuration for the Shared File Systems service (manila) with the
|
||||
hiera parameter ``manila_enabled_share_protocols``.
|
@ -129,6 +129,29 @@ eos
|
||||
is_expected.to contain_class('tripleo::profile::base::manila::api')
|
||||
}
|
||||
end
|
||||
|
||||
context 'with custom protocols' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:bootstrap_node => 'node.example.com',
|
||||
:backend_generic_enabled => true,
|
||||
:backend_cephfs_enabled => true,
|
||||
:enabled_share_protocols => ['CIFS', 'CEPHFS'],
|
||||
} }
|
||||
|
||||
it {
|
||||
is_expected.to contain_class('tripleo::profile::base::manila::api')
|
||||
is_expected.to contain_class('tripleo::profile::base::manila')
|
||||
is_expected.to contain_class('tripleo::profile::base::manila::authtoken')
|
||||
is_expected.to contain_class('tripleo::profile::base::manila::api')
|
||||
is_expected.to contain_class('tripleo::profile::base::apache')
|
||||
is_expected.to contain_class('manila::api').with(
|
||||
:enabled_share_protocols => 'CIFS,CEPHFS'
|
||||
)
|
||||
is_expected.to contain_class('manila::wsgi::apache')
|
||||
is_expected.to contain_class('tripleo::profile::base::manila::api')
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user