puppet-nova/spec/classes/nova_cell_v2_discover_hosts_spec.rb
Diana Clarke e128ba6538 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
2017-12-19 20:24:52 +00:00

52 lines
1.3 KiB
Ruby

require 'spec_helper'
describe 'nova::cell_v2::discover_hosts' do
shared_examples_for 'nova::cell_v2::discover_hosts' do
context 'with defaults' do
it {
is_expected.to contain_exec('nova-cell_v2-discover_hosts').with(
:path => ['/bin', '/usr/bin'],
:command => 'nova-manage cell_v2 discover_hosts',
:user => 'nova',
:refreshonly => true,
:subscribe => 'Anchor[nova::service::end]'
)
}
end
context "overriding extra_params" do
let :params do
{
:extra_params => '--config-file /etc/nova/nova.conf'
}
end
it {
is_expected.to contain_exec('nova-cell_v2-discover_hosts').with(
:path => ['/bin', '/usr/bin'],
:command => 'nova-manage --config-file /etc/nova/nova.conf cell_v2 discover_hosts',
:user => 'nova',
:refreshonly => true,
:subscribe => 'Anchor[nova::service::end]'
)
}
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::discover_hosts'
end
end
end