From 538491c5d2360dfc1eb9a56259284681d8cd6e02 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 14 Apr 2014 10:27:59 +0200 Subject: [PATCH] ceph keyring: manage group via virtual resource Manage the group membership with a Puppet Virtual Resource. Bug #402 --- manifests/compute/hypervisor.pp | 6 +++--- manifests/volume/backend/rbd.pp | 6 +++--- spec/classes/cloud_compute_hypervisor_spec.rb | 1 - spec/classes/cloud_volume_storage_spec.rb | 1 - 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index f852d3be..bf056f15 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -150,9 +150,9 @@ Host * ensure => 'present' }) - exec {'add-nova-to-group': - command => 'usermod -a -G cephkeyring nova' - } + @user { 'nova': groups => 'cephkeyring' } + User <| title == nvoa |> + realize User[nova] ensure_resource('file', "/etc/ceph/ceph.client.${cinder_rbd_user}.keyring", { owner => 'root', diff --git a/manifests/volume/backend/rbd.pp b/manifests/volume/backend/rbd.pp index 7b7cb90d..08387986 100644 --- a/manifests/volume/backend/rbd.pp +++ b/manifests/volume/backend/rbd.pp @@ -80,9 +80,9 @@ define cloud::volume::backend::rbd ( ensure => 'present' }) - exec {'add-cinder-to-group': - command => 'usermod -a -G cephkeyring cinder' - } + @user { 'cinder': groups => 'cephkeyring' } + User <| title == cinder |> + realize User[cinder] ensure_resource('file', "/etc/ceph/ceph.client.${rbd_user}.keyring", { owner => 'root', diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 9e465e4f..d7effc22 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -240,7 +240,6 @@ describe 'cloud::compute::hypervisor' do should contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') should contain_nova_config('DEFAULT/rbd_secret_uuid').with('value' => 'secrete') should contain_group('cephkeyring').with(:ensure => 'present') - should contain_exec('add-nova-to-group').with(:command => 'usermod -a -G cephkeyring nova') end it 'configure nova-compute with extra parameters' do diff --git a/spec/classes/cloud_volume_storage_spec.rb b/spec/classes/cloud_volume_storage_spec.rb index f4a94938..6d1fe444 100644 --- a/spec/classes/cloud_volume_storage_spec.rb +++ b/spec/classes/cloud_volume_storage_spec.rb @@ -107,7 +107,6 @@ describe 'cloud::volume::storage' do :os_auth_url => 'http://keystone.host:5000/v2.0' ) should contain_group('cephkeyring').with(:ensure => 'present') - should contain_exec('add-cinder-to-group').with(:command => 'usermod -a -G cephkeyring cinder') end end