]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 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
diff --git a/3rdparty/modules/cinder/spec/classes/cinder_volume_iscsi_spec.rb b/3rdparty/modules/cinder/spec/classes/cinder_volume_iscsi_spec.rb
new file mode 100644 (file)
index 0000000..5352bad
--- /dev/null
@@ -0,0 +1,85 @@
+require 'spec_helper'
+
+describe 'cinder::volume::iscsi' do
+
+  let :req_params do
+    {:iscsi_ip_address => '127.0.0.2'}
+  end
+
+  let :facts do
+    {:osfamily => 'Debian'}
+  end
+
+  describe 'with default params' do
+
+    let :params do
+      req_params
+    end
+
+    it { should contain_cinder_config('DEFAULT/volume_driver').with(
+           :value => 'cinder.volume.drivers.lvm.LVMISCSIDriver')}
+    it { should contain_cinder_config('DEFAULT/iscsi_ip_address').with(:value => '127.0.0.2')}
+    it { should contain_cinder_config('DEFAULT/iscsi_helper').with(:value => 'tgtadm')}
+    it { should contain_cinder_config('DEFAULT/volume_group').with(:value => 'cinder-volumes')}
+
+  end
+
+  describe 'with iSER driver' do
+    let(:params) { req_params.merge(
+           :volume_driver => 'cinder.volume.drivers.lvm.LVMISERDriver')}
+
+    it { should contain_cinder_config('DEFAULT/volume_driver').with(
+           :value => 'cinder.volume.drivers.lvm.LVMISERDriver')}
+  end
+
+  describe 'with a unsupported iscsi helper' do
+    let(:params) { req_params.merge(:iscsi_helper => 'fooboozoo')}
+
+    it 'should raise an error' do
+      expect {
+        should compile
+      }.to raise_error Puppet::Error, /Unsupported iscsi helper: fooboozoo/
+    end
+  end
+
+  describe 'with RedHat' do
+
+    let :params do
+      req_params
+    end
+
+    let :facts do
+      {:osfamily => 'RedHat',
+       :operatingsystem => 'RedHat',
+       :operatingsystemmajrelease => '6'}
+    end
+
+    it { should contain_file_line('cinder include').with(
+      :line => 'include /etc/cinder/volumes/*',
+      :path => '/etc/tgt/targets.conf'
+    ) }
+
+  end
+
+  describe 'with lioadm' do
+
+    let :params do {
+      :iscsi_ip_address => '127.0.0.2',
+      :iscsi_helper => 'lioadm'
+    }
+    end
+
+    let :facts do
+      {:osfamily => 'RedHat'}
+    end
+
+    it { should contain_package('targetcli').with_ensure('present')}
+    it { should contain_service('target').with(
+      :ensure  => 'running',
+      :enable  => 'true',
+      :require => 'Package[targetcli]'
+    ) }
+
+  end
+
+end