From c75f535263f4b7097bdb200d17a15495a27b93da Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 26 Feb 2014 16:18:30 +0100 Subject: [PATCH 01/19] ceph: configure nova pool and keyring - dedicated pool for nova - nova user - nova keyring - ensure the key is on compute nodes Close bug #309 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 11 +++++++++++ manifests/storage/rbd/pools.pp | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 05d6415c..7e6f40bf 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -135,6 +135,17 @@ Host * File <<| tag == 'ceph_compute_secret_file' |>> Exec <<| tag == 'get_or_set_virsh_secret' |>> Exec <<| tag == 'set_secret_value_virsh' |>> + + Ceph::Key <<| title == $nova_user |>> + if defined(Ceph::Key[$cinder_user]) { + file { '/etc/ceph/ceph.client.cinder.keyring': + owner => 'nova', + group => 'nova', + mode => '0400', + require => Ceph::Key[$nova_user] + } + } + Concat::Fragment <<| title == 'ceph-client-os' |>> } class { 'ceilometer::agent::compute': } diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index c35d504c..92014808 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -19,6 +19,8 @@ class cloud::storage::rbd::pools( $glance_pool = $os_params::glance_rbd_pool, $cinder_user = $os_params::cinder_rbd_user, $cinder_pool = $os_params::cinder_rbd_pool, + $nova_user = $os_params::nova_rbd_user, + $nova_pool = $os_params::nova_rbd_pool, $pool_default_pg_num = $::ceph::conf::pool_default_pg_num, $pool_default_pgp_num = $::ceph::conf::pool_default_pgp_num, $cinder_backup_user = $os_params::cinder_rbd_backup_user, @@ -54,6 +56,19 @@ class cloud::storage::rbd::pools( require => Exec['create_cinder_volumes_pool']; } + # ceph osd pool create poolname 128 128 + exec { 'create_nova_vm_pool': + command => "rados mkpool ${nova_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + unless => "/usr/bin/rados lspools | grep -sq ${nova_pool}", + } + + exec { 'create_nova_vm_user_and_key': + # TODO: point PG num with a cluster variable + command => "ceph auth get-or-create client.${nova_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_pool}, allow rwx pool=${cinder_pool}, allow rwx pool=${nova_pool}'", + unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${nova_user}$'", + require => Exec['create_nova_vm_pool']; + } + if $::ceph_keyring_glance { # NOTE(fc): Puppet needs to run a second time to enter this ceph::key { $glance_user: @@ -80,7 +95,20 @@ class cloud::storage::rbd::pools( } } - $clients = ['glance', 'cinder'] + if $::ceph_keyring_nova { + # NOTE(fc): Puppet needs to run a second time to enter this + ceph::key { $cinder_user: + secret => $::ceph_keyring_nova, + keyring_path => "/etc/ceph/ceph.client.${nova_user}.keyring" + } -> + file { "/etc/ceph/ceph.client.${nova_user}.keyring": + owner => 'nova', + group => 'nova', + mode => '0400' + } + } + + $clients = ['glance', 'cinder', 'nova'] @@concat::fragment { 'ceph-clients-os': target => '/etc/ceph/ceph.conf', order => '95', @@ -110,7 +138,7 @@ class cloud::storage::rbd::pools( } @@exec { 'set_secret_value_virsh': - command => "virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_cinder}", + command => "virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_nova}", tag => 'ceph_compute_set_secret', refreshonly => true, } From b9c694c2307ee197ccc2ce4295910c4aa40b1a2a Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 26 Feb 2014 16:26:13 +0100 Subject: [PATCH 02/19] rbd/pools: fix typo Close bug #309 Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index 92014808..5a007dc8 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -97,7 +97,7 @@ class cloud::storage::rbd::pools( if $::ceph_keyring_nova { # NOTE(fc): Puppet needs to run a second time to enter this - ceph::key { $cinder_user: + ceph::key { $nova_user: secret => $::ceph_keyring_nova, keyring_path => "/etc/ceph/ceph.client.${nova_user}.keyring" } -> From 701bfaab7b0aa5ec39db5c6231de6861e7773ae8 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 26 Feb 2014 17:02:57 +0100 Subject: [PATCH 03/19] fix ceph username on computes Close bug #309 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 7e6f40bf..d0596bfc 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -34,8 +34,8 @@ class cloud::compute::hypervisor( $nova_ssh_private_key = $os_params::nova_ssh_private_key, $nova_ssh_public_key = $os_params::nova_ssh_public_key, $spice_port = $os_params::spice_port, - $rbd_user = $os_params::cinder_rbd_user, - $rbd_pool = $os_params::cinder_rbd_pool, + $rbd_user = $os_params::nova_rbd_user, + $rbd_pool = $os_params::nova_rbd_pool, $rbd_secret_uuid = $os_params::ceph_fsid, $has_ceph = false ) { @@ -137,8 +137,8 @@ Host * Exec <<| tag == 'set_secret_value_virsh' |>> Ceph::Key <<| title == $nova_user |>> - if defined(Ceph::Key[$cinder_user]) { - file { '/etc/ceph/ceph.client.cinder.keyring': + if defined(Ceph::Key[$nova_user]) { + file { '/etc/ceph/ceph.client.nova.keyring': owner => 'nova', group => 'nova', mode => '0400', From af242a1c803aa3f5d2dc3b2cab70aeecf54472c8 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 26 Feb 2014 18:43:15 +0100 Subject: [PATCH 04/19] unify params for rbd Close #309 Close #268 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 12 ++++++------ manifests/image.pp | 8 ++++---- spec/classes/cloud_compute_hypervisor_spec.rb | 10 +++++----- spec/classes/cloud_image_spec.rb | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index d0596bfc..ad82373a 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -34,9 +34,9 @@ class cloud::compute::hypervisor( $nova_ssh_private_key = $os_params::nova_ssh_private_key, $nova_ssh_public_key = $os_params::nova_ssh_public_key, $spice_port = $os_params::spice_port, - $rbd_user = $os_params::nova_rbd_user, - $rbd_pool = $os_params::nova_rbd_pool, - $rbd_secret_uuid = $os_params::ceph_fsid, + $nova_rbd_user = $os_params::nova_rbd_user, + $nova_rbd_pool = $os_params::nova_rbd_pool, + $nova_rbd_secret_uuid = $os_params::ceph_fsid, $has_ceph = false ) { @@ -118,10 +118,10 @@ Host * # TODO(EmilienM) Temporary, while https://review.openstack.org/#/c/72440 got merged nova_config { 'DEFAULT/libvirt_images_type': value => 'rbd'; - 'DEFAULT/libvirt_images_rbd_pool': value => $rbd_pool; + 'DEFAULT/libvirt_images_rbd_pool': value => $nova_rbd_pool; 'DEFAULT/libvirt_images_rbd_ceph_conf': value => '/etc/ceph/ceph.conf'; - 'DEFAULT/rbd_user': value => $rbd_user; - 'DEFAULT/rbd_secret_uuid': value => $rbd_secret_uuid; + 'DEFAULT/rbd_user': value => $nova_rbd_pool; + 'DEFAULT/rbd_secret_uuid': value => $nova_rbd_secret_uuid; } # Extra config for nova-compute diff --git a/manifests/image.pp b/manifests/image.pp index 54568ff8..ada01c44 100644 --- a/manifests/image.pp +++ b/manifests/image.pp @@ -80,8 +80,8 @@ class cloud::image( $rabbit_host = $os_params::rabbit_host, $api_eth = $os_params::api_eth, $openstack_vip = $os_params::vip_public_ip, - $rbd_store_pool = $os_params::glance_rbd_pool, - $rbd_store_user = $os_params::glance_rbd_user, + $glance_rbd_pool = $os_params::glance_rbd_pool, + $glance_rbd_user = $os_params::glance_rbd_user, $verbose = $os_params::verbose, $debug = $os_params::debug, $log_facility = $os_params::log_facility, @@ -132,8 +132,8 @@ class cloud::image( # } class { 'glance::backend::rbd': - rbd_store_user => $rbd_store_user, - rbd_store_pool => $rbd_store_pool + rbd_store_user => $glance_rbd_user, + rbd_store_pool => $glance_rbd_pool } Ceph::Key <<| title == $glance_user |>> diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index d9688701..0fda854e 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -71,9 +71,9 @@ describe 'cloud::compute::hypervisor' do :server_proxyclient_address => '7.0.0.1', :spice_port => '6082', :has_ceph => true, - :rbd_user => 'cinder', - :rbd_pool => 'cinder', - :rbd_secret_uuid => 'secrete', + :nova_rbd_user => 'nova', + :nova_rbd_pool => 'nova', + :nova_rbd_secret_uuid => 'secrete', :nova_ssh_private_key => 'secrete', :nova_ssh_public_key => 'public', :ks_nova_public_proto => 'http', @@ -233,9 +233,9 @@ describe 'cloud::compute::hypervisor' do it 'configure nova-conpute to support RBD backend' do should contain_nova_config('DEFAULT/libvirt_images_type').with('value' => 'rbd') - should contain_nova_config('DEFAULT/libvirt_images_rbd_pool').with('value' => 'cinder') + should contain_nova_config('DEFAULT/libvirt_images_rbd_pool').with('value' => 'nova') should contain_nova_config('DEFAULT/libvirt_images_rbd_ceph_conf').with('value' => '/etc/ceph/ceph.conf') - should contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') + should contain_nova_config('DEFAULT/rbd_user').with('value' => 'nova') should contain_nova_config('DEFAULT/rbd_secret_uuid').with('value' => 'secrete') end diff --git a/spec/classes/cloud_image_spec.rb b/spec/classes/cloud_image_spec.rb index 804bf282..2502ea2f 100644 --- a/spec/classes/cloud_image_spec.rb +++ b/spec/classes/cloud_image_spec.rb @@ -31,8 +31,8 @@ describe 'cloud::image' do :ks_glance_password => 'secrete', :rabbit_host => '10.0.0.1', :rabbit_password => 'secrete', - :rbd_store_user => 'glance', - :rbd_store_pool => 'images', + :glance_rbd_user => 'glance', + :glance_rbd_pool => 'images', :debug => true, :verbose => true, :use_syslog => true, From fe2c6c63d628ba1ca07875765f69415a178df61a Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 10:28:38 +0100 Subject: [PATCH 05/19] hypervisor/rbd: fix typo Close #309 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index ad82373a..6913ef63 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -120,7 +120,7 @@ Host * 'DEFAULT/libvirt_images_type': value => 'rbd'; 'DEFAULT/libvirt_images_rbd_pool': value => $nova_rbd_pool; 'DEFAULT/libvirt_images_rbd_ceph_conf': value => '/etc/ceph/ceph.conf'; - 'DEFAULT/rbd_user': value => $nova_rbd_pool; + 'DEFAULT/rbd_user': value => $nova_rbd_user; 'DEFAULT/rbd_secret_uuid': value => $nova_rbd_secret_uuid; } From f7733edfe46db5308f0b2dc806e8f96702260d30 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 10:32:10 +0100 Subject: [PATCH 06/19] hypervisor/storage: fix scope Close #309 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 6 +++--- manifests/volume/storage.pp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 6913ef63..40b40175 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -136,13 +136,13 @@ Host * Exec <<| tag == 'get_or_set_virsh_secret' |>> Exec <<| tag == 'set_secret_value_virsh' |>> - Ceph::Key <<| title == $nova_user |>> - if defined(Ceph::Key[$nova_user]) { + Ceph::Key <<| title == $nova_rbd_user |>> + if defined(Ceph::Key[$nova_rbd_user]) { file { '/etc/ceph/ceph.client.nova.keyring': owner => 'nova', group => 'nova', mode => '0400', - require => Ceph::Key[$nova_user] + require => Ceph::Key[$nova_rbd_user] } } Concat::Fragment <<| title == 'ceph-client-os' |>> diff --git a/manifests/volume/storage.pp b/manifests/volume/storage.pp index 6aed520c..eb3a240e 100644 --- a/manifests/volume/storage.pp +++ b/manifests/volume/storage.pp @@ -73,13 +73,13 @@ class cloud::volume::storage( rbd_max_clone_depth => $cinder_rbd_max_clone_depth, } - Ceph::Key <<| title == $cinder_user |>> - if defined(Ceph::Key[$cinder_user]) { + Ceph::Key <<| title == $cinder_rbd_user |>> + if defined(Ceph::Key[$cinder_rbd_user]) { file { '/etc/ceph/ceph.client.cinder.keyring': owner => 'cinder', group => 'cinder', mode => '0400', - require => Ceph::Key[$cinder_user] + require => Ceph::Key[$cinder_rbd_user] } } Concat::Fragment <<| title == 'ceph-client-os' |>> From e05334dd910c9c4c1dcfcf3b9a085394fba78d32 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 10:33:17 +0100 Subject: [PATCH 07/19] image: fix scope for ceph Close #309 Signed-off-by: Emilien Macchi --- manifests/image.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/image.pp b/manifests/image.pp index ada01c44..88eab59a 100644 --- a/manifests/image.pp +++ b/manifests/image.pp @@ -136,13 +136,13 @@ class cloud::image( rbd_store_pool => $glance_rbd_pool } - Ceph::Key <<| title == $glance_user |>> - if defined(Ceph::Key[$glance_user]) { + Ceph::Key <<| title == $glance_rbd_user |>> + if defined(Ceph::Key[$glance_rbd_user]) { file { '/etc/ceph/ceph.client.glance.keyring': owner => 'glance', group => 'glance', mode => '0400', - require => Ceph::Key[$glance_user] + require => Ceph::Key[$glance_rbd_user] } } Concat::Fragment <<| title == 'ceph-client-os' |>> From f1bc2d0dbcb88606965105070e9ef74564c52461 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 10:40:42 +0100 Subject: [PATCH 08/19] rbd/pools: fix variables Close #309 Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 54 +++++++++++++++++----------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index 5a007dc8..b15723d0 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -15,12 +15,12 @@ # class cloud::storage::rbd::pools( $setup_pools = false, - $glance_user = $os_params::glance_rbd_user, - $glance_pool = $os_params::glance_rbd_pool, - $cinder_user = $os_params::cinder_rbd_user, - $cinder_pool = $os_params::cinder_rbd_pool, - $nova_user = $os_params::nova_rbd_user, - $nova_pool = $os_params::nova_rbd_pool, + $glance_rbd_user = $os_params::glance_rbd_user, + $glance_rbd_pool = $os_params::glance_rbd_pool, + $cinder_rbd_user = $os_params::cinder_rbd_user, + $cinder_rbd_pool = $os_params::cinder_rbd_pool, + $nova_rbd_user = $os_params::nova_rbd_user, + $nova_rbd_pool = $os_params::nova_rbd_pool, $pool_default_pg_num = $::ceph::conf::pool_default_pg_num, $pool_default_pgp_num = $::ceph::conf::pool_default_pgp_num, $cinder_backup_user = $os_params::cinder_rbd_backup_user, @@ -33,49 +33,49 @@ class cloud::storage::rbd::pools( # ceph osd pool create poolname 128 128 exec { 'create_glance_images_pool': - command => "rados mkpool ${glance_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", - unless => "rados lspools | grep -sq ${glance_pool}", + command => "rados mkpool ${glance_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + unless => "rados lspools | grep -sq ${glance_rbd_pool}", } exec { 'create_glance_images_user_and_key': - command => "ceph auth get-or-create client.${glance_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=${glance_pool}'", - unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${glance_user}$'", + command => "ceph auth get-or-create client.${glance_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=${glance_rbd_pool}'", + unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${glance_rbd_user}$'", require => Exec['create_glance_images_pool']; } # ceph osd pool create poolname 128 128 exec { 'create_cinder_volumes_pool': - command => "rados mkpool ${cinder_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", - unless => "/usr/bin/rados lspools | grep -sq ${cinder_pool}", + command => "rados mkpool ${cinder_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + unless => "/usr/bin/rados lspools | grep -sq ${cinder_rbd_pool}", } exec { 'create_cinder_volumes_user_and_key': # TODO: point PG num with a cluster variable - command => "ceph auth get-or-create client.${cinder_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_pool}, allow rwx pool=${cinder_pool}'", - unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${cinder_user}$'", + command => "ceph auth get-or-create client.${cinder_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}'", + unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${cinder_rbd_user}$'", require => Exec['create_cinder_volumes_pool']; } # ceph osd pool create poolname 128 128 exec { 'create_nova_vm_pool': - command => "rados mkpool ${nova_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", - unless => "/usr/bin/rados lspools | grep -sq ${nova_pool}", + command => "rados mkpool ${nova_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + unless => "/usr/bin/rados lspools | grep -sq ${nova_rbd_pool}", } exec { 'create_nova_vm_user_and_key': # TODO: point PG num with a cluster variable - command => "ceph auth get-or-create client.${nova_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_pool}, allow rwx pool=${cinder_pool}, allow rwx pool=${nova_pool}'", - unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${nova_user}$'", + command => "ceph auth get-or-create client.${nova_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}, allow rwx pool=${nova_rbd_pool}'", + unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${nova_rbd_user}$'", require => Exec['create_nova_vm_pool']; } if $::ceph_keyring_glance { # NOTE(fc): Puppet needs to run a second time to enter this - ceph::key { $glance_user: + ceph::key { $glance_rbd_user: secret => $::ceph_keyring_glance, - keyring_path => "/etc/ceph/ceph.client.${glance_user}.keyring" + keyring_path => "/etc/ceph/ceph.client.${glance_rbd_user}.keyring" } -> - file { "/etc/ceph/ceph.client.${glance_user}.keyring": + file { "/etc/ceph/ceph.client.${glance_rbd_user}.keyring": owner => 'glance', group => 'glance', mode => '0400' @@ -84,11 +84,11 @@ class cloud::storage::rbd::pools( if $::ceph_keyring_cinder { # NOTE(fc): Puppet needs to run a second time to enter this - ceph::key { $cinder_user: + ceph::key { $cinder_rbd_user: secret => $::ceph_keyring_cinder, - keyring_path => "/etc/ceph/ceph.client.${cinder_user}.keyring" + keyring_path => "/etc/ceph/ceph.client.${cinder_rbd_user}.keyring" } -> - file { "/etc/ceph/ceph.client.${cinder_user}.keyring": + file { "/etc/ceph/ceph.client.${cinder_rbd_user}.keyring": owner => 'cinder', group => 'cinder', mode => '0400' @@ -97,11 +97,11 @@ class cloud::storage::rbd::pools( if $::ceph_keyring_nova { # NOTE(fc): Puppet needs to run a second time to enter this - ceph::key { $nova_user: + ceph::key { $nova_rbd_user: secret => $::ceph_keyring_nova, - keyring_path => "/etc/ceph/ceph.client.${nova_user}.keyring" + keyring_path => "/etc/ceph/ceph.client.${nova_rbd_user}.keyring" } -> - file { "/etc/ceph/ceph.client.${nova_user}.keyring": + file { "/etc/ceph/ceph.client.${nova_rbd_user}.keyring": owner => 'nova', group => 'nova', mode => '0400' From 9303f9afaf2de899f9f1ae92b8356d0b80bf8bb6 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 10:41:39 +0100 Subject: [PATCH 09/19] rbd/pools: fix lint issues Close #309 Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index b15723d0..b9866b2b 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -16,11 +16,11 @@ class cloud::storage::rbd::pools( $setup_pools = false, $glance_rbd_user = $os_params::glance_rbd_user, - $glance_rbd_pool = $os_params::glance_rbd_pool, + $glance_rbd_pool = $os_params::glance_rbd_pool, $cinder_rbd_user = $os_params::cinder_rbd_user, - $cinder_rbd_pool = $os_params::cinder_rbd_pool, + $cinder_rbd_pool = $os_params::cinder_rbd_pool, $nova_rbd_user = $os_params::nova_rbd_user, - $nova_rbd_pool = $os_params::nova_rbd_pool, + $nova_rbd_pool = $os_params::nova_rbd_pool, $pool_default_pg_num = $::ceph::conf::pool_default_pg_num, $pool_default_pgp_num = $::ceph::conf::pool_default_pgp_num, $cinder_backup_user = $os_params::cinder_rbd_backup_user, From 8c2e0e506c1c71e6d4aaf746e5bb3c6d03dcc37c Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 10:59:29 +0100 Subject: [PATCH 10/19] rbd: fix exec commands Close #309 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 2 +- manifests/storage/rbd/pools.pp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 40b40175..a047cf14 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -138,7 +138,7 @@ Host * Ceph::Key <<| title == $nova_rbd_user |>> if defined(Ceph::Key[$nova_rbd_user]) { - file { '/etc/ceph/ceph.client.nova.keyring': + file { "/etc/ceph/ceph.client.${nova_rbd_user}.keyring": owner => 'nova', group => 'nova', mode => '0400', diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index b9866b2b..4db0d17c 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -32,7 +32,7 @@ class cloud::storage::rbd::pools( if !empty($::ceph_admin_key) { # ceph osd pool create poolname 128 128 - exec { 'create_glance_images_pool': + exec { "create_${glance_rbd_pool}_pool": command => "rados mkpool ${glance_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", unless => "rados lspools | grep -sq ${glance_rbd_pool}", } @@ -40,7 +40,7 @@ class cloud::storage::rbd::pools( exec { 'create_glance_images_user_and_key': command => "ceph auth get-or-create client.${glance_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=${glance_rbd_pool}'", unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${glance_rbd_user}$'", - require => Exec['create_glance_images_pool']; + require => Exec["create_${glance_rbd_pool}_pool"]; } # ceph osd pool create poolname 128 128 From e1786925a58e13a7a71d4fc154b25eb0895bbec5 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 13:05:34 +0100 Subject: [PATCH 11/19] rbd/pools: make exec dynamic Close #309 Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index 4db0d17c..d098a239 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -37,36 +37,36 @@ class cloud::storage::rbd::pools( unless => "rados lspools | grep -sq ${glance_rbd_pool}", } - exec { 'create_glance_images_user_and_key': + exec { "create_${glance_rbd_pool}_user_and_key": command => "ceph auth get-or-create client.${glance_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=${glance_rbd_pool}'", unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${glance_rbd_user}$'", require => Exec["create_${glance_rbd_pool}_pool"]; } # ceph osd pool create poolname 128 128 - exec { 'create_cinder_volumes_pool': + exec { "create_${cinder_rbd_pool}_pool": command => "rados mkpool ${cinder_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", unless => "/usr/bin/rados lspools | grep -sq ${cinder_rbd_pool}", } - exec { 'create_cinder_volumes_user_and_key': + exec { "create_${cinder_rbd_pool}_user_and_key": # TODO: point PG num with a cluster variable command => "ceph auth get-or-create client.${cinder_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}'", unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${cinder_rbd_user}$'", - require => Exec['create_cinder_volumes_pool']; + require => Exec["create_${cinder_rbd_pool}_pool"]; } # ceph osd pool create poolname 128 128 - exec { 'create_nova_vm_pool': + exec { "create_${nova_rbd_pool}_pool": command => "rados mkpool ${nova_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", unless => "/usr/bin/rados lspools | grep -sq ${nova_rbd_pool}", } - exec { 'create_nova_vm_user_and_key': + exec { "create_${nova_rbd_pool}_user_and_key": # TODO: point PG num with a cluster variable command => "ceph auth get-or-create client.${nova_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}, allow rwx pool=${nova_rbd_pool}'", unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${nova_rbd_user}$'", - require => Exec['create_nova_vm_pool']; + require => Exec["create_${nova_rbd_pool}_pool"]; } if $::ceph_keyring_glance { @@ -108,7 +108,7 @@ class cloud::storage::rbd::pools( } } - $clients = ['glance', 'cinder', 'nova'] + $clients = ["${glance_rbd_user}", "${cinder_rbd_user}", "${nova_rbd_user}"] @@concat::fragment { 'ceph-clients-os': target => '/etc/ceph/ceph.conf', order => '95', From 722ebb9e377d7a0373ecb7ca1970a7e900be5486 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 27 Feb 2014 13:37:15 +0100 Subject: [PATCH 12/19] rbd/pools: fix lint error close #309 Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index d098a239..4478e204 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -108,7 +108,7 @@ class cloud::storage::rbd::pools( } } - $clients = ["${glance_rbd_user}", "${cinder_rbd_user}", "${nova_rbd_user}"] + $clients = [$glance_rbd_user, $cinder_rbd_user, $nova_rbd_user] @@concat::fragment { 'ceph-clients-os': target => '/etc/ceph/ceph.conf', order => '95', From c8ab5200ea77f4a02fdb4e02fc81d8db371965e6 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Fri, 28 Feb 2014 19:00:08 +0100 Subject: [PATCH 13/19] rbd/pools: fix keyring for cinder and nova Close bug #309 Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index 4478e204..a3bf2c75 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -64,7 +64,7 @@ class cloud::storage::rbd::pools( exec { "create_${nova_rbd_pool}_user_and_key": # TODO: point PG num with a cluster variable - command => "ceph auth get-or-create client.${nova_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}, allow rwx pool=${nova_rbd_pool}'", + command => "ceph auth get-or-create client.${nova_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${nova_rbd_pool}'", unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${nova_rbd_user}$'", require => Exec["create_${nova_rbd_pool}_pool"]; } @@ -138,7 +138,7 @@ class cloud::storage::rbd::pools( } @@exec { 'set_secret_value_virsh': - command => "virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_nova}", + command => "virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_cinder};virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_nova}", tag => 'ceph_compute_set_secret', refreshonly => true, } From c446395a7b8afc716bf7a55327cfadd69fde6c49 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 3 Mar 2014 16:31:56 +0100 Subject: [PATCH 14/19] ceph/pools: don't create keyring for nova Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index a3bf2c75..0a315655 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -51,7 +51,7 @@ class cloud::storage::rbd::pools( exec { "create_${cinder_rbd_pool}_user_and_key": # TODO: point PG num with a cluster variable - command => "ceph auth get-or-create client.${cinder_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}'", + command => "ceph auth get-or-create client.${cinder_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${cinder_rbd_pool}, allow rwx pool=${nova_rbd_pool}'", unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${cinder_rbd_user}$'", require => Exec["create_${cinder_rbd_pool}_pool"]; } @@ -62,13 +62,6 @@ class cloud::storage::rbd::pools( unless => "/usr/bin/rados lspools | grep -sq ${nova_rbd_pool}", } - exec { "create_${nova_rbd_pool}_user_and_key": - # TODO: point PG num with a cluster variable - command => "ceph auth get-or-create client.${nova_rbd_user} mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rx pool=${glance_rbd_pool}, allow rwx pool=${nova_rbd_pool}'", - unless => "ceph auth list 2> /dev/null | egrep -sq '^client.${nova_rbd_user}$'", - require => Exec["create_${nova_rbd_pool}_pool"]; - } - if $::ceph_keyring_glance { # NOTE(fc): Puppet needs to run a second time to enter this ceph::key { $glance_rbd_user: @@ -95,19 +88,6 @@ class cloud::storage::rbd::pools( } } - if $::ceph_keyring_nova { - # NOTE(fc): Puppet needs to run a second time to enter this - ceph::key { $nova_rbd_user: - secret => $::ceph_keyring_nova, - keyring_path => "/etc/ceph/ceph.client.${nova_rbd_user}.keyring" - } -> - file { "/etc/ceph/ceph.client.${nova_rbd_user}.keyring": - owner => 'nova', - group => 'nova', - mode => '0400' - } - } - $clients = [$glance_rbd_user, $cinder_rbd_user, $nova_rbd_user] @@concat::fragment { 'ceph-clients-os': target => '/etc/ceph/ceph.conf', @@ -138,7 +118,7 @@ class cloud::storage::rbd::pools( } @@exec { 'set_secret_value_virsh': - command => "virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_cinder};virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_nova}", + command => "virsh secret-set-value --secret ${ceph_fsid} --base64 ${::ceph_keyring_cinder}", tag => 'ceph_compute_set_secret', refreshonly => true, } From 2a7d010048d582494202e7bbb97b0c143587bc9c Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 3 Mar 2014 17:05:42 +0100 Subject: [PATCH 15/19] ceph/compute: fix typo in template Signed-off-by: Emilien Macchi --- templates/storage/ceph/secret-compute.xml.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/storage/ceph/secret-compute.xml.erb b/templates/storage/ceph/secret-compute.xml.erb index a1420869..52459f1d 100644 --- a/templates/storage/ceph/secret-compute.xml.erb +++ b/templates/storage/ceph/secret-compute.xml.erb @@ -1,6 +1,6 @@ - client.<%= @cinder_user %> secret + client.<%= @cinder_rbd_user %> secret <%= @ceph_fsid %> From 72a3496b140b1d7ef5091d1a9270ff002f106a20 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 3 Mar 2014 17:28:02 +0100 Subject: [PATCH 16/19] rbd/nova: fix rbd user Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 12 ++++++------ manifests/storage/rbd/pools.pp | 3 +-- spec/classes/cloud_compute_hypervisor_spec.rb | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index a047cf14..9711ab8a 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -34,7 +34,7 @@ class cloud::compute::hypervisor( $nova_ssh_private_key = $os_params::nova_ssh_private_key, $nova_ssh_public_key = $os_params::nova_ssh_public_key, $spice_port = $os_params::spice_port, - $nova_rbd_user = $os_params::nova_rbd_user, + $cinder_rbd_user = $os_params::cinder_rbd_user, $nova_rbd_pool = $os_params::nova_rbd_pool, $nova_rbd_secret_uuid = $os_params::ceph_fsid, $has_ceph = false @@ -120,7 +120,7 @@ Host * 'DEFAULT/libvirt_images_type': value => 'rbd'; 'DEFAULT/libvirt_images_rbd_pool': value => $nova_rbd_pool; 'DEFAULT/libvirt_images_rbd_ceph_conf': value => '/etc/ceph/ceph.conf'; - 'DEFAULT/rbd_user': value => $nova_rbd_user; + 'DEFAULT/rbd_user': value => $cinder_rbd_user; 'DEFAULT/rbd_secret_uuid': value => $nova_rbd_secret_uuid; } @@ -136,13 +136,13 @@ Host * Exec <<| tag == 'get_or_set_virsh_secret' |>> Exec <<| tag == 'set_secret_value_virsh' |>> - Ceph::Key <<| title == $nova_rbd_user |>> - if defined(Ceph::Key[$nova_rbd_user]) { - file { "/etc/ceph/ceph.client.${nova_rbd_user}.keyring": + Ceph::Key <<| title == $cinder_rbd_user |>> + if defined(Ceph::Key[$cinder_rbd_user]) { + file { "/etc/ceph/ceph.client.${cinder_rbd_user}.keyring": owner => 'nova', group => 'nova', mode => '0400', - require => Ceph::Key[$nova_rbd_user] + require => Ceph::Key[$cinder_rbd_user] } } Concat::Fragment <<| title == 'ceph-client-os' |>> diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index 0a315655..8cd512f1 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -19,7 +19,6 @@ class cloud::storage::rbd::pools( $glance_rbd_pool = $os_params::glance_rbd_pool, $cinder_rbd_user = $os_params::cinder_rbd_user, $cinder_rbd_pool = $os_params::cinder_rbd_pool, - $nova_rbd_user = $os_params::nova_rbd_user, $nova_rbd_pool = $os_params::nova_rbd_pool, $pool_default_pg_num = $::ceph::conf::pool_default_pg_num, $pool_default_pgp_num = $::ceph::conf::pool_default_pgp_num, @@ -88,7 +87,7 @@ class cloud::storage::rbd::pools( } } - $clients = [$glance_rbd_user, $cinder_rbd_user, $nova_rbd_user] + $clients = [$glance_rbd_user, $cinder_rbd_user] @@concat::fragment { 'ceph-clients-os': target => '/etc/ceph/ceph.conf', order => '95', diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 0fda854e..875ecf46 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -71,7 +71,7 @@ describe 'cloud::compute::hypervisor' do :server_proxyclient_address => '7.0.0.1', :spice_port => '6082', :has_ceph => true, - :nova_rbd_user => 'nova', + :cinder_rbd_user => 'cinder', :nova_rbd_pool => 'nova', :nova_rbd_secret_uuid => 'secrete', :nova_ssh_private_key => 'secrete', @@ -235,7 +235,7 @@ describe 'cloud::compute::hypervisor' do should contain_nova_config('DEFAULT/libvirt_images_type').with('value' => 'rbd') should contain_nova_config('DEFAULT/libvirt_images_rbd_pool').with('value' => 'nova') should contain_nova_config('DEFAULT/libvirt_images_rbd_ceph_conf').with('value' => '/etc/ceph/ceph.conf') - should contain_nova_config('DEFAULT/rbd_user').with('value' => 'nova') + should contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') should contain_nova_config('DEFAULT/rbd_secret_uuid').with('value' => 'secrete') end @@ -253,7 +253,7 @@ describe 'cloud::compute::hypervisor' do end it 'should not configure nova-compute for RBD backend' do - should_not contain_nova_config('DEFAULT/rbd_user').with('value' => 'nova') + should_not contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') end end end From 3c3c55c57e589ca1e98b639a9514519ee9e36165 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 3 Mar 2014 17:59:31 +0100 Subject: [PATCH 17/19] pools: add doc Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index 8cd512f1..bd4daaf3 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -56,6 +56,7 @@ class cloud::storage::rbd::pools( } # ceph osd pool create poolname 128 128 + # Note(EmilienM): We use the same keyring for Nova and Cinder. exec { "create_${nova_rbd_pool}_pool": command => "rados mkpool ${nova_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", unless => "/usr/bin/rados lspools | grep -sq ${nova_rbd_pool}", From 229fb33509e1e00398131b06f8f04072dd94c921 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 3 Mar 2014 18:15:14 +0100 Subject: [PATCH 18/19] volume/storage: use param for cinder rbd user Signed-off-by: Emilien Macchi --- manifests/volume/storage.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/volume/storage.pp b/manifests/volume/storage.pp index eb3a240e..0dcaaff9 100644 --- a/manifests/volume/storage.pp +++ b/manifests/volume/storage.pp @@ -75,7 +75,7 @@ class cloud::volume::storage( Ceph::Key <<| title == $cinder_rbd_user |>> if defined(Ceph::Key[$cinder_rbd_user]) { - file { '/etc/ceph/ceph.client.cinder.keyring': + file { "/etc/ceph/ceph.client.${cinder_rbd_user}.keyring": owner => 'cinder', group => 'cinder', mode => '0400', From 4f41d82435f026dbbb24ac1aab4ed4b6f6aad089 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 3 Mar 2014 18:28:54 +0100 Subject: [PATCH 19/19] rbd/pools: cleanup for best practices Signed-off-by: Emilien Macchi --- manifests/storage/rbd/pools.pp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/manifests/storage/rbd/pools.pp b/manifests/storage/rbd/pools.pp index bd4daaf3..04fb7577 100644 --- a/manifests/storage/rbd/pools.pp +++ b/manifests/storage/rbd/pools.pp @@ -20,8 +20,6 @@ class cloud::storage::rbd::pools( $cinder_rbd_user = $os_params::cinder_rbd_user, $cinder_rbd_pool = $os_params::cinder_rbd_pool, $nova_rbd_pool = $os_params::nova_rbd_pool, - $pool_default_pg_num = $::ceph::conf::pool_default_pg_num, - $pool_default_pgp_num = $::ceph::conf::pool_default_pgp_num, $cinder_backup_user = $os_params::cinder_rbd_backup_user, $cinder_backup_pool = $os_params::cinder_rbd_backup_pool, $ceph_fsid = $os_params::ceph_fsid, @@ -30,9 +28,8 @@ class cloud::storage::rbd::pools( if $setup_pools { if !empty($::ceph_admin_key) { - # ceph osd pool create poolname 128 128 exec { "create_${glance_rbd_pool}_pool": - command => "rados mkpool ${glance_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + command => "rados mkpool ${glance_rbd_pool}", unless => "rados lspools | grep -sq ${glance_rbd_pool}", } @@ -42,9 +39,8 @@ class cloud::storage::rbd::pools( require => Exec["create_${glance_rbd_pool}_pool"]; } - # ceph osd pool create poolname 128 128 exec { "create_${cinder_rbd_pool}_pool": - command => "rados mkpool ${cinder_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + command => "rados mkpool ${cinder_rbd_pool}", unless => "/usr/bin/rados lspools | grep -sq ${cinder_rbd_pool}", } @@ -55,10 +51,9 @@ class cloud::storage::rbd::pools( require => Exec["create_${cinder_rbd_pool}_pool"]; } - # ceph osd pool create poolname 128 128 # Note(EmilienM): We use the same keyring for Nova and Cinder. exec { "create_${nova_rbd_pool}_pool": - command => "rados mkpool ${nova_rbd_pool} ${pool_default_pg_num} ${pool_default_pgp_num}", + command => "rados mkpool ${nova_rbd_pool}", unless => "/usr/bin/rados lspools | grep -sq ${nova_rbd_pool}", }