2016-12-16 21:36:36 +01:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe 'nova::compute::libvirt::qemu' do
|
|
|
|
|
|
|
|
shared_examples_for 'nova compute libvirt with qemu' do
|
|
|
|
|
|
|
|
context 'when not configuring qemu' do
|
|
|
|
let :params do
|
|
|
|
{
|
2022-02-02 10:10:06 +09:00
|
|
|
:configure_qemu => false,
|
2018-09-11 11:20:54 +02:00
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"rm max_files",
|
|
|
|
"rm max_processes",
|
|
|
|
"rm vnc_tls",
|
|
|
|
"rm vnc_tls_x509_verify",
|
2021-04-12 14:55:19 -04:00
|
|
|
"rm default_tls_x509_verify",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
2018-09-11 11:20:54 +02:00
|
|
|
"rm memory_backing_dir",
|
|
|
|
"rm nbd_tls",
|
|
|
|
],
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2016-12-16 21:36:36 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
context 'when configuring qemu by default' do
|
|
|
|
let :params do
|
|
|
|
{
|
2018-09-11 11:20:54 +02:00
|
|
|
:configure_qemu => true,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 1024",
|
|
|
|
"set max_processes 4096",
|
|
|
|
"set vnc_tls 0",
|
|
|
|
"set vnc_tls_x509_verify 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2018-09-11 11:20:54 +02:00
|
|
|
"set nbd_tls 0",
|
|
|
|
],
|
2016-12-16 21:36:36 +01:00
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2016-12-16 21:36:36 +01:00
|
|
|
end
|
|
|
|
|
2018-03-23 05:52:20 +08:00
|
|
|
context 'when configuring qemu with overridden parameters' do
|
2016-12-16 21:36:36 +01:00
|
|
|
let :params do
|
|
|
|
{
|
|
|
|
:configure_qemu => true,
|
2022-02-02 10:10:06 +09:00
|
|
|
:max_files => 32768,
|
|
|
|
:max_processes => 131072,
|
2018-09-11 11:20:54 +02:00
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 32768",
|
|
|
|
"set max_processes 131072",
|
|
|
|
"set vnc_tls 0",
|
|
|
|
"set vnc_tls_x509_verify 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2018-09-11 11:20:54 +02:00
|
|
|
"set nbd_tls 0",
|
|
|
|
],
|
2016-12-16 21:36:36 +01:00
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2016-12-16 21:36:36 +01:00
|
|
|
end
|
2017-11-28 19:00:52 +05:30
|
|
|
|
2023-01-11 17:19:02 +09:00
|
|
|
context 'when configuring qemu with user/group parameter' do
|
2017-11-28 19:00:52 +05:30
|
|
|
let :params do
|
|
|
|
{
|
2022-02-02 10:10:06 +09:00
|
|
|
:configure_qemu => true,
|
2023-01-11 17:19:02 +09:00
|
|
|
:user => 'qemu-user',
|
|
|
|
:group => 'qemu-group',
|
2022-02-02 10:10:06 +09:00
|
|
|
:max_files => 32768,
|
|
|
|
:max_processes => 131072,
|
2018-09-11 11:20:54 +02:00
|
|
|
:memory_backing_dir => '/tmp',
|
2017-11-28 19:00:52 +05:30
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 32768",
|
|
|
|
"set max_processes 131072",
|
2018-01-19 10:04:51 +00:00
|
|
|
"set vnc_tls 0",
|
|
|
|
"set vnc_tls_x509_verify 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"set user qemu-user",
|
|
|
|
"set group qemu-group",
|
2018-09-11 11:20:54 +02:00
|
|
|
"set memory_backing_dir /tmp",
|
2022-02-02 10:10:06 +09:00
|
|
|
"set nbd_tls 0",
|
2017-11-28 19:00:52 +05:30
|
|
|
],
|
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2017-11-28 19:00:52 +05:30
|
|
|
end
|
2018-01-19 10:04:51 +00:00
|
|
|
|
|
|
|
context 'when configuring qemu with vnc_tls' do
|
|
|
|
let :params do
|
|
|
|
{
|
|
|
|
:configure_qemu => true,
|
2022-02-02 10:10:06 +09:00
|
|
|
:vnc_tls => true,
|
2018-01-19 10:04:51 +00:00
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 1024",
|
|
|
|
"set max_processes 4096",
|
|
|
|
"set vnc_tls 1",
|
2018-09-11 11:20:54 +02:00
|
|
|
"set vnc_tls_x509_verify 1",
|
2021-04-12 14:55:19 -04:00
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2022-02-02 10:10:06 +09:00
|
|
|
"set nbd_tls 0",
|
2018-01-19 10:04:51 +00:00
|
|
|
],
|
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2018-01-19 10:04:51 +00:00
|
|
|
end
|
|
|
|
|
2021-04-12 14:55:19 -04:00
|
|
|
context 'when configuring qemu with default_tls_verify enabled' do
|
|
|
|
let :params do
|
|
|
|
{
|
2022-02-02 10:10:06 +09:00
|
|
|
:configure_qemu => true,
|
2021-04-12 14:55:19 -04:00
|
|
|
:default_tls_verify => true,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 1024",
|
|
|
|
"set max_processes 4096",
|
|
|
|
"set vnc_tls 0",
|
|
|
|
"set vnc_tls_x509_verify 0",
|
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2022-02-02 10:10:06 +09:00
|
|
|
"set nbd_tls 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
],
|
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2021-04-12 14:55:19 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
context 'when configuring qemu with vnc_tls_verify disabled' do
|
2018-01-19 10:04:51 +00:00
|
|
|
let :params do
|
|
|
|
{
|
|
|
|
:configure_qemu => true,
|
2022-02-02 10:10:06 +09:00
|
|
|
:vnc_tls => true,
|
2018-09-11 11:20:54 +02:00
|
|
|
:vnc_tls_verify => false,
|
2018-01-19 10:04:51 +00:00
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 1024",
|
|
|
|
"set max_processes 4096",
|
|
|
|
"set vnc_tls 1",
|
2018-09-11 11:20:54 +02:00
|
|
|
"set vnc_tls_x509_verify 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2022-02-02 10:10:06 +09:00
|
|
|
"set nbd_tls 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
],
|
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2021-04-12 14:55:19 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
context 'when configuring qemu with default_tls_verify disabled' do
|
|
|
|
let :params do
|
|
|
|
{
|
2022-02-02 10:10:06 +09:00
|
|
|
:configure_qemu => true,
|
2021-04-12 14:55:19 -04:00
|
|
|
:default_tls_verify => false,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 1024",
|
|
|
|
"set max_processes 4096",
|
|
|
|
"set vnc_tls 0",
|
|
|
|
"set vnc_tls_x509_verify 0",
|
|
|
|
"set default_tls_x509_verify 0",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2022-02-02 10:10:06 +09:00
|
|
|
"set nbd_tls 0",
|
2018-09-11 11:20:54 +02:00
|
|
|
],
|
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2018-09-11 11:20:54 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
context 'when configuring qemu with nbd_tls and libvirt >= 4.5' do
|
|
|
|
let :params do
|
|
|
|
{
|
|
|
|
:configure_qemu => true,
|
2022-02-02 10:10:06 +09:00
|
|
|
:nbd_tls => true,
|
2018-09-11 11:20:54 +02:00
|
|
|
}
|
|
|
|
end
|
|
|
|
it { is_expected.to contain_augeas('qemu-conf-limits').with({
|
|
|
|
:context => '/files/etc/libvirt/qemu.conf',
|
|
|
|
:changes => [
|
|
|
|
"set max_files 1024",
|
|
|
|
"set max_processes 4096",
|
|
|
|
"set vnc_tls 0",
|
|
|
|
"set vnc_tls_x509_verify 0",
|
2021-04-12 14:55:19 -04:00
|
|
|
"set default_tls_x509_verify 1",
|
2023-01-11 17:19:02 +09:00
|
|
|
"rm user",
|
2023-01-11 17:22:52 +09:00
|
|
|
"rm group",
|
|
|
|
"rm memory_backing_dir",
|
2018-09-11 11:20:54 +02:00
|
|
|
"set nbd_tls 1",
|
2018-01-19 10:04:51 +00:00
|
|
|
],
|
|
|
|
:tag => 'qemu-conf-augeas',
|
2022-06-25 23:56:30 +09:00
|
|
|
}) }
|
2018-01-19 10:04:51 +00:00
|
|
|
end
|
|
|
|
|
2016-12-16 21:36:36 +01:00
|
|
|
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 compute libvirt with qemu'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|