wlsdeploy.pp 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. # == Define: wls::wlsdeploy
  2. #
  3. # wls deploy for OSB
  4. #
  5. #
  6. # === Examples
  7. #
  8. # case $operatingsystem {
  9. # CentOS, RedHat, OracleLinux, Ubuntu, Debian: {
  10. # $osMdwHome = "/opt/oracle/wls/wls11g"
  11. # $osWlHome = "/opt/oracle/wls/wls11g/wlserver_10.3"
  12. # $user = "oracle"
  13. # $group = "dba"
  14. # }
  15. # windows: {
  16. # $osMdwHome = "c:/oracle/wls/wls11g"
  17. # $osWlHome = "c:/oracle/wls/wls11g/wlserver_10.3"
  18. # $user = "Administrator"
  19. # $group = "Administrators"
  20. # }
  21. # }
  22. #
  23. # # default parameters for the wlst scripts
  24. # Wls::Wlsdeploy {
  25. # wlHome => $osWlHome,
  26. # osbHome => $osbHome,
  27. # fullJDKName => $jdkWls11gJDK,
  28. # user => $user,
  29. # group => $group,
  30. # address => "localhost",
  31. # wlsUser => "weblogic",
  32. # password => "weblogic1",
  33. # port => "7001",
  34. # }
  35. #
  36. # # deploy OSB jar to the OSB server
  37. # wls::wlsdeploy {
  38. # 'deployOSBallProjects':
  39. # deployType => 'osb',
  40. # artifact => '/tmp/osb.jar',
  41. # customFile => 'None',
  42. # project => 'None',
  43. # }
  44. #
  45. #
  46. define wls::wlsdeploy ($wlHome = undef,
  47. $deployType = 'weblogic',
  48. $osbHome = undef,
  49. $fullJDKName = undef,
  50. $address = "localhost",
  51. $port = '7001',
  52. $wlsUser = "weblogic",
  53. $password = "weblogic1",
  54. $user = 'oracle',
  55. $group = 'dba',
  56. $artifact = undef,
  57. $customFile = 'None',
  58. $project = 'None',
  59. $downloadDir = '/install/',
  60. ) {
  61. notify {"wls::wlsdeploy ${title}":}
  62. $javaCommand = "java -Dweblogic.security.SSL.ignoreHostnameVerification=true weblogic.WLST -skipWLSModuleScanning "
  63. case $operatingsystem {
  64. CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
  65. $execPath = "/usr/java/${fullJDKName}/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:"
  66. $path = $downloadDir
  67. $JAVA_HOME = "/usr/java/${fullJDKName}"
  68. if $deployType == 'weblogic' {
  69. $classpath = "${wlHome}/server/lib/weblogic.jar"
  70. }
  71. elsif $deployType == 'osb' {
  72. $classpath = "${wlHome}/server/lib/weblogic.jar:${osbHome}/modules/com.bea.core.xml.xmlbeans_2.2.0.0_2-5-1.jar:${osbHome}/lib/alsb.jar:${osbHome}/lib/sb-kernel-wls.jar:${osbHome}/lib/sb-kernel-impl.jar:${osbHome}/lib/sb-kernel-api.jar:${osbHome}/modules/com.bea.common.configfwk_1.6.0.0.jar"
  73. }
  74. else {
  75. fail("Unrecognized deployType choose weblogic or osb")
  76. }
  77. Exec { path => $execPath,
  78. user => $user,
  79. group => $group,
  80. logoutput => false,
  81. }
  82. File {
  83. ensure => present,
  84. replace => 'yes',
  85. mode => 0555,
  86. owner => $user,
  87. group => $group,
  88. }
  89. }
  90. windows: {
  91. $execPath = "C:\\oracle\\${fullJDKName}\\bin;C:\\unxutils\\bin;C:\\unxutils\\usr\\local\\wbin;C:\\Windows\\system32;C:\\Windows"
  92. $path = $downloadDir
  93. $JAVA_HOME = "c:\\oracle\\${fullJDKName}"
  94. if $deployType == 'weblogic' {
  95. $classpath = "${wlHome}\\server\\lib\\weblogic.jar"
  96. }
  97. elsif $deployType == 'osb' {
  98. $classpath = "${wlHome}\\server\\lib\\weblogic.jar;${osbHome}\\modules\\com.bea.core.xml.xmlbeans_2.2.0.0_2-5-1.jar;${osbHome}\\lib\\alsb.jar;${osbHome}\\lib\\sb-kernel-wls.jar;${osbHome}\\lib\\sb-kernel-impl.jar;${osbHome}\\lib\\sb-kernel-api.jar;${osbHome}\\modules\\com.bea.common.configfwk_1.6.0.0.jar"
  99. }
  100. else {
  101. fail("Unrecognized deployType choose weblogic or osb")
  102. }
  103. Exec { path => $execPath,
  104. logoutput => true,
  105. }
  106. File { ensure => present,
  107. replace => 'yes',
  108. mode => 0777,
  109. }
  110. }
  111. }
  112. # the py script used by the wlst
  113. file { "${path}/${title}importOSB.py":
  114. path => "${path}/${title}importOSB.py",
  115. content => template("wls/importOSB.py.erb"),
  116. }
  117. case $operatingsystem {
  118. CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
  119. exec { "execwlst ${title}importOSB.py":
  120. command => "${javaCommand} ${path}/${title}importOSB.py",
  121. environment => ["CLASSPATH=${classpath}",
  122. "JAVA_HOME=${JAVA_HOME}"],
  123. require => File["${path}/${title}importOSB.py"],
  124. }
  125. exec { "rm ${path}/${title}importOSB.py":
  126. command => "rm -I ${path}/${title}importOSB.py",
  127. require => Exec["execwlst ${title}importOSB.py"],
  128. }
  129. }
  130. windows: {
  131. exec { "execwlst ${title}importOSB.py":
  132. command => "C:\\Windows\\System32\\cmd.exe /c ${javaCommand} ${path}/${title}importOSB.py",
  133. environment => ["CLASSPATH=${classpath}",
  134. "JAVA_HOME=${JAVA_HOME}"],
  135. require => File["${path}/${title}importOSB.py"],
  136. }
  137. exec { "rm ${path}/${title}importOSB.py":
  138. command => "C:\\Windows\\System32\\cmd.exe /c del ${path}/${title}importOSB.py",
  139. require => Exec["execwlst ${title}importOSB.py"],
  140. }
  141. }
  142. }
  143. }