]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/cinder/spec/classes/cinder_volume_iscsi_spec.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / spec / classes / cinder_volume_iscsi_spec.rb
1 require 'spec_helper'
2
3 describe 'cinder::volume::iscsi' do
4
5   let :req_params do
6     {:iscsi_ip_address => '127.0.0.2'}
7   end
8
9   let :facts do
10     {:osfamily => 'Debian'}
11   end
12
13   describe 'with default params' do
14
15     let :params do
16       req_params
17     end
18
19     it { should contain_cinder_config('DEFAULT/volume_driver').with(
20            :value => 'cinder.volume.drivers.lvm.LVMISCSIDriver')}
21     it { should contain_cinder_config('DEFAULT/iscsi_ip_address').with(:value => '127.0.0.2')}
22     it { should contain_cinder_config('DEFAULT/iscsi_helper').with(:value => 'tgtadm')}
23     it { should contain_cinder_config('DEFAULT/volume_group').with(:value => 'cinder-volumes')}
24
25   end
26
27   describe 'with iSER driver' do
28     let(:params) { req_params.merge(
29            :volume_driver => 'cinder.volume.drivers.lvm.LVMISERDriver')}
30
31     it { should contain_cinder_config('DEFAULT/volume_driver').with(
32            :value => 'cinder.volume.drivers.lvm.LVMISERDriver')}
33   end
34
35   describe 'with a unsupported iscsi helper' do
36     let(:params) { req_params.merge(:iscsi_helper => 'fooboozoo')}
37
38     it 'should raise an error' do
39       expect {
40         should compile
41       }.to raise_error Puppet::Error, /Unsupported iscsi helper: fooboozoo/
42     end
43   end
44
45   describe 'with RedHat' do
46
47     let :params do
48       req_params
49     end
50
51     let :facts do
52       {:osfamily => 'RedHat',
53        :operatingsystem => 'RedHat',
54        :operatingsystemmajrelease => '6'}
55     end
56
57     it { should contain_file_line('cinder include').with(
58       :line => 'include /etc/cinder/volumes/*',
59       :path => '/etc/tgt/targets.conf'
60     ) }
61
62   end
63
64   describe 'with lioadm' do
65
66     let :params do {
67       :iscsi_ip_address => '127.0.0.2',
68       :iscsi_helper => 'lioadm'
69     }
70     end
71
72     let :facts do
73       {:osfamily => 'RedHat'}
74     end
75
76     it { should contain_package('targetcli').with_ensure('present')}
77     it { should contain_service('target').with(
78       :ensure  => 'running',
79       :enable  => 'true',
80       :require => 'Package[targetcli]'
81     ) }
82
83   end
84
85 end