Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## [v1.3.0] 1 September 2019 - Petr Vokac <petr.vokac@cern.ch>
- new templates and configuration parameters
- allow to configure Top/Site BDII with hierra

## [v1.2.2] 31 August 2018 - Steve Traylen <steve.traylen@cern.ch>
- Empty release for build problem

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ defaults in params.pp if this is more convenient.
* `port` defaults to `2170`
* `user` defaults `ldap`
* `slapdconf` defaults to `/etc/bdii/bdii/bdii-slapd.conf`
* `delete_delay` defaults to `/deleted
* `deletedelay` defaults to `0` (no delay)
* `$selinux` defaults to `true`


Expand Down
59 changes: 59 additions & 0 deletions data/common.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
# daemon configuration
#bdii::log_level: 'ERROR'
#bdii::port: 2170
#bdii::user: 'ldap'
#bdii::slapdconf: '/etc/bdii/bdii-slapd.conf'
#bdii::selinux: false
bdii::firewall: true
#bdii::bdiipasswd: 'secret'
#bdii::bdiihost: 'somehost.example.com'
#bdii::deletedelay: 0
#bdii::slapdthreads: 16
#bdii::slapdloglevel: 0
bdii::ramsize: ~
# site specific stuff
#bdii::siteurls:
# - '# DUMMY ldap://localhost:2170/mds-vo-name=resource,o=grid'
#bdii::sitename: 'somesite'
#bdii::sitebdiihost: 'somehost.example.com'
#bdii::sitedesc: 'somesite descr'
#bdii::siteweb: 'www.somesite.example.com'
#bdii::sitedistributed: ''
#bdii::siteloc: ''
#bdii::sitecountry: 'somecountry'
#bdii::sitelat: ''
#bdii::sitelong: ''
#bdii::siteemail: ''
#bdii::sitesecuritymail: ''
#bdii::sitesupportemail: ''
#bdii::config: 'puppet'
#bdii::egeeroc: ''
#bdii::egeeservice: 'prod'
#bdii::grid: []
#bdii::wlcgtier: ~
#bdii::otherinfo: []
# templates
bdii::template_config: 'bdii/bdiiconf.erb'
bdii::template_sysconfig: 'bdii/bdiisysconf.erb'
bdii::template_slapd: 'bdii/bdii-slapd.conf.erb'
bdii::template_glite: 'bdii/glite-info-site-defaults.erb'
bdii::template_site: 'bdii/site.erb'
bdii::template_site_urls: 'bdii/site_urls.erb'


#
# Top-BDII modifications
#
bdii::topbdii::slapdconf: '/etc/bdii/bdii-top-slapd.conf'
bdii::topbdii::deletedelay: 345600
bdii::topbdii::slapdthreads: 64
bdii::topbdii::ramsize: '2000M'
bdii::topbdii::template_slapd: 'bdii/bdii-top-slapd.conf.erb'


#
# Site-BDII modifications
#
bdii::sitebdii::ramsize: '500M'
bdii::sitebdii::template_glite: 'bdii/glite-info-site-defaults-site.erb'
23 changes: 23 additions & 0 deletions hiera.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
version: 5

defaults:
datadir: 'data'
data_hash: 'yaml_data'

hierarchy:
- name: 'Full Version'
path: '%{facts.os.name}-%{facts.os.release.full}.yaml'

- name: 'Major Version'
path: '%{facts.os.name}-%{facts.os.release.major}.yaml'

- name: 'Distribution Name'
path: '%{facts.os.name}.yaml'

- name: 'Operating System Family'
path: '%{facts.os.family}-family.yaml'

- name: 'common'
path: 'common.yaml'

3 changes: 3 additions & 0 deletions lib/puppet/parser/functions/randompass.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ module Puppet::Parser::Functions
$allowed = []
('!'..'Z').each { |c| $allowed << c }
('a'..'z').each { |c| $allowed << c }
$allowed.delete('#')
$allowed.delete(',')
$allowed.delete('"')
$allowed.delete('\'')
value = ''
$length.times { value << $allowed[rand($allowed.length)] }
return value
Expand Down
94 changes: 50 additions & 44 deletions manifests/config.pp
Original file line number Diff line number Diff line change
@@ -1,51 +1,57 @@
class bdii::config (
$log_level = $bdii::log_level,
$port = $bdii::port,
$user = $bdii::user,
$slapdconf = $bdii::slapdconf,
$delete_delay = $bdii::delete_delay,
) inherits bdii {
# daemon configuration
String $log_level = $::bdii::log_level,
Stdlib::Port $port = $::bdii::port,
String $user = $::bdii::user,
Stdlib::Absolutepath $slapdconf = $::bdii::slapdconf,
Boolean $selinux = $::bdii::selinux,
Boolean $firewall = $::bdii::firewall,
String $bdiipasswd = $::bdii::bdiipasswd,
Integer $deletedelay = $::bdii::deletedelay,
Integer $slapdthreads = $::bdii::slapdthreads,
Integer $slapdloglevel = $::bdii::slapdloglevel,
Optional[String] $ramsize = $::bdii::ramsize,
# templates
String $template_config = $::bdii::template_config,
String $template_slapd = $::bdii::template_slapd,
String $template_sysconfig = $::bdii::template_sysconfig,
) inherits ::bdii {

Class[bdii::install] -> Class[bdii::config]
file { $slapdconf:
content => template($template_slapd),
owner => 'root',
group => 'root',
mode => '0644',
notify => Class['bdii::service'],
}

file {'/etc/bdii/bdii.conf':
content => template('bdii/bdiiconf.erb'),
owner => 'root',
group => 'root',
mode => '0644',
notify => Class['bdii::service'],
}
file { '/etc/bdii/bdii.conf':
content => template($template_config),
owner => 'root',
group => 'root',
mode => '0644',
notify => Class['bdii::service'],
}

file { '/etc/bdii/gip':
ensure => 'directory',
owner => 'root',
group => 'root',
mode => '0755',
}
file { '/etc/bdii/gip':
ensure => 'directory',
owner => 'root',
group => 'root',
mode => '0755',
}

file { '/var/lib/bdii/db':
ensure => 'directory',
owner => 'ldap',
group => 'ldap',
mode => '0755',
}
file { '/var/lib/bdii/db':
ensure => 'directory',
owner => 'ldap',
group => 'ldap',
mode => '0755',
}

file {'/etc/sysconfig/bdii':
content => template('bdii/bdiisysconf.erb'),
owner => 'root',
group => 'root',
mode => '0644',
}

file_line{ 'slapd_threads':
path => $slapdconf,
match => '^\s*threads',
line => "threads ${bdii::params::slapdthreads}",
}

file_line{ 'slapd_loglevel':
path => $slapdconf,
match => '^\s*loglevel',
line => "loglevel ${bdii::params::slapdloglevel}",
}
file { '/etc/sysconfig/bdii':
content => template($template_sysconfig),
owner => 'root',
group => 'root',
mode => '0644',
notify => Class['bdii::service'],
}
}
48 changes: 28 additions & 20 deletions manifests/init.pp
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
class bdii (
$manage_firewall = true,
$log_level = $bdii::params::log_level,
$port = $bdii::params::port,
$user = $bdii::params::user,
$slapdconf = $bdii::params::slapdconf,
$delete_delay = $bdii::params::delete_delay,
$selinux = $bdii::params::selinux,
) inherits bdii::params {
# daemon configuration
String $log_level = $bdii::params::log_level,
Stdlib::Port $port = $bdii::params::port,
String $user = $bdii::params::user,
Stdlib::Absolutepath $slapdconf = $bdii::params::slapdconf,
Boolean $selinux = $bdii::params::selinux,
Boolean $firewall,
String $bdiipasswd = $bdii::params::bdiipasswd,
Integer $deletedelay = $bdii::params::deletedelay,
Integer $slapdthreads = $bdii::params::slapdthreads,
Integer $slapdloglevel = $bdii::params::slapdloglevel,
Optional[String] $ramsize,
# templates
String $template_config,
String $template_slapd,
String $template_sysconfig,
) inherits ::bdii::params {

case $::operatingsystem {
'RedHat','SLC','SL','Scientific','CentOS': {
include ::bdii::install
include ::bdii::service
include ::bdii::config
if ($manage_firewall) {
include ::bdii::firewall
}
}
default: {
# There is some fedora configuration present but I can't actually get it to work.
}
contain ::bdii::install
contain ::bdii::service
if $firewall {
contain ::bdii::firewall
Class['::bdii::firewall'] -> Class['::bdii::config']
}
contain ::bdii::config

Class['::bdii::install']
-> Class['::bdii::config']
~> Class['::bdii::service']

}
4 changes: 2 additions & 2 deletions manifests/install.pp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
class bdii::install (
$selinux = $bdii::params::selinux
) inherits bdii {
$selinux = $bdii::selinux,
) inherits ::bdii {

package { 'bdii':
ensure => present,
Expand Down
65 changes: 36 additions & 29 deletions manifests/params.pp
Original file line number Diff line number Diff line change
@@ -1,32 +1,39 @@
# This file is here only to keep compatibility with older versions
# of puppet BDII module. Don't use this file and don't use bdii::params::*
# in hiera configuration. See data/common.yaml for proper hieara
# configuration parameters name:
# * bdii::"name" for BDII class
# * bdii::sitebdii::"name" for Site-BDII class
# * bdii::topbdii::"name" for Top-BDII class
class bdii::params {
$log_level = hiera('bdii::params::log_level','DEBUG')
$port = hiera('bdii::params::port','2170')
$user = hiera('bdii::params::user','ldap')
$slapdconf = hiera('bdii::params::slapdconf','/etc/bdii/bdii-slapd.conf')
$selinux = hiera('bdii::params::selinux',false)
$bdiipasswd = hiera('bdii::params::bdiipasswd',randompass())
$bdiihost = hiera('bdii::params::bdiihost','somehost.example.com')
$delete_delay = hiera('bdii::params::deletedelay', '0')
$slapdthreads = hiera('bdii::params::slapdthreads', '16')
$slapdloglevel = hiera('bdii::params::slapdloglevel', '0')
$log_level = lookup('bdii::params::log_level', undef, undef, 'ERROR')
$port = lookup('bdii::params::port', undef, undef, 2170)
$user = lookup('bdii::params::user', undef, undef, 'ldap')
$slapdconf = lookup('bdii::params::slapdconf', undef, undef, '/etc/bdii/bdii-slapd.conf')
$selinux = lookup('bdii::params::selinux', undef, undef, false)
$bdiipasswd = lookup('bdii::params::bdiipasswd', undef, undef, randompass())
$bdiihost = lookup('bdii::params::bdiihost', undef, undef, 'somehost.example.com')
$deletedelay = lookup('bdii::params::deletedelay', undef, undef, 0)
$slapdthreads = lookup('bdii::params::slapdthreads', undef, undef, 16)
$slapdloglevel = lookup('bdii::params::slapdloglevel', undef, undef, 0)
# site specific stuff:
$siteurls = hiera('bdii::params::siteurls','# DUMMY ldap://localhost:2170/mds-vo-name=resource,o=grid')
$sitename = hiera('bdii::params::sitename','somesite')
$sitebdiihost = hiera('bdii::params::sitebdiihost','somehost.example.com')
$sitedesc = hiera('bdii::params::sitedesc','somesite descr')
$siteweb = hiera('bdii::params::siteweb','www.somesite.example.com')
$sitedistributed = hiera('bdii::params::sitedistributed','')
$siteloc = hiera('bdii::params::siteloc','')
$sitecountry = hiera('bdii::params::sitecountry','somecountry')
$sitelat = hiera('bdii::params::sitelat','')
$sitelong = hiera('bdii::params::sitelong','')
$siteemail = hiera('bdii::params::siteemail','')
$sitesecuritymail = hiera('bdii::params::sitesecuritymail','')
$sitesupportemail = hiera('bdii::params::sitesupportemail','')
$config = hiera('bdii::params::config','puppet')
$egeeroc = hiera('bdii::params::egeeroc','')
$egeeservice = hiera('bdii::params::egeeservice','prod')
$grid = hiera('bdii::params::grid','')
$wlcgtier = hiera('bdii::params::wlcgtier','')
$otherinfo = hiera('bdii::params::otherinfo',[]) #could be WLCG_PARENT=stuff
$siteurls = lookup('bdii::params::siteurls', undef, undef, '# DUMMY ldap://localhost:2170/mds-vo-name=resource,o=grid')
$sitename = lookup('bdii::params::sitename', undef, undef, 'somesite')
$sitebdiihost = lookup('bdii::params::sitebdiihost', undef, undef, 'somehost.example.com')
$sitedesc = lookup('bdii::params::sitedesc', undef, undef, 'somesite descr')
$siteweb = lookup('bdii::params::siteweb', undef, undef, 'www.somesite.example.com')
$sitedistributed = lookup('bdii::params::sitedistributed', undef, undef, '')
$siteloc = lookup('bdii::params::siteloc', undef, undef, '')
$sitecountry = lookup('bdii::params::sitecountry', undef, undef, 'somecountry')
$sitelat = lookup('bdii::params::sitelat', undef, undef, '')
$sitelong = lookup('bdii::params::sitelong', undef, undef, '')
$siteemail = lookup('bdii::params::siteemail', undef, undef, '')
$sitesecuritymail = lookup('bdii::params::sitesecuritymail', undef, undef, '')
$sitesupportemail = lookup('bdii::params::sitesupportemail', undef, undef, '')
$config = lookup('bdii::params::config', undef, undef, 'puppet')
$egeeroc = lookup('bdii::params::egeeroc', undef, undef, '')
$egeeservice = lookup('bdii::params::egeeservice', undef, undef, 'prod')
$grid = lookup('bdii::params::grid', undef, undef, '')
$wlcgtier = lookup('bdii::params::wlcgtier', undef, undef, '')
$otherinfo = lookup('bdii::params::otherinfo', undef, undef, []) #could be WLCG_PARENT=stuff
}
Loading