1 # == Class: cinder::rabbitmq
3 # Installs and manages rabbitmq server for cinder
8 # (optional) The username to use when connecting to Rabbit
12 # (optional) The password to use when connecting to Rabbit
16 # (optional) The port to use when connecting to Rabbit
20 # (optional) The virtual host to use when connecting to Rabbit
24 # (optional) Whether to enable the Rabbit service
28 # (optional) The rabbitmq puppet class to depend on,
29 # which is dependent on the puppet-rabbitmq version.
30 # Use the default for 1.x, use 'rabbitmq' for 3.x
31 # Defaults to 'rabbitmq::server'
33 class cinder::rabbitmq(
39 $rabbitmq_class = 'rabbitmq::server',
42 # only configure cinder after the queue is up
43 Class[$rabbitmq_class] -> Anchor<| title == 'cinder-start' |>
46 if $userid == 'guest' {
47 $delete_guest_user = false
49 $delete_guest_user = true
50 rabbitmq_user { $userid:
52 password => $password,
53 provider => 'rabbitmqctl',
54 require => Class[$rabbitmq_class],
56 # I need to figure out the appropriate permissions
57 rabbitmq_user_permissions { "${userid}@${virtual_host}":
58 configure_permission => '.*',
59 write_permission => '.*',
60 read_permission => '.*',
61 provider => 'rabbitmqctl',
62 }->Anchor<| title == 'cinder-start' |>
64 $service_ensure = 'running'
66 $service_ensure = 'stopped'
69 class { $rabbitmq_class:
70 service_ensure => $service_ensure,
72 delete_guest_user => $delete_guest_user,
76 rabbitmq_vhost { $virtual_host:
77 provider => 'rabbitmqctl',
78 require => Class[$rabbitmq_class],