From d064997cd4c50d9b5365fe2ffca60e14a86b08e1 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 7 Jan 2014 16:41:14 -0500 Subject: [PATCH] Only add ceilometer user to nova group if using compute agent When using ceilometer outside of the compute context (ex: with the swift middleware), puppet-ceilometer attempts to add the user to the nova group which does not (and probably should not) exist on the swift nodes. Change-Id: I6cc68152325a967c024ce611f92a90ce0afba8cc --- manifests/agent/compute.pp | 6 +++++- manifests/init.pp | 1 - spec/classes/ceilometer_agent_compute_spec.rb | 6 ++++-- spec/classes/ceilometer_init_spec.rb | 1 - 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/manifests/agent/compute.pp b/manifests/agent/compute.pp index 0789c5d..acb60ea 100644 --- a/manifests/agent/compute.pp +++ b/manifests/agent/compute.pp @@ -22,7 +22,11 @@ class ceilometer::agent::compute ( if $::ceilometer::params::libvirt_group { User['ceilometer'] { - groups +> [$::ceilometer::params::libvirt_group] + groups => ['nova', $::ceilometer::params::libvirt_group] + } + } else { + User['ceilometer'] { + groups => ['nova'] } } diff --git a/manifests/init.pp b/manifests/init.pp index 97a75b1..e1c7899 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -89,7 +89,6 @@ class ceilometer( user { 'ceilometer': name => 'ceilometer', gid => 'ceilometer', - groups => ['nova'], system => true, require => Package['ceilometer-common'], } diff --git a/spec/classes/ceilometer_agent_compute_spec.rb b/spec/classes/ceilometer_agent_compute_spec.rb index 7cf04db..3d5ed9a 100644 --- a/spec/classes/ceilometer_agent_compute_spec.rb +++ b/spec/classes/ceilometer_agent_compute_spec.rb @@ -24,9 +24,11 @@ describe 'ceilometer::agent::compute' do ) end - it 'adds ceilometer user to libvirt group if required' do + it 'adds ceilometer user to nova group and, if required, to libvirt group' do if platform_params[:libvirt_group] - should contain_user('ceilometer').with_groups(/#{platform_params[:libvirt_group]}/) + should contain_user('ceilometer').with_groups(['nova', "#{platform_params[:libvirt_group]}"]) + else + should contain_user('ceilometer').with_groups('nova') end end diff --git a/spec/classes/ceilometer_init_spec.rb b/spec/classes/ceilometer_init_spec.rb index f455c86..08ad98c 100644 --- a/spec/classes/ceilometer_init_spec.rb +++ b/spec/classes/ceilometer_init_spec.rb @@ -76,7 +76,6 @@ describe 'ceilometer' do should contain_user('ceilometer').with( :name => 'ceilometer', :gid => 'ceilometer', - :groups => ['nova'], :system => true, :require => 'Package[ceilometer-common]' ) -- 2.45.2