Puppet Class: tungsten::tungstenvertica

Inherits:
tungsten::tungstenvertica::params
Defined in:
manifests/tungstenvertica.pp

Overview

Parameters:

  • package (Any) (defaults to: false)
  • databaseName (Any) (defaults to: false)
  • password (Any) (defaults to: "secret")


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
# File 'manifests/tungstenvertica.pp', line 17

class tungsten::tungstenvertica (
	$package = false,
	$databaseName = false,
	$password = "secret"
) inherits tungsten::tungstenvertica::params {
  anchor{"tungsten::tungstenvertica::prereq": }
  anchor{"tungsten::tungstenvertica::end": }
  
  if $package == false {
    # Do nothing
  } else {
    exec { "disable_transparent_hugepage_enabled":
      command => "/bin/echo never > /sys/kernel/mm/transparent_hugepage/enabled",
      unless  => "/bin/grep -c '\[never\]' /sys/kernel/mm/transparent_hugepage/enabled 2>/dev/null",
    } ->
    exec { "enable_deadline_scheduler":
      command => "/bin/echo deadline > /sys/block/sda/queue/scheduler",
      unless  => "/bin/grep -c '\[deadline\]' /sys/block/sda/queue/scheduler 2>/dev/null",
    } ->
    exec { "enable_readahead":
      command => "/sbin/blockdev --setra 2048 /dev/sda1",
    } ->
    package {"mcelog": 
      ensure=>present
    } ->
    group { "verticadba": 
      ensure => present,
    } ->
    user { "dbadmin":
      gid => 'verticadba',
      shell => "/bin/bash",
      ensure => present,
    } ->
    file { "/home/dbadmin":
      path =>  '/home/dbadmin',
      ensure => "directory",
      owner => 'dbadmin',
      group => 'verticadba',
    } ->
    Anchor["tungsten::tungstenvertica::prereq"] ->
    file { "vertica-package" :
      path => $package,
      ensure => present
    } ->
    package { "vertica" : 
      source => $package,
      provider => $tungsten::tungstenvertica::params::provider
    } ~>
    exec { 'install-vertica':
      command => "/opt/vertica/sbin/install_vertica --hosts $fqdn -u dbadmin --failure-threshold HALT --license CE --accept-eula",
      logoutput => "on_failure",
      refreshonly => true,
    } ->
    service {"verticad":
  	  ensure => "running",
  	  enable => true
  	} ->
  	service {"vertica_agent":
  	  ensure => "running",
  	  enable => true
  	} ->
  	file { "/home/dbadmin/create-vertica-db":
      ensure => file,
      owner => 'dbadmin',
      mode => 700,
      content => template('tungsten/tungsten_create_vertica_db.erb'),
    } ~>
  	exec { 'create-vertica-db':
  	  command => "/bin/su -c /home/dbadmin/create-vertica-db - dbadmin",
  	  logoutput => "on_failure",
  	  creates => "/home/dbadmin/$databaseName"
  	} ->
    Anchor["tungsten::tungstenvertica::end"]
  }
}