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)
} |