diff --git a/CHANGELOG.md b/CHANGELOG.md index 36b6700..354254a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,11 @@ openstack-block-storage Cookbook CHANGELOG ============================== This file is used to list changes made in each version of the openstack-block-storage cookbook. ## 10.1.0 -* Add disable logic for stage fix to tgtd issue on RHEL 7 * Use common specific_endpoint routines (bug 1412919) * Install qemu-img package for volume nodes +* update iscsi_helper for RHEL7 +* update cinder_iscsitarget_packages for RHEL7 +* update cinder_iscsitarget_service for RHEL7 ## 10.0.1 # Update cinder.conf mode from 0644 to 0640 diff --git a/attributes/default.rb b/attributes/default.rb index 14f3c78..65f41e7 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -305,6 +305,7 @@ when 'fedora', 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this # operating system user and group names default['openstack']['block-storage']['user'] = 'cinder' default['openstack']['block-storage']['group'] = 'cinder' + default['openstack']['block-storage']['volume']['iscsi_helper'] = 'lioadm' default['openstack']['block-storage']['platform'] = { 'cinder_common_packages' => ['openstack-cinder'], @@ -315,21 +316,14 @@ when 'fedora', 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this 'cinder_volume_service' => 'openstack-cinder-volume', 'cinder_scheduler_packages' => [], 'cinder_scheduler_service' => 'openstack-cinder-scheduler', - 'cinder_iscsitarget_packages' => ['scsi-target-utils'], - 'cinder_iscsitarget_service' => 'tgtd', + 'cinder_iscsitarget_packages' => ['targetcli'], + 'cinder_iscsitarget_service' => 'target', 'cinder_ceph_packages' => ['python-ceph', 'ceph-common'], 'cinder_nfs_packages' => ['nfs-utils', 'nfs-utils-lib'], 'cinder_emc_packages' => ['pywbem'], 'cinder_svc_packages' => ['sysfsutils'], 'package_overrides' => '' } - if platform_family == 'rhel' && platform_version.to_i == 7 - # On RHEL7, tgtd has been removed, disable it here just for now. - # This is a stage fix for bug #1400958, new logic should be added to fully - # support new targetcli on RHEL7 - default['openstack']['block-storage']['platform']['cinder_iscsitarget_packages'] = [] - default['openstack']['block-storage']['platform']['cinder_iscsitarget_service'] = [] - end when 'suse' # operating system user and group names default['openstack']['block-storage']['user'] = 'openstack-cinder' diff --git a/recipes/volume.rb b/recipes/volume.rb index 664e0f5..0c288a8 100644 --- a/recipes/volume.rb +++ b/recipes/volume.rb @@ -227,19 +227,16 @@ service 'cinder-volume' do subscribes :restart, 'template[/etc/cinder/cinder.conf]' end -unless node['platform_family'] == 'rhel' && node['platform_version'].to_i == 7 - # On RHEL7, tgtd has been removed, disable it here just for now. - # This is a stage fix for bug #1400958, new logic should be added to fully - # support new targetcli on RHEL7 - service 'iscsitarget' do - service_name platform_options['cinder_iscsitarget_service'] - supports status: true, restart: true - action :enable - end - - template '/etc/tgt/targets.conf' do - source 'targets.conf.erb' - mode 00600 - notifies :restart, 'service[iscsitarget]', :immediately - end +service 'iscsitarget' do + service_name platform_options['cinder_iscsitarget_service'] + supports status: true, restart: true + action :enable +end + +# RHEL7 doesn't need targets.conf file +template '/etc/tgt/targets.conf' do + source 'targets.conf.erb' + mode 00600 + notifies :restart, 'service[iscsitarget]', :immediately + not_if { node['platform_family'] == 'rhel' && node['platform_version'].to_i == 7 } end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1fb81d7..7686c58 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -16,11 +16,6 @@ SUSE_OPTS = { log_level: LOG_LEVEL } REDHAT_OPTS = { - platform: 'redhat', - version: '6.5', - log_level: LOG_LEVEL -} -REDHAT7_OPTS = { platform: 'redhat', version: '7.0', log_level: LOG_LEVEL diff --git a/spec/volume-redhat_spec.rb b/spec/volume-redhat_spec.rb index 934f512..331d196 100644 --- a/spec/volume-redhat_spec.rb +++ b/spec/volume-redhat_spec.rb @@ -36,7 +36,7 @@ describe 'openstack-block-storage::volume' do end it 'upgrades cinder iscsi package' do - expect(chef_run).to upgrade_package('scsi-target-utils') + expect(chef_run).to upgrade_package('targetcli') end it 'starts cinder volume' do @@ -48,17 +48,8 @@ describe 'openstack-block-storage::volume' do end context 'ISCSI' do - let(:file) { chef_run.template('/etc/tgt/targets.conf') } it 'starts iscsi target on boot' do - expect(chef_run).to enable_service('tgtd') - end - - it 'has redhat include' do - node.set['openstack']['block-storage']['volume']['volumes_dir'] = 'volumes_dir_value' - expect(chef_run).to render_file(file.name).with_content( - 'include volumes_dir_value/*') - expect(chef_run).not_to render_file(file.name).with_content( - 'include /etc/tgt/conf.d/*.conf') + expect(chef_run).to enable_service('target') end end @@ -191,22 +182,5 @@ describe 'openstack-block-storage::volume' do end end end - - end - - describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT7_OPTS) } - let(:node) { runner.node } - let(:chef_run) { runner.converge(described_recipe) } - - include_context 'block-storage-stubs' - - it 'disable tgtd for rhel7' do - # test temp solution for RHEL7 to disable tgtd - # stage fix for bug #1400958 - expect(chef_run).not_to upgrade_package('scsi-target-utils') - expect(chef_run).not_to enable_service('iscsitarget') - expect(chef_run).not_to create_template('/etc/tgt/targets.conf') - end end end