4 context 'supported operating systems' do
5 on_supported_os.each do |os, facts|
9 it { is_expected.to compile.with_all_deps }
10 it { is_expected.to create_class('systemd') }
11 it { is_expected.to create_class('systemd::systemctl::daemon_reload') }
12 it { is_expected.to_not create_service('systemd-resolved') }
13 it { is_expected.to_not create_service('systemd-networkd') }
14 it { is_expected.to_not create_service('systemd-timesyncd') }
16 context 'when enabling resolved and networkd' do
18 :manage_resolved => true,
19 :manage_networkd => true
22 it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
23 it { is_expected.to create_service('systemd-resolved').with_enable(true) }
24 it { is_expected.to create_service('systemd-networkd').with_ensure('running') }
25 it { is_expected.to create_service('systemd-networkd').with_enable(true) }
28 context 'when enabling resolved with DNS values (string)' do
30 :manage_resolved => true,
31 :dns => '8.8.8.8 8.8.4.4',
32 :fallback_dns => '2001:4860:4860::8888 2001:4860:4860::8844',
35 it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
36 it { is_expected.to create_service('systemd-resolved').with_enable(true) }
37 it { is_expected.to contain_ini_setting('dns')}
38 it { is_expected.to contain_ini_setting('fallback_dns')}
39 it { is_expected.not_to contain_ini_setting('domains')}
40 it { is_expected.not_to contain_ini_setting('multicast_dns')}
41 it { is_expected.not_to contain_ini_setting('llmnr')}
42 it { is_expected.not_to contain_ini_setting('dnssec')}
43 it { is_expected.not_to contain_ini_setting('cache')}
44 it { is_expected.not_to contain_ini_setting('dns_stub_listener')}
47 context 'when enabling resolved with DNS values (array)' do
49 :manage_resolved => true,
50 :dns => %w(8.8.8.8 8.8.4.4),
51 :fallback_dns => %w(2001:4860:4860::8888 2001:4860:4860::8844),
54 it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
55 it { is_expected.to create_service('systemd-resolved').with_enable(true) }
56 it { is_expected.to contain_ini_setting('dns')}
57 it { is_expected.to contain_ini_setting('fallback_dns')}
58 it { is_expected.not_to contain_ini_setting('domains')}
59 it { is_expected.not_to contain_ini_setting('multicast_dns')}
60 it { is_expected.not_to contain_ini_setting('llmnr')}
61 it { is_expected.not_to contain_ini_setting('dnssec')}
62 it { is_expected.not_to contain_ini_setting('cache')}
63 it { is_expected.not_to contain_ini_setting('dns_stub_listener')}
66 context 'when enabling resolved with DNS values (full)' do
68 :manage_resolved => true,
69 :dns => %w(8.8.8.8 8.8.4.4),
70 :fallback_dns => %w(2001:4860:4860::8888 2001:4860:4860::8844),
71 :domains => %w(2001:4860:4860::8888 2001:4860:4860::8844),
73 :multicast_dns => false,
76 :dns_stub_listener => 'udp',
79 it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
80 it { is_expected.to create_service('systemd-resolved').with_enable(true) }
81 it { is_expected.to contain_ini_setting('dns')}
82 it { is_expected.to contain_ini_setting('fallback_dns')}
83 it { is_expected.to contain_ini_setting('domains')}
84 it { is_expected.to contain_ini_setting('multicast_dns')}
85 it { is_expected.to contain_ini_setting('llmnr')}
86 it { is_expected.to contain_ini_setting('dnssec')}
87 it { is_expected.to contain_ini_setting('cache')}
88 it { is_expected.to contain_ini_setting('dns_stub_listener')}
91 context 'when enabling timesyncd' do
93 :manage_timesyncd => true
96 it { is_expected.to create_service('systemd-timesyncd').with_ensure('running') }
97 it { is_expected.to create_service('systemd-timesyncd').with_enable(true) }
98 it { is_expected.not_to create_service('systemd-resolved').with_ensure('running') }
99 it { is_expected.not_to create_service('systemd-resolved').with_enable(true) }
100 it { is_expected.not_to create_service('systemd-networkd').with_ensure('running') }
101 it { is_expected.not_to create_service('systemd-networkd').with_enable(true) }
104 context 'when enabling timesyncd with NTP values (string)' do
106 :manage_timesyncd => true,
107 :ntp_server => '0.pool.ntp.org 1.pool.ntp.org',
108 :fallback_ntp_server => '2.pool.ntp.org 3.pool.ntp.org'
110 it { is_expected.to compile.with_all_deps }
111 it { is_expected.to contain_ini_setting('ntp_server')}
112 it { is_expected.to contain_ini_setting('fallback_ntp_server')}
115 context 'when enabling timesyncd with NTP values (array)' do
117 :manage_timesyncd => true,
118 :ntp_server => %w(0.pool.ntp.org 1.pool.ntp.org),
119 :fallback_ntp_server => %w(2.pool.ntp.org 3.pool.ntp.org)
121 it { is_expected.to compile.with_all_deps }
122 it { is_expected.to contain_ini_setting('ntp_server')}
123 it { is_expected.to contain_ini_setting('fallback_ntp_server')}
126 context 'when passing service limits' do
128 :service_limits => {'openstack-nova-compute.service' => {'limits' => {'LimitNOFILE' => 32768}}}
131 it { is_expected.to compile.with_all_deps }
132 it { is_expected.to contain_systemd__service_limits('openstack-nova-compute.service').with_limits({'LimitNOFILE' => 32768}) }
135 context 'when managing Accounting options' do
138 manage_accounting: true,
142 it { is_expected.to contain_class('systemd::system')}
144 case facts[:os]['family']
146 accounting = ['DefaultCPUAccounting', 'DefaultIOAccounting', 'DefaultIPAccounting', 'DefaultBlockIOAccounting', 'DefaultMemoryAccounting', 'DefaultTasksAccounting']
148 accounting = ['DefaultCPUAccounting', 'DefaultBlockIOAccounting', 'DefaultMemoryAccounting']
150 accounting = ['DefaultCPUAccounting', 'DefaultBlockIOAccounting', 'DefaultMemoryAccounting', 'DefaultTasksAccounting']
152 accounting.each do |account|
153 it { is_expected.to contain_ini_setting(account)}
155 it { is_expected.to compile.with_all_deps }