installwcc.pp 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. # == Define: wls::installwcc
  2. #
  3. # installs Oracle Webcenter content addon
  4. #
  5. # === Examples
  6. #
  7. # $jdkWls11gJDK = 'jdk1.7.0_09'
  8. # $wls11gVersion = "1036"
  9. #
  10. # case $operatingsystem {
  11. # CentOS, RedHat, OracleLinux, Ubuntu, Debian: {
  12. # $osMdwHome = "/opt/wls/Middleware11gR1"
  13. # $osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
  14. # $oracleHome = "/opt/wls/"
  15. # $user = "oracle"
  16. # $group = "dba"
  17. # }
  18. # windows: {
  19. # $osMdwHome = "c:/oracle/wls11g"
  20. # $osWlHome = "c:/oracle/wls11g/wlserver_10.3"
  21. # $user = "Administrator"
  22. # $group = "Administrators"
  23. # }
  24. # }
  25. #
  26. #
  27. # Wls::Installwcc {
  28. # mdwHome => $osMdwHome,
  29. # wlHome => $osWlHome,
  30. # fullJDKName => $jdkWls11gJDK,
  31. # user => $user,
  32. # group => $group,
  33. # }
  34. #
  35. #
  36. # wls::installwcc{'wccPS6':
  37. # wccFile1 => 'ofm_wcc_generic_11.1.1.7.0_disk1_1of2.zip',
  38. # wccFile2 => 'ofm_wcc_generic_11.1.1.6.0_disk1_2of2.zip',
  39. # }
  40. #
  41. ##
  42. define wls::installwcc($mdwHome = undef,
  43. $wlHome = undef,
  44. $oracleHome = undef,
  45. $fullJDKName = undef,
  46. $wccFile1 = undef,
  47. $wccFile2 = undef,
  48. $user = 'oracle',
  49. $group = 'dba',
  50. $downloadDir = '/install',
  51. $puppetDownloadMntPoint = undef,
  52. ) {
  53. case $operatingsystem {
  54. CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
  55. $execPath = "/usr/java/${fullJDKName}/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:"
  56. $path = $downloadDir
  57. $wccOracleHome = "${mdwHome}/Oracle_WCC1"
  58. $oraInventory = "${oracleHome}/oraInventory"
  59. $wccInstallDir = "linux64"
  60. $jreLocDir = "/usr/java/${fullJDKName}"
  61. Exec { path => $execPath,
  62. user => $user,
  63. group => $group,
  64. logoutput => true,
  65. }
  66. File {
  67. ensure => present,
  68. mode => 0775,
  69. owner => $user,
  70. group => $group,
  71. }
  72. }
  73. Solaris: {
  74. $execPath = "/usr/jdk/${fullJDKName}/bin/amd64:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:"
  75. $path = $downloadDir
  76. $wccOracleHome = "${mdwHome}/Oracle_WCC1"
  77. $oraInventory = "${oracleHome}/oraInventory"
  78. $wccInstallDir = "intelsolaris"
  79. $jreLocDir = "/usr/jdk/${fullJDKName}"
  80. Exec { path => $execPath,
  81. user => $user,
  82. group => $group,
  83. logoutput => true,
  84. }
  85. File {
  86. ensure => present,
  87. mode => 0775,
  88. owner => $user,
  89. group => $group,
  90. }
  91. }
  92. windows: {
  93. $execPath = "C:\\oracle\\${fullJDKName}\\bin;C:\\unxutils\\bin;C:\\unxutils\\usr\\local\\wbin;C:\\Windows\\system32;C:\\Windows"
  94. $checkCommand = "C:\\Windows\\System32\\cmd.exe /c"
  95. $path = $downloadDir
  96. $wccOracleHome = "${mdwHome}/Oracle_WCC1"
  97. Exec { path => $execPath,
  98. }
  99. File { ensure => present,
  100. mode => 0777,
  101. }
  102. }
  103. }
  104. # check if the wcc already exists
  105. $found = oracle_exists( $wccOracleHome )
  106. if $found == undef {
  107. $continue = true
  108. } else {
  109. if ( $found ) {
  110. $continue = false
  111. } else {
  112. notify {"wls::installwcc ${title} ${wccOracleHome} does not exists":}
  113. $continue = true
  114. }
  115. }
  116. if ( $continue ) {
  117. if $puppetDownloadMntPoint == undef {
  118. $mountPoint = "puppet:///modules/wls/"
  119. } else {
  120. $mountPoint = $puppetDownloadMntPoint
  121. }
  122. wls::utils::orainst{'create wcc oraInst':
  123. oraInventory => $oraInventory,
  124. group => $group,
  125. }
  126. $wccTemplate = "wls/silent_wcc.xml.erb"
  127. # if ! defined(File["${path}/${title}silent_wcc.xml"]) {
  128. file { "${path}/${title}silent_wcc.xml":
  129. ensure => present,
  130. content => template($wccTemplate),
  131. require => Wls::Utils::Orainst ['create wcc oraInst'],
  132. }
  133. # }
  134. # wcc file 1 installer zip
  135. if ! defined(File["${path}/${wccFile1}"]) {
  136. file { "${path}/${wccFile1}":
  137. source => "${mountPoint}/${wccFile1}",
  138. require => File ["${path}/${title}silent_wcc.xml"],
  139. }
  140. }
  141. # wcc file 2 installer zip
  142. if ! defined(File["${path}/${wccFile2}"]) {
  143. file { "${path}/${wccFile2}":
  144. source => "${mountPoint}/${wccFile2}",
  145. require => [File ["${path}/${title}silent_wcc.xml"],File["${path}/${wccFile1}"]],
  146. }
  147. }
  148. $command = "-silent -response ${path}/${title}silent_wcc.xml -waitforcompletion "
  149. case $operatingsystem {
  150. CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
  151. if ! defined(Exec["extract ${wccFile1}"]) {
  152. exec { "extract ${wccFile1}":
  153. command => "unzip -o ${path}/${wccFile1} -d ${path}/wcc",
  154. creates => "${path}/wcc/Disk1",
  155. require => [File ["${path}/${wccFile2}"],File ["${path}/${wccFile1}"]],
  156. }
  157. }
  158. if ! defined(Exec["extract ${wccFile2}"]) {
  159. exec { "extract ${wccFile2}":
  160. command => "unzip -o ${path}/${wccFile2} -d ${path}/wcc",
  161. creates => "${path}/wcc/Disk2",
  162. require => [File ["${path}/${wccFile2}"],Exec["extract ${wccFile1}"]],
  163. }
  164. }
  165. exec { "install wcc ${title}":
  166. command => "${path}/wcc/Disk1/install/${wccInstallDir}/runInstaller ${command} -invPtrLoc /etc/oraInst.loc -ignoreSysPrereqs -jreLoc ${jreLocDir}",
  167. require => [File["${path}/${title}silent_wcc.xml"],Exec["extract ${wccFile1}"],Exec["extract ${wccFile2}"]],
  168. creates => $wccOracleHome,
  169. timeout => 0,
  170. }
  171. }
  172. Solaris: {
  173. if ! defined(Exec["extract ${wccFile1}"]) {
  174. exec { "extract ${wccFile1}":
  175. command => "unzip ${path}/${wccFile1} -d ${path}/wcc",
  176. creates => "${path}/wcc/Disk1",
  177. require => [File ["${path}/${wccFile2}"],File ["${path}/${wccFile1}"]],
  178. }
  179. }
  180. if ! defined(Exec["extract ${wccFile2}"]) {
  181. exec { "extract ${wccFile2}":
  182. command => "unzip -o ${path}/${wccFile2} -d ${path}/wcc",
  183. creates => "${path}/wcc/Disk2",
  184. require => [File ["${path}/${wccFile2}"],Exec["extract ${wccFile1}"]],
  185. }
  186. }
  187. exec { "add -d64 oraparam.ini wcc":
  188. command => "sed -e's/JRE_MEMORY_OPTIONS=\" -Xverify:none\"/JRE_MEMORY_OPTIONS=\"-d64 -Xverify:none\"/g' ${path}/wcc/Disk1/install/${wccInstallDir}/oraparam.ini > /tmp/wcc.tmp && mv /tmp/wcc.tmp ${path}/wcc/Disk1/install/${wccInstallDir}/oraparam.ini",
  189. require => [Exec["extract ${wccFile1}"],Exec["extract ${wccFile2}"]],
  190. }
  191. exec { "install wcc ${title}":
  192. command => "${path}/wcc/Disk1/install/${wccInstallDir}/runInstaller ${command} -invPtrLoc /var/opt/oraInst.loc -ignoreSysPrereqs -jreLoc ${jreLocDir}",
  193. require => [File["${path}/${title}silent_wcc.xml"],Exec["extract ${wccFile1}"],Exec["extract ${wccFile2}"],Exec["add -d64 oraparam.ini wcc"]],
  194. creates => $wccOracleHome,
  195. timeout => 0,
  196. }
  197. }
  198. windows: {
  199. if ! defined(Exec["extract ${wccFile1}"]) {
  200. exec { "extract ${wccFile1}":
  201. command => "${checkCommand} unzip ${path}/${wccFile1} -d ${path}/wcc",
  202. require => [Registry_Value ["HKEY_LOCAL_MACHINE\\SOFTWARE\\Oracle\\inst_loc"],File ["${path}/${wccFile1}"]],
  203. creates => "${path}/wcc/Disk1",
  204. }
  205. }
  206. if ! defined(Exec["extract ${wccFile2}"]) {
  207. exec { "extract ${wccFile2}":
  208. command => "${checkCommand} unzip -o ${path}/${wccFile2} -d ${path}/wcc",
  209. require => [Exec["extract ${wccFile1}"],File ["${path}/${wccFile2}"]],
  210. creates => "${path}/wcc/Disk2",
  211. }
  212. }
  213. exec {"icacls wcc disk ${title}":
  214. command => "${checkCommand} icacls ${path}\\wcc\\* /T /C /grant Administrator:F Administrators:F",
  215. logoutput => false,
  216. require => [Exec["extract ${wccFile2}"],Exec["extract ${wccFile1}"]],
  217. }
  218. exec { "install wcc ${title}":
  219. command => "${path}\\wcc\\Disk1\\setup.exe ${command} -ignoreSysPrereqs -jreLoc C:\\oracle\\${fullJDKName}",
  220. logoutput => true,
  221. require => [Exec["icacls wcc disk ${title}"],File["${path}/${title}silent_wcc.xml"],Exec["extract ${wccFile2}"],Exec["extract ${wccFile1}"]],
  222. creates => $wccOracleHome,
  223. timeout => 0,
  224. }
  225. }
  226. }
  227. }
  228. }