From 65136eca46c81542a2d6b5fcad1a4783e71e2efb Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 11 Jun 2013 16:15:42 +0200 Subject: [PATCH] Make cinder-volume optional Change-Id: I8d8b1a751096a29bd34c7a6a57a2bd268a984507 --- manifests/cinder/all.pp | 33 ++++++++++++----------- spec/classes/openstack_cinder_all_spec.rb | 9 +++++++ 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/manifests/cinder/all.pp b/manifests/cinder/all.pp index e95604c..e251b3f 100644 --- a/manifests/cinder/all.pp +++ b/manifests/cinder/all.pp @@ -29,6 +29,7 @@ class openstack::cinder::all( $volume_driver = 'iscsi', $iscsi_ip_address = '127.0.0.1', $setup_test_volume = false, + $manage_volumes = true, $verbose = false ) { @@ -73,24 +74,26 @@ class openstack::cinder::all( enabled => $enabled, } - class {'::cinder::volume': - package_ensure => $package_ensure, - enabled => $enabled, - } + if $manage_volumes { + class {'::cinder::volume': + package_ensure => $package_ensure, + enabled => $enabled, + } - if $volume_driver { - if $volume_driver == 'iscsi' { - class { 'cinder::volume::iscsi': - iscsi_ip_address => $iscsi_ip_address, - volume_group => $volume_group, - } - if $setup_test_volume { - class {'::cinder::setup_test_volume': - volume_name => $volume_group, + if $volume_driver { + if $volume_driver == 'iscsi' { + class { 'cinder::volume::iscsi': + iscsi_ip_address => $iscsi_ip_address, + volume_group => $volume_group, } + if $setup_test_volume { + class {'::cinder::setup_test_volume': + volume_name => $volume_group, + } + } + } else { + warning("Unsupported volume driver: ${volume_driver}, make sure you are configuring this yourself") } - } else { - warning("Unsupported volume driver: ${volume_driver}, make sure you are configuring this yourself") } } } diff --git a/spec/classes/openstack_cinder_all_spec.rb b/spec/classes/openstack_cinder_all_spec.rb index 950d5e4..80a36dd 100644 --- a/spec/classes/openstack_cinder_all_spec.rb +++ b/spec/classes/openstack_cinder_all_spec.rb @@ -56,6 +56,15 @@ describe 'openstack::cinder::all' do should_not contain_class('cinder::setup_test_volume') end + describe 'with manage_volumes set to false' do + before do + params.merge!( + :manage_volumes => false + ) + end + it { should_not contain_class('cinder::volume') } + end + describe 'with a volume driver other than iscsi' do before do params.merge!(