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'], } }