From 2795dca86a4c7d5ed05dcb93f09c5d308c48f94c Mon Sep 17 00:00:00 2001 From: Pavel Glushchak Date: Thu, 20 Apr 2017 16:41:57 +0300 Subject: [PATCH] VStorage: fixed permissions on shares config file * Shares config file may contain cluster password, thus we need to set correct permissions on that. * manage_package option is introduced. * Don't ensure, that log directory exists. Log directory is created when vstorage-client rpm is installed. Change-Id: I1a84f106ab2fb40615f447021adc991349b86adf Signed-off-by: Pavel Glushchak --- manifests/backend/vstorage.pp | 22 ++++++++++++-------- spec/defines/cinder_backend_vstorage_spec.rb | 10 +++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/manifests/backend/vstorage.pp b/manifests/backend/vstorage.pp index 2d6add78..0f0ef7ab 100644 --- a/manifests/backend/vstorage.pp +++ b/manifests/backend/vstorage.pp @@ -52,6 +52,10 @@ # (optional) Mount permissions. # Defaults to: 0770 # +# [*manage_package*] +# (optional) Ensures VStorage client package is installed if true. +# Defaults to: true +# define cinder::backend::vstorage ( $cluster_name, $cluster_password, @@ -65,6 +69,7 @@ define cinder::backend::vstorage ( $mount_user = 'cinder', $mount_group = 'root', $mount_permissions = '0770', + $manage_package = true, ) { include ::cinder::deps @@ -86,21 +91,20 @@ define cinder::backend::vstorage ( } } - package { 'vstorage-client': - ensure => present, - tag => 'cinder-support-package', + if $manage_package { + package { 'vstorage-client': + ensure => present, + tag => 'cinder-support-package', + } } $mount_opts = ['-u', $mount_user, '-g', $mount_group, '-m', $mount_permissions] file { $shares_config_path: content => inline_template("${cluster_name}:${cluster_password} <%= @mount_opts %>"), - require => Anchor['cinder::install::end'], - notify => Anchor['cinder::service::begin'], - } - - file { '/var/log/pstorage': - ensure => 'directory', + owner => 'root', + group => 'cinder', + mode => '0640', require => Anchor['cinder::install::end'], notify => Anchor['cinder::service::begin'], } diff --git a/spec/defines/cinder_backend_vstorage_spec.rb b/spec/defines/cinder_backend_vstorage_spec.rb index 67558979..c71d5812 100644 --- a/spec/defines/cinder_backend_vstorage_spec.rb +++ b/spec/defines/cinder_backend_vstorage_spec.rb @@ -6,7 +6,7 @@ describe 'cinder::backend::vstorage' do let :params do { - :cluster_name => 'vstorage', + :cluster_name => 'stor1', :cluster_password => 'passw0rd', :shares_config_path => '/etc/cinder/vstorage_shares.conf', :use_sparsed_volumes => true, @@ -16,6 +16,7 @@ describe 'cinder::backend::vstorage' do :mount_user => 'cinder', :mount_group => 'root', :mount_permissions => '0770', + :manage_package => true, } end @@ -43,15 +44,10 @@ describe 'cinder::backend::vstorage' do it 'creates shares config file' do is_expected.to contain_file('/etc/cinder/vstorage_shares.conf').with_content( - "vstorage:passw0rd [\"-u\", \"cinder\", \"-g\", \"root\", \"-m\", \"0770\"]" + "stor1:passw0rd [\"-u\", \"cinder\", \"-g\", \"root\", \"-m\", \"0770\"]" ) end - it 'creates log directory' do - is_expected.to contain_file('/var/log/pstorage').with( - :ensure => 'directory') - end - context 'vstorage backend with cinder type' do before do params.merge!({:manage_volume_type => true})