puppet-manila/spec/classes/manila_setup_test_volume_spec.rb
Takashi Kajinami 715e97a3bf Enable manila-share in acceptance tests
This change enables the manila-share service and lvm backend in
acceptance tests, so that we can test more complete setup.

Change-Id: I8e3c1cda17c897b6c13563ea733988e28dd49f8f
2022-09-01 18:41:15 +09:00

48 lines
1.6 KiB
Ruby

require 'spec_helper'
describe 'manila::setup_test_volume' do
shared_examples 'manila::setup_test_volume' do
it { is_expected.to contain_package('lvm2').with(
:ensure => 'installed',
:tag => 'manila-support-package'
)}
it {
is_expected.to contain_exec('create_/var/lib/manila/lvm-shares').with(
:command => 'dd if=/dev/zero of="/var/lib/manila/lvm-shares" bs=1 count=0 seek=4G',
:path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
:unless => 'stat /var/lib/manila/lvm-shares',
)
is_expected.to contain_exec('losetup /dev/loop2 /var/lib/manila/lvm-shares').with(
:command => 'losetup /dev/loop2 /var/lib/manila/lvm-shares && udevadm settle',
:path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
:unless => 'losetup /dev/loop2',
)
is_expected.to contain_exec('pvcreate /dev/loop2').with(
:path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
:unless => 'pvs /dev/loop2',
:refreshonly => true,
)
is_expected.to contain_exec('vgcreate lvm-shares /dev/loop2').with(
:path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
:unless => 'vgs lvm-shares',
:refreshonly => true,
)
}
it { is_expected.to contain_file('/var/lib/manila/lvm-shares').with_mode('0640') }
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_behaves_like 'manila::setup_test_volume'
end
end
end