From 914cf1f124fa5617373ce2f779b1eff202da2e87 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Tue, 18 Jun 2019 11:00:36 -0700 Subject: [PATCH] Allow enabling custom backends with manila It is possible to provide the config settings to add an arbitrary and unmanaged backend to Manila at deployment time via Heat environment files. However, puppet-tripleo doesn't support extending the list of enabled backends. Add this capability. Change-Id: I82f62df0a95f03afbda1b6a4ddaa67ef908030a9 Closes-Bug: #1831938 --- manifests/profile/base/manila/share.pp | 40 ++++++++++++++------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/manifests/profile/base/manila/share.pp b/manifests/profile/base/manila/share.pp index 348bb8eb2..46eb5a6c1 100644 --- a/manifests/profile/base/manila/share.pp +++ b/manifests/profile/base/manila/share.pp @@ -46,19 +46,24 @@ # (Optional) Whether or not the vnx backend is enabled # Defaults to hiera('manila_backend_vnx_enabled', false) # +# [*manila_user_enabled_backends*] +# (Optional) List of additional backend stanzas to activate +# Defaults to hiera('manila_user_enabled_backends', undef) +# # [*step*] # (Optional) The current step in deployment. See tripleo-heat-templates # for more details. # Defaults to hiera('step') # class tripleo::profile::base::manila::share ( - $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), - $backend_isilon_enabled = hiera('manila_backend_isilon_enabled', false), - $backend_unity_enabled = hiera('manila_backend_unity_enabled', false), - $backend_vnx_enabled = hiera('manila_backend_vnx_enabled', false), - $backend_cephfs_enabled = hiera('manila_backend_cephfs_enabled', false), + $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), + $backend_isilon_enabled = hiera('manila_backend_isilon_enabled', false), + $backend_unity_enabled = hiera('manila_backend_unity_enabled', false), + $backend_vnx_enabled = hiera('manila_backend_vnx_enabled', false), + $backend_cephfs_enabled = hiera('manila_backend_cephfs_enabled', false), + $manila_user_enabled_backends = hiera('manila_user_enabled_backends', undef), $step = Integer(hiera('step')), ) { include ::tripleo::profile::base::manila @@ -241,17 +246,16 @@ class tripleo::profile::base::manila::share ( } } - $manila_enabled_backends = delete_undef_values( - [ - $manila_generic_backend, - $manila_cephfs_backend, - $manila_netapp_backend, - $manila_vmax_backend, - $manila_isilon_backend, - $manila_unity_backend, - $manila_vnx_backend - ] - ) + $backends = delete_undef_values(concat([], $manila_generic_backend, + $manila_cephfs_backend, + $manila_netapp_backend, + $manila_vmax_backend, + $manila_isilon_backend, + $manila_unity_backend, + $manila_vnx_backend, + $manila_user_enabled_backends)) + $manila_enabled_backends = delete($backends, '') + class { '::manila::backends' : enabled_share_backends => $manila_enabled_backends, }