config/puppet-modules-wrs/puppet-sysinv/src/sysinv/manifests/rabbitmq.pp

69 lines
1.7 KiB
Puppet

#
# Files in this package are licensed under Apache; see LICENSE file.
#
# Copyright (c) 2013-2016 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
# Aug 2016: rebase mitaka
# Jun 2016: rebase centos
# Jun 2015: uprev kilo
# Dec 2014: uprev juno
# Jul 2014: rename ironic
# Dec 2013: uprev grizzly, havana
# Nov 2013: integrate source from https://github.com/stackforge/puppet-sysinv
#
#
# class for installing rabbitmq server for sysinv
#
#
class sysinv::rabbitmq(
$userid = 'guest',
$password = 'guest',
$port = '5672',
$virtual_host = '/',
$enabled = true
) {
# only configure sysinv after the queue is up
Class['rabbitmq::service'] -> Anchor<| title == 'sysinv-start' |>
if ($enabled) {
if $userid == 'guest' {
$delete_guest_user = false
} else {
$delete_guest_user = true
rabbitmq_user { $userid:
admin => true,
password => $password,
provider => 'rabbitmqctl',
require => Class['rabbitmq::server'],
}
# I need to figure out the appropriate permissions
rabbitmq_user_permissions { "${userid}@${virtual_host}":
configure_permission => '.*',
write_permission => '.*',
read_permission => '.*',
provider => 'rabbitmqctl',
}->Anchor<| title == 'sysinv-start' |>
}
$service_ensure = 'running'
} else {
$service_ensure = 'stopped'
}
class { '::rabbitmq::server':
service_ensure => $service_ensure,
port => $port,
delete_guest_user => $delete_guest_user,
}
if ($enabled) {
rabbitmq_vhost { $virtual_host:
provider => 'rabbitmqctl',
require => Class['rabbitmq::server'],
}
}
}