site_empty.pp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. #
  2. # puppet apply /vagrant/site_empty.pp --verbose --modulepath /vagrant/modules --hiera_config /vagrant/hiera.yaml --debug
  3. #
  4. # puppet parser validate /vagrant/site_empty.pp
  5. #
  6. Package{
  7. allow_virtual => false
  8. }
  9. node default {
  10. hiera_include('classes')
  11. }
  12. # class patching_order {
  13. # Class['fmw_opatch::weblogic'] ->
  14. # Class['fmw_opatch::soa_suite'] ->
  15. # Class['fmw_rcu::soa_suite'] ->
  16. # Class['fmw_domain::domain']
  17. # }
  18. class domain_extensions_order {
  19. Class['fmw_domain::extension_soa_suite'] ->
  20. Class['fmw_domain::extension_service_bus'] ->
  21. Class['fmw_domain::extension_bam'] ->
  22. Class['fmw_domain::extension_enterprise_schedular'] ->
  23. Class['fmw_domain::nodemanager']
  24. }
  25. class wcdb_os {
  26. # file { '/u01/ouaf':
  27. # ensure => 'directory',
  28. # owner => 'applmgr',
  29. # group => 'applgrp',
  30. # mode => '0644',
  31. # }
  32. # ##Add packages for fmw install
  33. # exec { "yum -y install glibc.i686":
  34. # path => ['/usr/bin'],
  35. # unless => "rpm -q $packagename",
  36. # }
  37. # #Add packages for db install
  38. # exec { "yum -y install glibc.i686 binutils.x86_64 compat-libstdc++-33.x86_64 glibc.x86_64 ksh.x86_64 libaio.x86_64 libgcc.x86_64 libstdc++.x86_64 make.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc-devel.x86_64 libaio-devel.x86_64 libstdc++-devel.x86_64 sysstat.x86_64 unixODBC-devel glibc.i686 libXext.i686 libXtst.i686":
  39. # path => ['/usr/bin'],
  40. # unless => "rpm -q $packagename",
  41. # }
  42. # package { "$packagename":
  43. # ensure => installed,
  44. # }
  45. exec { "yum -y update":
  46. command => 'yum -y update',
  47. path => ['/usr/bin'],
  48. logoutput => 'on_failure',
  49. timeout => 1800,
  50. }
  51. $install = [ 'binutils.x86_64', 'compat-libstdc++-33.x86_64', 'glibc.x86_64','ksh.x86_64','libaio.x86_64',
  52. 'libgcc.x86_64', 'libstdc++.x86_64', 'make.x86_64','compat-libcap1.x86_64', 'gcc.x86_64',
  53. 'gcc-c++.x86_64','glibc-devel.x86_64','libaio-devel.x86_64','libstdc++-devel.x86_64',
  54. 'sysstat.x86_64','unixODBC-devel','glibc.i686','libXext.i686','libXtst.i686']
  55. package { $install:
  56. ensure => present,
  57. }
  58. service { iptables:
  59. enable => false,
  60. ensure => false,
  61. hasstatus => true,
  62. }
  63. $groups = ['oinstall','dba' ,'oper' ]
  64. group { $groups :
  65. ensure => present,
  66. }
  67. user { 'oracle' :
  68. ensure => present,
  69. uid => 500,
  70. gid => 'oinstall',
  71. groups => $groups,
  72. shell => '/bin/bash',
  73. password => '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',
  74. home => "/home/oracle",
  75. comment => "This user oracle was created by Puppet",
  76. require => Group[$groups],
  77. managehome => true,
  78. }
  79. # class { 'limits':
  80. # config => {
  81. # '*' => { 'nofile' => { soft => '2048' , hard => '8192', },},
  82. # 'oracle' => { 'nofile' => { soft => '65536' , hard => '65536', },
  83. # 'nproc' => { soft => '2048' , hard => '16384', },
  84. # 'stack' => { soft => '10240' ,},},
  85. # },
  86. # use_hiera => false,
  87. # }
  88. # sysctl { 'kernel.msgmnb': ensure => 'present', permanent => 'yes', value => '65536',}
  89. # sysctl { 'kernel.msgmax': ensure => 'present', permanent => 'yes', value => '65536',}
  90. # sysctl { 'kernel.shmmax': ensure => 'present', permanent => 'yes', value => '2588483584',}
  91. # sysctl { 'kernel.shmall': ensure => 'present', permanent => 'yes', value => '2097152',}
  92. # sysctl { 'fs.file-max': ensure => 'present', permanent => 'yes', value => '6815744',}
  93. # sysctl { 'net.ipv4.tcp_keepalive_time': ensure => 'present', permanent => 'yes', value => '1800',}
  94. # sysctl { 'net.ipv4.tcp_keepalive_intvl': ensure => 'present', permanent => 'yes', value => '30',}
  95. # sysctl { 'net.ipv4.tcp_keepalive_probes': ensure => 'present', permanent => 'yes', value => '5',}
  96. # sysctl { 'net.ipv4.tcp_fin_timeout': ensure => 'present', permanent => 'yes', value => '30',}
  97. # sysctl { 'kernel.shmmni': ensure => 'present', permanent => 'yes', value => '4096', }
  98. # sysctl { 'fs.aio-max-nr': ensure => 'present', permanent => 'yes', value => '1048576',}
  99. # sysctl { 'kernel.sem': ensure => 'present', permanent => 'yes', value => '250 32000 100 128',}
  100. # sysctl { 'net.ipv4.ip_local_port_range': ensure => 'present', permanent => 'yes', value => '9000 65500',}
  101. # sysctl { 'net.core.rmem_default': ensure => 'present', permanent => 'yes', value => '262144',}
  102. # sysctl { 'net.core.rmem_max': ensure => 'present', permanent => 'yes', value => '4194304', }
  103. # sysctl { 'net.core.wmem_default': ensure => 'present', permanent => 'yes', value => '262144',}
  104. # sysctl { 'net.core.wmem_max': ensure => 'present', permanent => 'yes', value => '1048576',}
  105. }
  106. class wcdb_11g {
  107. require wcdb_os
  108. oradb::installdb{ '11.2_linux-x64':
  109. version => '11.2.0.4',
  110. file => 'p13390677_112040_Linux-x86-64',
  111. databaseType => 'SE',
  112. oracleBase => hiera('oracle_base_dir'),
  113. oracleHome => hiera('oracle_home_dir'),
  114. userBaseDir => '/home',
  115. createUser => false,
  116. user => 'oracle',
  117. group => 'dba',
  118. group_install => 'oinstall',
  119. group_oper => 'oper',
  120. downloadDir => hiera('oracle_download_dir'),
  121. remoteFile => false,
  122. puppetDownloadMntPoint => hiera('oracle_source'),
  123. }
  124. oradb::net{ 'config net8':
  125. oracleHome => hiera('oracle_home_dir'),
  126. version => hiera('oracle_version'),
  127. user => hiera('oracle_os_user'),
  128. group => hiera('oracle_os_group'),
  129. downloadDir => hiera('oracle_download_dir'),
  130. require => Oradb::Installdb['11.2_linux-x64'],
  131. }
  132. oradb::listener{'start listener':
  133. oracleBase => hiera('oracle_base_dir'),
  134. oracleHome => hiera('oracle_home_dir'),
  135. user => hiera('oracle_os_user'),
  136. group => hiera('oracle_os_group'),
  137. action => 'start',
  138. require => Oradb::Net['config net8'],
  139. }
  140. oradb::database{ 'wcDb':
  141. oracleBase => hiera('oracle_base_dir'),
  142. oracleHome => hiera('oracle_home_dir'),
  143. version => hiera('oracle_version'),
  144. user => hiera('oracle_os_user'),
  145. group => hiera('oracle_os_group'),
  146. downloadDir => hiera('oracle_download_dir'),
  147. action => 'create',
  148. dbName => hiera('oracle_database_name'),
  149. dbDomain => hiera('oracle_database_domain_name'),
  150. sysPassword => hiera('oracle_database_sys_password'),
  151. systemPassword => hiera('oracle_database_system_password'),
  152. dataFileDestination => "/oracle/oradata",
  153. recoveryAreaDestination => "/oracle/flash_recovery_area",
  154. characterSet => "AL32UTF8",
  155. nationalCharacterSet => "UTF8",
  156. initParams => "open_cursors=1000,processes=600,job_queue_processes=4",
  157. sampleSchema => 'FALSE',
  158. memoryPercentage => "40",
  159. memoryTotal => "800",
  160. databaseType => "MULTIPURPOSE",
  161. require => Oradb::Listener['start listener'],
  162. }
  163. oradb::dbactions{ 'start wcDb':
  164. oracleHome => hiera('oracle_home_dir'),
  165. user => hiera('oracle_os_user'),
  166. group => hiera('oracle_os_group'),
  167. action => 'start',
  168. dbName => hiera('oracle_database_name'),
  169. require => Oradb::Database['wcDb'],
  170. }
  171. oradb::autostartdatabase{ 'autostart oracle':
  172. oracleHome => hiera('oracle_home_dir'),
  173. user => hiera('oracle_os_user'),
  174. dbName => hiera('oracle_database_name'),
  175. require => Oradb::Dbactions['start wcDb'],
  176. }
  177. oradb::rcu{ 'DEV':
  178. rcuFile => 'ofm_rcu_linux_11.1.1.8.0_64_disk1_1of1.zip',
  179. version => '11.1.1.8',
  180. product => 'webcenter',
  181. oracleHome => hiera('oracle_home_dir'),
  182. user => hiera('oracle_os_user'),
  183. group => hiera('oracle_os_group'),
  184. downloadDir => hiera('oracle_download_dir'),
  185. action => 'create',
  186. dbServer => 'admin.example.com:1521',
  187. dbService => hiera('oracle_database_service_name'),
  188. sysPassword => hiera('oracle_database_sys_password'),
  189. schemaPrefix => 'DEV',
  190. reposPassword => hiera('oracle_database_rcu_password'),
  191. tempTablespace => 'TEMP',
  192. puppetDownloadMntPoint => hiera('rcu_source'),
  193. remoteFile => false,
  194. logoutput => true,
  195. require => Oradb::Dbactions['start wcDb'],
  196. }
  197. }