puppet-openstack-integration/manifests/rabbitmq.pp

51 lines
2.1 KiB
Puppet

class openstack_integration::rabbitmq {
include openstack_integration::params
include openstack_integration::config
if $::openstack_integration::config::ssl {
file { '/etc/rabbitmq/ssl/private':
ensure => directory,
owner => 'root',
mode => '0755',
selinux_ignore_defaults => true,
before => File["/etc/rabbitmq/ssl/private/${facts['networking']['fqdn']}.pem"],
}
openstack_integration::ssl_key { 'rabbitmq':
key_path => "/etc/rabbitmq/ssl/private/${facts['networking']['fqdn']}.pem",
require => File['/etc/rabbitmq/ssl/private'],
notify => Service['rabbitmq-server'],
}
}
class { 'rabbitmq':
package_provider => $facts['package_provider'],
delete_guest_user => true,
ssl => $::openstack_integration::config::ssl,
ssl_only => $::openstack_integration::config::ssl,
# the parameters below are ignored when ssl is false
ssl_cacert => $::openstack_integration::params::ca_bundle_cert_path,
ssl_cert => $::openstack_integration::params::cert_path,
ssl_key => "/etc/rabbitmq/ssl/private/${facts['networking']['fqdn']}.pem",
environment_variables => {
'LC_ALL' => 'en_US.UTF-8',
'HOSTNAME' => $::openstack_integration::config::hostname,
'RABBITMQ_NODENAME' => "rabbit@${::openstack_integration::config::hostname}"
},
repos_ensure => false,
manage_python => false,
# the interface parameter is ignored if ssl_only is true
interface => $::openstack_integration::config::host,
# the ssl_interface parameter is ignored if ssl is false
ssl_interface => $::openstack_integration::config::host,
node_ip_address => $::openstack_integration::config::host,
management_ip_address => $::openstack_integration::config::host,
ipv6 => $::openstack_integration::config::ipv6,
}
rabbitmq_vhost { '/':
provider => 'rabbitmqctl',
require => Class['rabbitmq'],
}
}