wlsdeploy.pp 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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 => true,
  85. mode => 0555,
  86. owner => $user,
  87. group => $group,
  88. backup => false,
  89. }
  90. }
  91. windows: {
  92. $execPath = "C:\\oracle\\${fullJDKName}\\bin;C:\\unxutils\\bin;C:\\unxutils\\usr\\local\\wbin;C:\\Windows\\system32;C:\\Windows"
  93. $path = $downloadDir
  94. $JAVA_HOME = "c:\\oracle\\${fullJDKName}"
  95. if $deployType == 'weblogic' {
  96. $classpath = "${wlHome}\\server\\lib\\weblogic.jar"
  97. }
  98. elsif $deployType == 'osb' {
  99. $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"
  100. }
  101. else {
  102. fail("Unrecognized deployType choose weblogic or osb")
  103. }
  104. Exec { path => $execPath,
  105. logoutput => true,
  106. }
  107. File { ensure => present,
  108. replace => true,
  109. mode => 0777,
  110. backup => false,
  111. }
  112. }
  113. }
  114. # the py script used by the wlst
  115. file { "${path}/${title}importOSB.py":
  116. path => "${path}/${title}importOSB.py",
  117. content => template("wls/importOSB.py.erb"),
  118. }
  119. case $operatingsystem {
  120. CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
  121. exec { "execwlst ${title}importOSB.py":
  122. command => "${javaCommand} ${path}/${title}importOSB.py",
  123. environment => ["CLASSPATH=${classpath}",
  124. "JAVA_HOME=${JAVA_HOME}"],
  125. require => File["${path}/${title}importOSB.py"],
  126. }
  127. exec { "rm ${path}/${title}importOSB.py":
  128. command => "rm ${path}/${title}importOSB.py",
  129. require => Exec["execwlst ${title}importOSB.py"],
  130. }
  131. }
  132. windows: {
  133. exec { "execwlst ${title}importOSB.py":
  134. command => "C:\\Windows\\System32\\cmd.exe /c ${javaCommand} ${path}/${title}importOSB.py",
  135. environment => ["CLASSPATH=${classpath}",
  136. "JAVA_HOME=${JAVA_HOME}"],
  137. require => File["${path}/${title}importOSB.py"],
  138. }
  139. exec { "rm ${path}/${title}importOSB.py":
  140. command => "C:\\Windows\\System32\\cmd.exe /c del ${path}/${title}importOSB.py",
  141. require => Exec["execwlst ${title}importOSB.py"],
  142. }
  143. }
  144. }
  145. }