site.pp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. # test
  2. #
  3. # one machine setup with weblogic 12.1.2
  4. # creates an WLS Domain with JAX-WS (advanced , soap)
  5. # needs jdk7, wls, orautils, fiddyspence-sysctl, erwbgy-limits puppet modules
  6. #
  7. node 'vagrantcentos64' {
  8. include os2, wls12, wls12c_domain, orautils
  9. Class['os2'] -> Class['wls12'] -> Class['wls12c_domain'] -> Class['orautils']
  10. }
  11. # operating settings for Middleware
  12. class os2 {
  13. $remove = [ "java-1.7.0-openjdk.x86_64", "java-1.6.0-openjdk.x86_64" ]
  14. package { $remove:
  15. ensure => absent,
  16. }
  17. include jdk7
  18. jdk7::install7{ 'jdk1.7.0_45':
  19. version => "7u45" ,
  20. fullVersion => "jdk1.7.0_45",
  21. alternativesPriority => 18000,
  22. x64 => true,
  23. downloadDir => "/data/install",
  24. urandomJavaFix => true,
  25. sourcePath => "/vagrant",
  26. }
  27. class { 'limits':
  28. config => {
  29. '*' => { 'nofile' => { soft => '2048' , hard => '8192', },},
  30. 'oracle' => { 'nofile' => { soft => '65536' , hard => '65536', },
  31. 'nproc' => { soft => '2048' , hard => '16384', },
  32. 'memlock' => { soft => '1048576', hard => '1048576',},
  33. 'stack' => { soft => '10240' ,},},
  34. },
  35. use_hiera => false,
  36. }
  37. sysctl { 'kernel.msgmnb': ensure => 'present', permanent => 'yes', value => '65536',}
  38. sysctl { 'kernel.msgmax': ensure => 'present', permanent => 'yes', value => '65536',}
  39. sysctl { 'kernel.shmmax': ensure => 'present', permanent => 'yes', value => '2588483584',}
  40. sysctl { 'kernel.shmall': ensure => 'present', permanent => 'yes', value => '2097152',}
  41. sysctl { 'fs.file-max': ensure => 'present', permanent => 'yes', value => '6815744',}
  42. sysctl { 'net.ipv4.tcp_keepalive_time': ensure => 'present', permanent => 'yes', value => '1800',}
  43. sysctl { 'net.ipv4.tcp_keepalive_intvl': ensure => 'present', permanent => 'yes', value => '30',}
  44. sysctl { 'net.ipv4.tcp_keepalive_probes': ensure => 'present', permanent => 'yes', value => '5',}
  45. sysctl { 'net.ipv4.tcp_fin_timeout': ensure => 'present', permanent => 'yes', value => '30',}
  46. sysctl { 'kernel.shmmni': ensure => 'present', permanent => 'yes', value => '4096', }
  47. sysctl { 'fs.aio-max-nr': ensure => 'present', permanent => 'yes', value => '1048576',}
  48. sysctl { 'kernel.sem': ensure => 'present', permanent => 'yes', value => '250 32000 100 128',}
  49. sysctl { 'net.ipv4.ip_local_port_range': ensure => 'present', permanent => 'yes', value => '9000 65500',}
  50. sysctl { 'net.core.rmem_default': ensure => 'present', permanent => 'yes', value => '262144',}
  51. sysctl { 'net.core.rmem_max': ensure => 'present', permanent => 'yes', value => '4194304', }
  52. sysctl { 'net.core.wmem_default': ensure => 'present', permanent => 'yes', value => '262144',}
  53. sysctl { 'net.core.wmem_max': ensure => 'present', permanent => 'yes', value => '1048576',}
  54. # create a swapfile and it to fstab
  55. exec { "create swap file":
  56. command => "/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=8192",
  57. creates => "/var/swap.1",
  58. }
  59. exec { "attach swap file":
  60. command => "/sbin/mkswap /var/swap.1 && /sbin/swapon /var/swap.1",
  61. require => Exec["create swap file"],
  62. unless => "/sbin/swapon -s | grep /var/swap.1",
  63. }
  64. #add swap file entry to fstab
  65. exec {"add swapfile entry to fstab":
  66. command => "/bin/echo >>/etc/fstab /var/swap.1 swap swap defaults 0 0",
  67. require => Exec["attach swap file"],
  68. user => root,
  69. unless => "/bin/grep '^/var/swap.1' /etc/fstab 2>/dev/null",
  70. }
  71. # turn off iptables
  72. service { iptables:
  73. enable => false,
  74. ensure => false,
  75. hasstatus => true,
  76. }
  77. }
  78. class wls12{
  79. $jdkWls12cJDK = 'jdk1.7.0_45'
  80. $osOracleHome = "/oracle"
  81. $osMdwHome = "/oracle/product/Middleware12c"
  82. $osWlHome = "/oracle/product/Middleware12c/wlserver"
  83. $user = "oracle"
  84. $group = "dba"
  85. $downloadDir = "/data/install"
  86. $puppetDownloadMntPoint = "/vagrant"
  87. wls::installwls{'wls12c':
  88. version => '1212',
  89. mdwHome => $osMdwHome,
  90. oracleHome => $osOracleHome,
  91. fullJDKName => $jdkWls12cJDK,
  92. user => $user,
  93. group => $group,
  94. downloadDir => $downloadDir,
  95. puppetDownloadMntPoint => $puppetDownloadMntPoint,
  96. }
  97. }
  98. class wls12c_domain{
  99. $jdkWls12gJDK = 'jdk1.7.0_45'
  100. $wlsDomainName = "Wls12c"
  101. $osTemplate = "standard"
  102. $adminListenPort = "7001"
  103. $nodemanagerPort = "5556"
  104. $address = "localhost"
  105. $osOracleHome = "/oracle"
  106. $osMdwHome = "/oracle/product/Middleware12c"
  107. $osWlHome = "/oracle/product/Middleware12c/wlserver"
  108. $user = "oracle"
  109. $group = "dba"
  110. $downloadDir = "/data/install"
  111. $logDir = "/data/logs"
  112. $userConfigDir = '/home/oracle'
  113. # install domain
  114. wls::wlsdomain{'wlsDomain12c':
  115. version => "1212",
  116. wlHome => $osWlHome,
  117. mdwHome => $osMdwHome,
  118. fullJDKName => $jdkWls12gJDK,
  119. user => $user,
  120. group => $group,
  121. downloadDir => $downloadDir,
  122. wlsTemplate => $osTemplate,
  123. domain => $wlsDomainName,
  124. adminListenPort => $adminListenPort,
  125. nodemanagerPort => $nodemanagerPort,
  126. wlsUser => "weblogic",
  127. password => "welcome1",
  128. logDir => $logDir,
  129. }
  130. Wls::Nodemanager {
  131. wlHome => $osWlHome,
  132. fullJDKName => $jdkWls12gJDK,
  133. user => $user,
  134. group => $group,
  135. serviceName => $serviceName,
  136. }
  137. #nodemanager starting
  138. # in 12c start it after domain creation
  139. wls::nodemanager{'nodemanager12c':
  140. version => "1212",
  141. listenPort => $nodemanagerPort,
  142. domain => $wlsDomainName,
  143. require => Wls::Wlsdomain['wlsDomain12c'],
  144. }
  145. orautils::nodemanagerautostart{"autostart ${wlsDomainName}":
  146. version => "1212",
  147. wlHome => $osWlHome,
  148. user => $user,
  149. domain => $wlsDomainName,
  150. logDir => $logDir,
  151. require => Wls::Nodemanager['nodemanager12c'];
  152. }
  153. # start AdminServers for configuration
  154. wls::wlscontrol{'startWLSAdminServer12c':
  155. wlsDomain => $wlsDomainName,
  156. wlsDomainPath => "${osMdwHome}/user_projects/domains/${wlsDomainName}",
  157. wlsServer => "AdminServer",
  158. action => 'start',
  159. wlHome => $osWlHome,
  160. fullJDKName => $jdkWls12gJDK,
  161. wlsUser => "weblogic",
  162. password => "welcome1",
  163. address => $address,
  164. port => $nodemanagerPort,
  165. user => $user,
  166. group => $group,
  167. downloadDir => $downloadDir,
  168. logOutput => true,
  169. require => Wls::Nodemanager['nodemanager12c'],
  170. }
  171. class{'orautils':
  172. osOracleHomeParam => $osOracleHome,
  173. oraInventoryParam => "${osOracleHome}/oraInventory",
  174. osDomainTypeParam => "admin",
  175. osLogFolderParam => $logDir,
  176. osDownloadFolderParam => $downloadDir,
  177. osMdwHomeParam => $osMdwHome,
  178. osWlHomeParam => $osWlHome,
  179. oraUserParam => $user,
  180. osDomainParam => $wlsDomainName,
  181. osDomainPathParam => "${osMdwHome}/user_projects/domains/Wls12c",
  182. nodeMgrPathParam => "${osMdwHome}/user_projects/domains/Wls12c/bin",
  183. nodeMgrPortParam => $nodemanagerPort,
  184. wlsUserParam => "weblogic",
  185. wlsPasswordParam => "welcome1",
  186. wlsAdminServerParam => "AdminServer",
  187. }
  188. }