system-config/modules/openstack_project/manifests/puppetdb.pp
Spencer Krum 3f3d85a3b0 Fully qualify puppetdb classes
Puppet can become confused if there are classes of similar names
at different levels. In this case 'puppetdb' is available from the
puppetdb module and is available from openstack_project::puppetdb.

Putting the extra :: in front explicitly grabs it from top scope
so we don't have any issues.

Change-Id: Iaec56b82004c972f5771b6039675db5c2d725f91
2015-03-30 21:08:11 -07:00

51 lines
1.2 KiB
Puppet

# == Class: openstack_project::puppetdb
#
class openstack_project::puppetdb (
$sysadmins = [],
$puppetboard = true,
) {
# The puppetlabs postgres module does not manage the postgres user
# and group for us. Create them here to ensure concat can create
# dirs and files owned by this user and group.
user { 'postgres':
ensure => present,
gid => 'postgres',
system => true,
require => Group['postgres'],
}
group { 'postgres':
ensure => present,
system => true,
}
if $puppetboard {
$open_ports = [8081, 80]
} else {
$open_ports = [8081]
}
class { 'openstack_project::server':
iptables_public_tcp_ports => $open_ports,
sysadmins => $sysadmins,
}
class { '::puppetdb::database::postgresql':
require => [User['postgres'],
Class['openstack_project::template'],],
}
class { '::puppetdb::server':
database_host => 'localhost',
ssl_listen_address => '0.0.0.0', # works for ipv6 too
require => [ User['postgres'],
Class['puppetdb::database::postgresql'],],
}
if $puppetboard {
class { 'openstack_project::puppetboard': }
}
}