diff --git a/CHANGELOG.md b/CHANGELOG.md index 413c902..8f747c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ This file is used to list changes made in each version of cookbook-openstack-ima ## 10.1.0 ### Blue print * Make container_formats and disk_formats configurable +* Set the owner/group of openstack image cache directory to glance/glance. ## 10.0.0 * Upgrading to Juno diff --git a/recipes/api.rb b/recipes/api.rb index 0dec100..9577f48 100644 --- a/recipes/api.rb +++ b/recipes/api.rb @@ -254,6 +254,14 @@ cron 'glance-cache-cleaner' do command "/usr/bin/glance-cache-cleaner #{node['openstack']['image']['cron']['redirection']}" end +# Ensure the owner/group of image cache directory is correct +directory node['openstack']['image']['cache']['dir'] do + owner node['openstack']['image']['user'] + group node['openstack']['image']['group'] + recursive true + mode 00755 +end + template '/etc/glance/glance-scrubber-paste.ini' do source 'glance-scrubber-paste.ini.erb' owner node['openstack']['image']['user'] diff --git a/spec/api_spec.rb b/spec/api_spec.rb index f5178d9..e402723 100644 --- a/spec/api_spec.rb +++ b/spec/api_spec.rb @@ -31,6 +31,7 @@ describe 'openstack-image::api' do include_examples 'common-logging-recipe' include_examples 'common-packages' include_examples 'cache-directory' + include_examples 'image-lib-cache-directory' include_examples 'glance-directory' it 'does not upgrade swift package by default' do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1f2227c..d5904a6 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -111,6 +111,25 @@ shared_examples 'cache-directory' do end end +shared_examples 'image-lib-cache-directory' do + describe '/var/lib/glance/image-cache/' do + let(:dir) { chef_run.directory('/var/lib/glance/image-cache/') } + + it 'has proper owner' do + expect(dir.owner).to eq('glance') + expect(dir.group).to eq('glance') + end + + it 'has proper modes' do + expect(sprintf('%o', dir.mode)).to eq '755' + end + + it 'creates directory recursively' do + expect(dir.recursive).to eq(true) + end + end +end + shared_examples 'glance-directory' do describe '/etc/glance' do let(:dir) { chef_run.directory('/etc/glance') }