Puppet Class: nuodb
- Inherits:
- ::nuodb::params
- Inherited by:
-
nuodb::config
nuodb::install
nuodb::service
- Defined in:
- manifests/init.pp
Overview
Class: nuodb
Installs, configures and manages NuoDB service.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'manifests/init.pp', line 38
class nuodb (
$manage_package = $::nuodb::params::manage_package,
$package_ensure = $::nuodb::params::package_ensure,
$package_version = $::nuodb::params::package_version,
$package_download_url = $::nuodb::params::package_download_url,
$package_alt_source = undef,
$package_alt_name = undef,
$package_provider = $::nuodb::params::package_provider,
$manage_java = $::nuodb::params::manage_java,
$manage_thp = $::nuodb::params::manage_thp,
$manage_wget = $::nuodb::params::manage_wget,
$config_overrides = $::nuodb::params::config_overrides,
$config_defaults = $::nuodb::params::config_defaults,
$agent_service_ensure = $::nuodb::params::agent_service_ensure,
$agent_service_enable = $::nuodb::params::agent_service_enable,
$rest_service_ensure = $::nuodb::params::rest_service_ensure,
$rest_service_enable = $::nuodb::params::rest_service_enable,
$engine_service_ensure = $::nuodb::params::engine_service_ensure,
$engine_service_enable = $::nuodb::params::engine_service_enable,
$webconsole_service_ensure = $::nuodb::params::webconsole_service_ensure,
$webconsole_service_enable = $::nuodb::params::webconsole_service_enable,
$domain_administrators = {},
$databases = {},
) inherits ::nuodb::params {
# Merge defaults and overrides
$default_properties = merge($config_defaults, $config_overrides)
validate_bool($manage_package)
validate_bool($manage_java)
validate_bool($manage_wget)
validate_string($config_overrides['domainPassword'], 'domainPassword must be set')
# Use puppetlabs-java module to install Java
if ($manage_java) {
include '::java'
# Java should be installed for nuodb installtion
Class['::java'] -> Package['nuodb']
}
# Use alexharvey-disable_transparent_hugepage module to disable THP
if ($manage_thp) {
include '::disable_transparent_hugepage'
# Should be done before agent start
Class['::disable_transparent_hugepage'] -> Service['nuoagent']
}
# Anchors
anchor { '::nuodb::begin': }
anchor { '::nuodb::end': }
# Install
include '::nuodb::install'
include '::nuodb::config'
include '::nuodb::service'
# Ordering
Anchor['::nuodb::begin']
-> Class['::nuodb::install']
-> Class['::nuodb::config']
~> Class['::nuodb::service']
-> Anchor['::nuodb::end']
# Resources
create_resources('nuodb::manager::domain_administrator', $domain_administrators)
create_resources('nuodb::manager::database', $databases)
}
|