diff --git a/recipes/cinder-common.rb b/recipes/cinder-common.rb index a66591f..f7781f5 100644 --- a/recipes/cinder-common.rb +++ b/recipes/cinder-common.rb @@ -45,10 +45,13 @@ elsif mq_service_type == 'qpid' mq_password = get_password 'user', node['openstack']['mq']['block-storage']['qpid']['username'] end -if node['openstack']['block-storage']['volume']['driver'] == 'cinder.volume.drivers.solidfire.SolidFire' +case node['openstack']['block-storage']['volume']['driver'] +when 'cinder.volume.drivers.solidfire.SolidFire' solidfire_pass = get_password 'user', node['openstack']['block-storage']['solidfire']['san_login'] -elsif node['openstack']['block-storage']['volume']['driver'] == 'cinder.volume.drivers.ibm.ibmnas.IBMNAS_NFSDriver' +when 'cinder.volume.drivers.ibm.ibmnas.IBMNAS_NFSDriver' ibmnas_pass = get_password 'user', node['openstack']['block-storage']['ibmnas']['nas_login'] +when 'cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver' + vmware_host_pass = get_secret node['openstack']['block-storage']['vmware']['secret_name'] end glance_api_endpoint = endpoint 'image-api' @@ -61,8 +64,6 @@ directory '/etc/cinder' do action :create end -vmware_host_pass = get_secret node['openstack']['block-storage']['vmware']['secret_name'] - template '/etc/cinder/cinder.conf' do source 'cinder.conf.erb' group node['openstack']['block-storage']['group'] diff --git a/spec/cinder_common_spec.rb b/spec/cinder_common_spec.rb index 931384f..3c4f342 100644 --- a/spec/cinder_common_spec.rb +++ b/spec/cinder_common_spec.rb @@ -472,14 +472,16 @@ describe 'openstack-block-storage::cinder-common' do context 'vmware vmdk settings' do before do node.set['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver' + %w(vmware_host_ip vmware_host_username + vmware_api_retry_count vmware_task_poll_interval vmware_volume_folder + vmware_image_transfer_timeout_secs vmware_max_objects_retrieval).each do |attr| + node.set['openstack']['block-storage']['vmware'][attr] = "vmware_#{attr}_value" + end end - %w(vmware_host_ip vmware_host_username - vmware_api_retry_count vmware_task_poll_interval vmware_volume_folder - vmware_image_transfer_timeout_secs vmware_max_objects_retrieval).each do |attr| - it "has vmware #{attr} set" do - node.set['openstack']['block-storage']['vmware'][attr] = "vmware_#{attr}_value" - expect(chef_run).to render_file(file.name).with_content(/^#{attr} = vmware_#{attr}_value$/) + it 'has vmware attributes set' do + node['openstack']['block-storage']['vmware'].each do |attr, val| + expect(chef_run).to render_file(file.name).with_content(/^#{attr} = #{val}$/) end end