diff --git a/manifests/rabbitmq.pp b/manifests/rabbitmq.pp index 86c9aa60e..45f7b40a7 100644 --- a/manifests/rabbitmq.pp +++ b/manifests/rabbitmq.pp @@ -29,17 +29,24 @@ # (optional) Whether to enable the Rabbit service # Defaults to false # +# [*rabbitmq_class*] +# (optional) The rabbitmq puppet class to depend on, +# which is dependent on the puppet-rabbitmq version. +# Use the default for 1.x, use 'rabbitmq' for 3.x +# Defaults to 'rabbitmq::server' +# class nova::rabbitmq( $userid ='guest', $password ='guest', $port ='5672', $virtual_host ='/', $cluster_disk_nodes = false, - $enabled = true + $enabled = true, + $rabbitmq_class = 'rabbitmq::server' ) { # only configure nova after the queue is up - Class['rabbitmq::service'] -> Anchor<| title == 'nova-start' |> + Class[$rabbitmq_class] -> Anchor<| title == 'nova-start' |> if ($enabled) { if $userid == 'guest' { @@ -50,7 +57,7 @@ class nova::rabbitmq( admin => true, password => $password, provider => 'rabbitmqctl', - require => Class['rabbitmq::server'], + require => Class[$rabbitmq_class], } # I need to figure out the appropriate permissions rabbitmq_user_permissions { "${userid}@${virtual_host}": @@ -66,7 +73,7 @@ class nova::rabbitmq( } if $cluster_disk_nodes { - class { 'rabbitmq::server': + class { $rabbitmq_class: service_ensure => $service_ensure, port => $port, delete_guest_user => $delete_guest_user, @@ -75,7 +82,7 @@ class nova::rabbitmq( wipe_db_on_cookie_change => true, } } else { - class { 'rabbitmq::server': + class { $rabbitmq_class: service_ensure => $service_ensure, port => $port, delete_guest_user => $delete_guest_user, @@ -85,7 +92,7 @@ class nova::rabbitmq( if ($enabled) { rabbitmq_vhost { $virtual_host: provider => 'rabbitmqctl', - require => Class['rabbitmq::server'], + require => Class[$rabbitmq_class], } } }