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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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']
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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$/)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user