]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/spec/defines/cinder_backend_glusterfs_spec.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / spec / defines / cinder_backend_glusterfs_spec.rb
diff --git a/3rdparty/modules/cinder/spec/defines/cinder_backend_glusterfs_spec.rb b/3rdparty/modules/cinder/spec/defines/cinder_backend_glusterfs_spec.rb
new file mode 100644 (file)
index 0000000..c0b4fa2
--- /dev/null
@@ -0,0 +1,61 @@
+require 'spec_helper'
+
+describe 'cinder::backend::glusterfs' do
+
+  shared_examples_for 'glusterfs volume driver' do
+    let(:title) {'mygluster'}
+
+    let :params do
+      {
+        :glusterfs_shares           => ['10.10.10.10:/volumes', '10.10.10.11:/volumes'],
+        :glusterfs_shares_config    => '/etc/cinder/other_shares.conf',
+        :glusterfs_sparsed_volumes  => true,
+        :glusterfs_mount_point_base => '/cinder_mount_point',
+      }
+    end
+
+    it 'configures glusterfs volume driver' do
+      should contain_cinder_config('mygluster/volume_driver').with_value(
+        'cinder.volume.drivers.glusterfs.GlusterfsDriver')
+      should contain_cinder_config('mygluster/glusterfs_shares_config').with_value(
+        '/etc/cinder/other_shares.conf')
+      should contain_cinder_config('mygluster/glusterfs_sparsed_volumes').with_value(
+        true)
+      should contain_cinder_config('mygluster/glusterfs_mount_point_base').with_value(
+        '/cinder_mount_point')
+      should contain_file('/etc/cinder/other_shares.conf').with(
+        :content => "10.10.10.10:/volumes\n10.10.10.11:/volumes\n",
+        :require => 'Package[cinder]',
+        :notify  => 'Service[cinder-volume]'
+      )
+    end
+
+    context "with an parameter which has been removed" do
+      before do
+        params.merge!({
+          :glusterfs_disk_util => 'foo',
+        })
+      end
+      it 'should fails' do
+        expect { subject }.to raise_error(Puppet::Error, /glusterfs_disk_util is removed in Icehouse./)
+      end
+    end
+  end
+
+  context 'on Debian platforms' do
+    let :facts do
+      { :osfamily => 'Debian' }
+    end
+
+    it_configures 'glusterfs volume driver'
+  end
+
+  context 'on RedHat platforms' do
+    let :facts do
+      { :osfamily => 'RedHat' }
+    end
+
+    it_configures 'glusterfs volume driver'
+  end
+
+end