From d2ff4496bbbd52cfeeef05cc4d39217da69d5b23 Mon Sep 17 00:00:00 2001 From: Samuel Cassiba Date: Tue, 11 Jul 2017 06:19:21 -0700 Subject: [PATCH] Added systemd unit, style and lint fixes for chefdk - cinder-group-active is still SysV, but can and will start via systemd if coaxed to do so. - Style and lint fixes for newer chefdk - Removed ancient Gemfile - Rewrote metadata.rb for readability Change-Id: I4c26aea78220eb20fc4e5e964af93414855df5f6 --- .rubocop_todo.yml | 10 +++++----- Gemfile | 15 --------------- files/default/cinder-group-active.service | 18 ++++++++++++++++++ metadata.rb | 20 +++++++++++--------- recipes/api.rb | 2 +- recipes/cinder-common.rb | 8 ++++---- recipes/volume.rb | 2 +- recipes/volume_driver_lvm.rb | 8 +++++++- spec/api_spec.rb | 3 ++- spec/cinder_common_spec.rb | 8 ++++---- spec/spec_helper.rb | 2 +- spec/volume_spec.rb | 2 +- 12 files changed, 55 insertions(+), 43 deletions(-) delete mode 100644 Gemfile create mode 100644 files/default/cinder-group-active.service diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 7401031..1c65a87 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,15 +1,15 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2017-02-23 16:58:21 +0100 using RuboCop version 0.39.0. +# on 2017-08-02 02:05:24 -0400 using RuboCop version 0.47.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 1 -Lint/ParenthesesAsGroupedExpression: - Exclude: - - 'recipes/identity_registration.rb' +# Offense count: 18 +# Configuration parameters: CountComments, ExcludedMethods. +Metrics/BlockLength: + Max: 178 # Offense count: 4 # Configuration parameters: EnforcedStyle, SupportedStyles. diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 0c916ff..0000000 --- a/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -## THIS GEMFILE IS DEPRECATED AND WILL BE REMOVED AFTER THE NEXT RELEASE -## THERE WON'T BE ANY UPDATES TO THIS FILE DURING THIS RELEASE CYCLE -## WE SWITCHED TO CHEFDK AS THE BUNDLE FOR THE NEEDED GEMS - -# encoding: UTF-8 -source 'https://rubygems.org' - -gem 'chef', '~> 11.18.6' -gem 'json', '<= 1.7.7' # chef 11 dependency -gem 'berkshelf', '~> 3.2.1' -gem 'hashie', '~> 2.0' -gem 'chefspec', '~> 4.0.0' -gem 'rspec', '~> 3.0.0' -gem 'foodcritic', '~> 4.0' -gem 'rubocop', '~> 0.29.1' diff --git a/files/default/cinder-group-active.service b/files/default/cinder-group-active.service new file mode 100644 index 0000000..37cc140 --- /dev/null +++ b/files/default/cinder-group-active.service @@ -0,0 +1,18 @@ +[Unit] +SourcePath=/etc/init.d/cinder-group-active +Description=LSB: cinder volume group active script +After=remote-fs.target +After=network-online.target +After=systemd-journald-dev-log.socket +Wants=network-online.target + +[Service] +Type=oneshot +Restart=no +TimeoutSec=5min +IgnoreSIGPIPE=no +KillMode=process +GuessMainPID=no +RemainAfterExit=true +ExecStart=/etc/init.d/cinder-group-active start +ExecStop=/etc/init.d/cinder-group-active stop diff --git a/metadata.rb b/metadata.rb index 2f2b11f..39f4965 100644 --- a/metadata.rb +++ b/metadata.rb @@ -1,20 +1,22 @@ -# encoding: UTF-8 -name 'openstack-block-storage' -maintainer 'openstack-chef' +name 'openstack-block-storage' +maintainer 'Chef OpenStack' maintainer_email 'openstack-dev@lists.openstack.org' -issues_url 'https://launchpad.net/openstack-chef' if respond_to?(:issues_url) -source_url 'https://github.com/openstack/cookbook-openstack-block-storage' if respond_to?(:source_url) -license 'Apache 2.0' -description 'The OpenStack Advanced Volume Management service Cinder.' +license 'Apache 2.0' +description 'The OpenStack Advanced Volume Management service Cinder.' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '15.0.0' +version '15.0.0' %w(ubuntu redhat centos).each do |os| supports os end -depends 'apt', '~> 5.0' depends 'openstack-common', '>= 15.0.0' depends 'openstack-identity', '>= 15.0.0' depends 'openstack-image', '>= 15.0.0' depends 'openstackclient' + +depends 'apt', '~> 5.0' + +issues_url 'https://launchpad.net/openstack-chef' if respond_to?(:issues_url) +source_url 'https://github.com/openstack/cookbook-openstack-block-storage' if respond_to?(:source_url) +chef_version '>= 12.5' if respond_to?(:chef_version) diff --git a/recipes/api.rb b/recipes/api.rb index a9a6a8f..726c5ce 100644 --- a/recipes/api.rb +++ b/recipes/api.rb @@ -57,6 +57,6 @@ if node['openstack']['block-storage']['policyfile_url'] source node['openstack']['block-storage']['policyfile_url'] owner node['openstack']['block-storage']['user'] group node['openstack']['block-storage']['group'] - mode 00644 + mode 0o0644 end end diff --git a/recipes/cinder-common.rb b/recipes/cinder-common.rb index 15170db..57edc9c 100644 --- a/recipes/cinder-common.rb +++ b/recipes/cinder-common.rb @@ -59,7 +59,7 @@ auth_url = identity_admin_endpoint.to_s directory '/etc/cinder' do group node['openstack']['block-storage']['group'] owner node['openstack']['block-storage']['user'] - mode 00750 + mode 0o0750 action :create end @@ -100,7 +100,7 @@ template '/etc/cinder/cinder.conf' do cookbook 'openstack-common' group node['openstack']['block-storage']['group'] owner node['openstack']['block-storage']['user'] - mode 00640 + mode 0o0640 variables( service_config: cinder_conf_options ) @@ -119,7 +119,7 @@ directory node['openstack']['block-storage']['conf']['oslo_concurrency']['lock_p group node['openstack']['block-storage']['group'] owner node['openstack']['block-storage']['user'] recursive true - mode 00755 + mode 0o0755 end if node['openstack']['block-storage']['use_rootwrap'] @@ -128,7 +128,7 @@ if node['openstack']['block-storage']['use_rootwrap'] cookbook 'openstack-common' owner 'root' group 'root' - mode 00644 + mode 0o0644 variables( service_config: node['openstack']['block-storage']['rootwrap']['conf'] ) diff --git a/recipes/volume.rb b/recipes/volume.rb index 79f6202..6132f3e 100644 --- a/recipes/volume.rb +++ b/recipes/volume.rb @@ -68,7 +68,7 @@ end # RHEL7 doesn't need targets.conf file template '/etc/tgt/targets.conf' do source 'targets.conf.erb' - mode 00600 + mode 0o0600 notifies :restart, 'service[iscsitarget]', :immediately not_if { node['platform_family'] == 'rhel' && node['platform_version'].to_i == 7 } end diff --git a/recipes/volume_driver_lvm.rb b/recipes/volume_driver_lvm.rb index ccb8729..f12afae 100644 --- a/recipes/volume_driver_lvm.rb +++ b/recipes/volume_driver_lvm.rb @@ -41,9 +41,15 @@ when 'file' not_if "vgs #{vg_name}" end + cookbook_file '/etc/systemd/system/cinder-group-active.service' do + source 'cinder-group-active.service' + mode '0644' + action :create_if_missing + end + template '/etc/init.d/cinder-group-active' do source 'cinder-group-active.erb' - mode '755' + mode '0755' variables( volume_name: vg_name, volume_file: vg_file diff --git a/spec/api_spec.rb b/spec/api_spec.rb index 0233a84..366a2bb 100644 --- a/spec/api_spec.rb +++ b/spec/api_spec.rb @@ -45,7 +45,8 @@ describe 'openstack-block-storage::api' do expect(chef_run).to create_remote_file('/etc/cinder/policy.json').with( user: 'cinder', group: 'cinder', - mode: 00644) + mode: 0o0644 + ) end end end diff --git a/spec/cinder_common_spec.rb b/spec/cinder_common_spec.rb index d912040..2a11540 100644 --- a/spec/cinder_common_spec.rb +++ b/spec/cinder_common_spec.rb @@ -28,7 +28,7 @@ describe 'openstack-block-storage::cinder-common' do expect(chef_run).to create_directory(dir.name).with( owner: 'cinder', group: 'cinder', - mode: 00750 + mode: 0o0750 ) end end @@ -46,7 +46,7 @@ describe 'openstack-block-storage::cinder-common' do expect(chef_run).to create_template(file.name).with( owner: 'cinder', group: 'cinder', - mode: 00640 + mode: 0o0640 ) end @@ -185,7 +185,7 @@ describe 'openstack-block-storage::cinder-common' do expect(chef_run).to create_directory(dir.name).with( user: 'cinder', group: 'cinder', - mode: 00755 + mode: 0o0755 ) end end @@ -197,7 +197,7 @@ describe 'openstack-block-storage::cinder-common' do expect(chef_run).to create_template(file.name).with( user: 'root', group: 'root', - mode: 0644 + mode: 0o644 ) end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 029cfa8..061067c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -98,7 +98,7 @@ shared_examples 'creates_cinder_conf' do |service, user, group, action = :restar expect(chef_run).to create_template(file.name).with( user: user, group: group, - mode: 0640 + mode: 0o640 ) end diff --git a/spec/volume_spec.rb b/spec/volume_spec.rb index acf38eb..5c6b3b2 100644 --- a/spec/volume_spec.rb +++ b/spec/volume_spec.rb @@ -54,7 +54,7 @@ describe 'openstack-block-storage::volume' do it 'should create the targets.conf' do expect(chef_run).to create_template(file.name).with( - mode: 0600 + mode: 0o600 ) end