From d3c14796003018b35f7bd15022ffd66b93a5277f Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 4 Apr 2024 12:14:05 +0900 Subject: [PATCH] Support [DEFAULT] admin_only_metadata Change-Id: I50a773a189f800193207bed1a4ded6b1f7236490 --- manifests/api.pp | 6 ++++++ .../admin_only_metadata-5566bb80f0591662.yaml | 4 ++++ spec/classes/manila_api_spec.rb | 15 +++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 releasenotes/notes/admin_only_metadata-5566bb80f0591662.yaml diff --git a/manifests/api.pp b/manifests/api.pp index a705f813..e640029d 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -67,6 +67,10 @@ # (optional) Number of manila-api workers # Defaults to $facts['os_workers'] # +# [*admin_only_metadata*] +# (optional) Metadata keys that should only be manipulated by administrators. +# Defaults to $facts['os_service_default']. +# class manila::api ( $auth_strategy = 'keystone', $package_ensure = 'present', @@ -82,6 +86,7 @@ class manila::api ( $max_request_body_size = $facts['os_service_default'], $enabled_share_protocols = $facts['os_service_default'], $service_workers = $facts['os_workers'], + $admin_only_metadata = $facts['os_service_default'], ) inherits manila::params { include manila::deps @@ -150,6 +155,7 @@ server.") 'DEFAULT/enabled_share_protocols': value => join(any2array($enabled_share_protocols), ','); 'DEFAULT/default_share_type': value => $default_share_type; 'DEFAULT/osapi_share_workers': value => $service_workers; + 'DEFAULT/admin_only_metadata': value => join(any2array($admin_only_metadata), ','); } oslo::middleware { 'manila_config': diff --git a/releasenotes/notes/admin_only_metadata-5566bb80f0591662.yaml b/releasenotes/notes/admin_only_metadata-5566bb80f0591662.yaml new file mode 100644 index 00000000..a72c43ea --- /dev/null +++ b/releasenotes/notes/admin_only_metadata-5566bb80f0591662.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + The new ``manila::api::admin_only_metadata`` parameter has been added. diff --git a/spec/classes/manila_api_spec.rb b/spec/classes/manila_api_spec.rb index 6f9631a1..0064b6ed 100644 --- a/spec/classes/manila_api_spec.rb +++ b/spec/classes/manila_api_spec.rb @@ -36,6 +36,7 @@ describe 'manila::api' do ) is_expected.to contain_manila_config('DEFAULT/default_share_type').with(:value => '') is_expected.to contain_manila_config('DEFAULT/osapi_share_workers').with(:value => '2') + is_expected.to contain_manila_config('DEFAULT/admin_only_metadata').with(:value => '') is_expected.to contain_manila_api_paste_ini('filter:ratelimit/paste.filter_factory').with_ensure('absent') is_expected.to contain_manila_api_paste_ini('filter:ratelimit/limits').with_ensure('absent') end @@ -205,6 +206,20 @@ describe 'manila::api' do is_expected.to contain_manila_config('DEFAULT/enabled_share_protocols').with_value('NFS,CIFS') end end + + context 'admin_only_metadata is set' do + let :params do + req_params.merge!({ + :admin_only_metadata => ['__affinity_same_host', '__affinity_different_host'] + }) + end + + it 'configures enabled_share_protocols' do + is_expected.to contain_manila_config('DEFAULT/admin_only_metadata').with_value( + '__affinity_same_host,__affinity_different_host' + ) + end + end end on_supported_os({