Update gpfs volume driver path

* Change of driver path from "drivers.gpfs.GPFSDriver" to
  "drivers.ibm.gpfs.GPFSDriver"
* Fix issue of assigning "gpfs_images_share_mode=copy_on_write"
  even if the parent attribute "gpfs_images_dir" is not defined

Change-Id: Ica00f00901502857d5d21ef7ce7ae3b68e4ca9b7
Closes-Bug: #1389955
This commit is contained in:
Sasikanth
2014-11-07 13:42:46 +05:30
parent 5b2b60b319
commit cf9ec63b94
6 changed files with 22 additions and 13 deletions

View File

@@ -12,6 +12,7 @@ This file is used to list changes made in each version of the openstack-block-st
* Add sysfsutils package for storwize/SVC driver * Add sysfsutils package for storwize/SVC driver
* Add glance_ca_certificates_file * Add glance_ca_certificates_file
* Add default_volume_type config option * Add default_volume_type config option
* Update gpfs volume driver path and fix gpfs_images_share_mode initialization
## 10.0.0 ## 10.0.0
* Upgrading to Juno * Upgrading to Juno

View File

@@ -106,7 +106,7 @@ Cinder attributes
- **cinder.volume.drivers.rbd.RBDDriver** - Ceph Block Device driver - **cinder.volume.drivers.rbd.RBDDriver** - Ceph Block Device driver
- **cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver** - NetApp NFS direct driver for 7-Mode storage controller - **cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver** - NetApp NFS direct driver for 7-Mode storage controller
- **cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver** - IBM Storwize/SVC driver - **cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver** - IBM Storwize/SVC driver
- **cinder.volume.drivers.gpfs.GPFSDriver** - IBM General Parallel File System driver - **cinder.volume.drivers.ibm.gpfs.GPFSDriver** - IBM General Parallel File System driver
- **cinder.volume.drivers.ibm.ibmnas.IBMNAS_NFSDriver** - IBM Storwize V7000 Unified and IBM SONAS Cinder driver - **cinder.volume.drivers.ibm.ibmnas.IBMNAS_NFSDriver** - IBM Storwize V7000 Unified and IBM SONAS Cinder driver
- **cinder.volume.drivers.lvm.LVMISCSIDriver** - LVM Driver - **cinder.volume.drivers.lvm.LVMISCSIDriver** - LVM Driver
- **cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver** - EMC SMI-S iSCSI Driver - **cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver** - EMC SMI-S iSCSI Driver

View File

@@ -125,7 +125,7 @@ when 'cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver'
end end
end end
when 'cinder.volume.drivers.gpfs.GPFSDriver' when 'cinder.volume.drivers.ibm.gpfs.GPFSDriver'
directory node['openstack']['block-storage']['gpfs']['gpfs_mount_point_base'] do directory node['openstack']['block-storage']['gpfs']['gpfs_mount_point_base'] do
mode '0755' mode '0755'
owner node['openstack']['block-storage']['user'] owner node['openstack']['block-storage']['user']

View File

@@ -706,10 +706,10 @@ describe 'openstack-block-storage::cinder-common' do
context 'gpfs settings' do context 'gpfs settings' do
before do before do
node.set['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.drivers.gpfs.GPFSDriver' node.set['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.drivers.ibm.gpfs.GPFSDriver'
end end
%w(gpfs_mount_point_base gpfs_images_share_mode gpfs_max_clone_depth %w(gpfs_mount_point_base gpfs_max_clone_depth
gpfs_sparse_volumes gpfs_storage_pool).each do |attr| gpfs_sparse_volumes gpfs_storage_pool).each do |attr|
it "has gpfs #{attr} set" do it "has gpfs #{attr} set" do
node.set['openstack']['block-storage']['gpfs'][attr] = "gpfs_#{attr}_value" node.set['openstack']['block-storage']['gpfs'][attr] = "gpfs_#{attr}_value"
@@ -720,11 +720,13 @@ describe 'openstack-block-storage::cinder-common' do
it 'has no gpfs_images_dir line without the attribute' do it 'has no gpfs_images_dir line without the attribute' do
node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = nil node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = nil
expect(chef_run).not_to render_file(file.name).with_content(/^gpfs_images_dir = /) expect(chef_run).not_to render_file(file.name).with_content(/^gpfs_images_dir = /)
expect(chef_run).not_to render_file(file.name).with_content(/^gpfs_images_share_mode = /)
end end
it 'has gpfs_images_dir line with attribute present' do it 'has gpfs_images_dir line with attribute present' do
node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = 'gpfs_images_dir_value' node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = 'gpfs_images_dir_value'
expect(chef_run).to render_file(file.name).with_content(/^gpfs_images_dir = gpfs_images_dir_value$/) expect(chef_run).to render_file(file.name).with_content(/^gpfs_images_dir = gpfs_images_dir_value$/)
expect(chef_run).to render_file(file.name).with_content(/^gpfs_images_share_mode = copy_on_write$/)
end end
it 'templates misc_cinder array correctly' do it 'templates misc_cinder array correctly' do
@@ -777,7 +779,7 @@ describe 'openstack-block-storage::cinder-common' do
'multi_vmware' => 'multi-vmware' 'multi_vmware' => 'multi-vmware'
}, },
'gpfs' => { 'gpfs' => {
'volume_driver' => 'cinder.volume.drivers.gpfs.GPFSDriver', 'volume_driver' => 'cinder.volume.drivers.ibm.gpfs.GPFSDriver',
'multi_gpfs' => 'multi-gpfs' 'multi_gpfs' => 'multi-gpfs'
} }
} }
@@ -828,7 +830,7 @@ describe 'openstack-block-storage::cinder-common' do
expect(chef_run).to render_file(file.name).with_content(/^volume_driver = cinder\.volume\.drivers\.vmware\.vmdk\.VMwareVcVmdkDriver$/) expect(chef_run).to render_file(file.name).with_content(/^volume_driver = cinder\.volume\.drivers\.vmware\.vmdk\.VMwareVcVmdkDriver$/)
expect(chef_run).to render_file(file.name).with_content(/^\[gpfs\]$/) expect(chef_run).to render_file(file.name).with_content(/^\[gpfs\]$/)
expect(chef_run).to render_file(file.name).with_content(/^volume_driver = cinder\.volume\.drivers\.gpfs\.GPFSDriver$/) expect(chef_run).to render_file(file.name).with_content(/^volume_driver = cinder\.volume\.drivers\.ibm\.gpfs\.GPFSDriver$/)
end end
it 'set lvm option' do it 'set lvm option' do

View File

@@ -113,7 +113,7 @@ describe 'openstack-block-storage::volume' do
describe 'IBM GPFS volume driver' do describe 'IBM GPFS volume driver' do
before do before do
@chef_run = ::ChefSpec::Runner.new ::REDHAT_OPTS do |n| @chef_run = ::ChefSpec::Runner.new ::REDHAT_OPTS do |n|
n.set['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.drivers.gpfs.GPFSDriver' n.set['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.drivers.ibm.gpfs.GPFSDriver'
n.set['openstack']['block-storage']['gpfs']['gpfs_mount_point_base'] = 'volumes' n.set['openstack']['block-storage']['gpfs']['gpfs_mount_point_base'] = 'volumes'
end end
@@ -126,17 +126,23 @@ describe 'openstack-block-storage::volume' do
/^gpfs_mount_point_base = volumes$/) /^gpfs_mount_point_base = volumes$/)
end end
it 'verifies gpfs_images_dir' do it 'verifies gpfs_images_dir and gpfs_images_share_mode is set with default value' do
@chef_run.node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = 'images' @chef_run.node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = 'images'
expect(@chef_run).to render_file(@conf).with_content( expect(@chef_run).to render_file(@conf).with_content(
/^gpfs_images_dir = images$/) /^gpfs_images_dir = images$/)
end
it 'verifies gpfs_images_share_mode is default' do
expect(@chef_run).to render_file(@conf).with_content( expect(@chef_run).to render_file(@conf).with_content(
/^gpfs_images_share_mode = copy_on_write$/) /^gpfs_images_share_mode = copy_on_write$/)
end end
it 'verifies gpfs_images_dir and gpfs_images_share_mode set correctly' do
@chef_run.node.set['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = 'images'
@chef_run.node.set['openstack']['block-storage']['gpfs']['gpfs_images_share_mode'] = 'copy'
expect(@chef_run).to render_file(@conf).with_content(
/^gpfs_images_dir = images$/)
expect(@chef_run).to render_file(@conf).with_content(
/^gpfs_images_share_mode = copy$/)
end
it 'verifies gpfs_sparse_volumes is default' do it 'verifies gpfs_sparse_volumes is default' do
expect(@chef_run).to render_file(@conf).with_content( expect(@chef_run).to render_file(@conf).with_content(
/^gpfs_sparse_volumes = true$/) /^gpfs_sparse_volumes = true$/)

View File

@@ -967,7 +967,7 @@ vmware_image_transfer_timeout_secs = <%= node['openstack']['block-storage']['vmw
vmware_max_objects_retrieval = <%= node['openstack']['block-storage']['vmware']['vmware_max_objects_retrieval'] %> vmware_max_objects_retrieval = <%= node['openstack']['block-storage']['vmware']['vmware_max_objects_retrieval'] %>
<% end %> <% end %>
<% if @enabled_drivers.include?('cinder.volume.drivers.gpfs.GPFSDriver') %> <% if @enabled_drivers.include?('cinder.volume.drivers.ibm.gpfs.GPFSDriver') %>
######## defined in cinder.openstack.volume.drivers.ibm.gpfs ######## ######## defined in cinder.openstack.volume.drivers.ibm.gpfs ########
# Specifies the path of the GPFS directory where Block Storage # Specifies the path of the GPFS directory where Block Storage
@@ -979,7 +979,6 @@ gpfs_mount_point_base = <%= node["openstack"]["block-storage"]["gpfs"]["gpfs_mou
# Leave undefined if not storing images in GPFS. (string # Leave undefined if not storing images in GPFS. (string
# value) # value)
gpfs_images_dir = <%= node['openstack']['block-storage']['gpfs']['gpfs_images_dir'] %> gpfs_images_dir = <%= node['openstack']['block-storage']['gpfs']['gpfs_images_dir'] %>
<% end %>
# Specifies the type of image copy to be used. Set this when # Specifies the type of image copy to be used. Set this when
# the Image service repository also uses GPFS so that image # the Image service repository also uses GPFS so that image
@@ -990,6 +989,7 @@ gpfs_images_dir = <%= node['openstack']['block-storage']['gpfs']['gpfs_images_di
# strategy is used and unmodified blocks of the image file are # strategy is used and unmodified blocks of the image file are
# shared efficiently. (string value) # shared efficiently. (string value)
gpfs_images_share_mode = <%= node['openstack']['block-storage']['gpfs']['gpfs_images_share_mode'] %> gpfs_images_share_mode = <%= node['openstack']['block-storage']['gpfs']['gpfs_images_share_mode'] %>
<% end %>
# Specifies an upper limit on the number of indirections # Specifies an upper limit on the number of indirections
# required to reach a specific block due to snapshots or # required to reach a specific block due to snapshots or