puppet-swift/spec/classes/swift_proxy_ceilometer_spec.rb
Dan Prince 499386a89d Swift proxy won't start if using proxy:ceilometer
The Swift ceilometer middleware needs to be able to
write its log file in the /var/log/ceilometer
directory. Not all distributions set permissions
on this directory such that the swift user/group
can write into the ceilometer log directory. This
can cause the swift-proxy to fail to startup due
to permissions issues.

This patch updates the swift::proxy::ceilometer so
that we create an empty /var/log/ceilometer/swift-proxy-server.log
file with proper permissions before starting the swift-proxy
service.

Change-Id: If7b88bf51046317171f6fa85bb8c01390fa26a37
2015-01-26 22:11:02 -05:00

31 lines
930 B
Ruby

require 'spec_helper'
describe 'swift::proxy::ceilometer' do
let :facts do
{
:osfamily => 'Debian'
}
end
let :pre_condition do
'class { "concat::setup": }
concat { "/etc/swift/proxy-server.conf": }
class { "ssh::server::install": }
class { "swift":
swift_hash_suffix => "dummy"
}'
end
let :fragment_file do
"/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/33_swift_ceilometer"
end
it { should contain_file(fragment_file).with_content(/[filter:ceilometer]/) }
it { should contain_file(fragment_file).with_content(/use = egg:ceilometer#swift/) }
it { should contain_concat__fragment('swift_ceilometer').with_require('Class[::Ceilometer]') }
it { should contain_user('swift').with_groups('ceilometer') }
it { should contain_file('/var/log/ceilometer/swift-proxy-server.log').with(:owner => 'swift', :group => 'swift', :mode => '0664') }
end