puppet-nova/spec/classes/nova_cell_v2_map_instances.rb
Diana Clarke 0d6f9e1074 Correct permissions on the nova logfiles
When you execute nova-manage commands, oslo logs to the following
location (file name is dynamically created based on command name).

    /var/log/nova/nova-manage.log

Because puppet-nova is executing these commands as root,
nova-manage.log is owned by root, preventing the 'nova-manage
db archive_deleted_rows' entry in nova's crontab from executing.

    Permission denied: '/var/log/nova/nova-manage.log'

This log file is also an outlier, as all other log files in
/var/log/nova/ are owned by nova:nova.

Similar issues are possible for other nova logs, if for example
a nova services is initially started manually as root, so the
ownership of all nova logs is corrected before configuring nova.

Co-Authored-By: Oliver Walsh <owalsh@redhat.com>
Co-Authored-By: Diana Clarke <diana.joan.clarke@gmail.com>
Co-Authored-By: Maciej Kucia <maciej@kucia.net>
Closes-Bug: #1671681
Change-Id: I0ca0110cbf9139c79074cf603dcab9135f96e765
(cherry picked from commit e128ba6538)
2018-04-16 20:01:39 +01:00

52 lines
1.3 KiB
Ruby

require 'spec_helper'
describe 'nova::cell_v2::map_instances' do
shared_examples_for 'nova::cell_v2::map_instances' do
context 'with defaults' do
let (:params) { { :cell_uuid => 'uuid' } }
it {
is_expected.to contain_exec('nova-cell_v2-map_instances').with(
:path => ['/bin', '/usr/bin'],
:command => 'nova-manage cell_v2 map_instances --cell_uuid=uuid',
:user => 'nova',
:refreshonly => true,
)
}
end
context "overriding extra_params" do
let :params do
{
:extra_params => '--config-file /etc/nova/nova.conf',
:cell_uuid => 'uuid'
}
end
it {
is_expected.to contain_exec('nova-cell_v2-map_instances').with(
:path => ['/bin', '/usr/bin'],
:command => 'nova-manage --config-file /etc/nova/nova.conf cell_v2 map_instances --cell_uuid=uuid',
:user => 'nova',
:refreshonly => true,
)
}
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
it_configures 'nova::cell_v2::map_instances'
end
end
end