created by Edwin Biemond email biemond at gmail dot com
biemond.blogspot.com
Github homepage
Oracle OpenWorld presentation, how to roll out a complete FMW environment in less than 10 minutes
Should work for Solaris x86 64, Windows, RedHat, CentOS, Ubuntu, Debian, Suse SLES or OracleLinux
differences
- designed for puppet 3
- types & providers/ wls resource instead of wlstexec scripts like wls_machine, wls_server, wls_cluster, wls_jmsserver, wls_safagent
- totally refactored ( less manifests, parameters have hiera defaults and better parameter names )
- optimized for Hiera ( classes instead of defines )
For more info see the biemond-orawls module
Reference implementation, the vagrant test case for full working WebLogic 10.3.6 cluster example
/~https://github.com/biemond/biemond-wls-vagrant-10.3.6
Reference implementation, the vagrant test case for full working WebLogic 12.1.2 cluster example
/~https://github.com/biemond/biemond-wls-vagrant-12.1.2
Reference implementation, the vagrant test case for full working WebLogic SOA Suite, OIM and OAM example
/~https://github.com/biemond/biemond-wls-vagrant-oim
Reference implementation, the vagrant test case for full working WebLogic SOA Suite, OSB example
/~https://github.com/biemond/biemond-wls-vagrant-soa-osb
Reference implementation, the vagrant test case for full working WebLogic WebCenter , Content and BPM example
/~https://github.com/biemond/biemond-wls-vagrant-wc
- 1.4.0 BSU and OPatch type and provider.
- 1.3.9 added a raise to all wlst scripts, plus queue/topic fix.
- 1.3.8 Option to override the server arguments in the domain templates, small bugfixes.
- 1.3.7 javaParameters param for installwls ( support for Docker -Dspace.detection=false ,thanks Jyrk )
- 1.3.6 remoteFile param for BSU,Opatch,SOA Suite, WebCenter, WebCenter Content and OIM
- 1.3.5 Nodemanager fix, Added AdminServer startup properties for Nodemanager, Readme update for OIM,OAM
- 1.3.4 Nodemanager listen address, Domain ALSBdebug param check, remoteFile param for installwls ( for vagrant), managed server listen address, logdir fixes in copydomain & nodemanager, packdomain permissions fix, option to use copydomain without sshpass
- 1.3.3 Option to override the Oracle operating user and provide your own domains home
- 1.3.2 better WebLogic Facts checking, Foreign Server and FS objects support
- 1.3.1 soa & soa_bpm domain options, new JMS SubDeployment CF, Queue and Topic options
- 1.3.0 Compatible with earlier linux versions
- 1.2.9 Optimizations, Weblogic install timeout to 0, WLST fixes and separate domain pack ( no auto pack in wlsdomain )
- 1.2.8 BSU / nodemanager / WLST scripts fixes.
- 1.2.7 Windows fixes.
- 1.2.6 Webtier installation and associate domain with the Oracle HTTP server.
- 1.2.5 WebLogic domains also supports Prod mode, set Nodemanager security.
- 1.2.4 JMS Quota creation, Datasource now supports extra JDBC properties, fixed ruby warning with not escaped chars + arrays in erb files
- 1.2.3 Wlscontrol support starting of managed servers
- 1.2.2 Small bug fixes for ADF 12.1.2 install + weblogic configuration examples
- 1.2.1 Timout fixes + OPatch fix, fix for standard domain and wls 12.1.2, WebLogic 12.1.2 now uses these jars wls_121200.jar, fmw_infra_121200.jar instead of the zip files
- 1.2.0 Multi node domain support with copydomain class, create Machine, Managed Server & Cluster, less notify output
- 1.1.1 updated license to Apache 2.0, new wlscontrol class to start or stop a wls server, minimal output in repeating runs, less notify output and a logOutput parameters to control the output
- 1.1.0 Low on entropy fix with new urandomfix class, add rngd or rng-tools service which adds urandom, removed java.security.egd parameter
- installs WebLogic 10g,11g,12c ( 12.1.1 & 12.1.2 )
- apply BSU patch ( WebLogic Patch )
- installs Oracle ADF 11g & 12c ( 12.1.2)
- installs Oracle Service Bus 11g OSB with or without OEPE ( Oracle Eclipse )
- installs Oracle Soa Suite 11g
- installs Oracle Webcenter 11g
- installs Oracle Webcenter Content 11g
- installs Oracle Webtier and associate domain
- installs Oracle OIM ( identity management ) + OAM ( Access management ) 11.1.2.1
- apply Oracle patch ( OPatch for Oracle products )
- installs Oracle JDeveloper 11g / 12.1.2 + SOA Suite plugin
- configures and starts nodemanager
- start or stop a WebLogic server
- pack a WebLogic domain
- storeUserConfig for storing WebLogic Credentials and using in WLST
- set the log folder of the WebLogic Domain, Managed servers and FMW
- add JCA resource adapter plan + Entries
- create Machines, Managed Servers, Clusters, Server templates, Dynamic Clusters, Coherence clusters ( all 12.1.2 )
- create File or JDBC Persistence Store
- create JMS Server, Module, SubDeployment, Quota, Connection Factory, JMS (distributed) Queue or Topic,Foreign Servers + entries
- create SAF agents, SAF Remote Destinations, SAF Imported Destinations, SAF objects
- basically can run every WLST script with the flexible WLST define manifest
- low on entropy fix ( urandom ) by RNGD or RNG-Tools service
- Multi machine support for a WebLogic domain, can be used for cluster or spreading managed servers
all templates creates a WebLogic domain, logs the domain creation output
you can override the default server arguments by adding the following parameter to wlsdomain
java_arguments = { "ADM" => "...", "OSB" => "...", "SOA" => "...", "BAM" => "...","OAM" => "....","OIM" => "...."}
- domain 'standard' -> a default WebLogic
- domain 'adf' -> JRF + EM + Coherence (12.1.2) + OWSM (12.1.2) + JAX-WS Advanced + Soap over JMS (12.1.2)
- domain 'osb' -> OSB + JRF + EM + OWSM
- domain 'osb_soa' -> OSB + SOA Suite + BAM + JRF + EM + OWSM
- domain 'osb_soa_bpm' -> OSB + SOA Suite + BAM + BPM + JRF + EM + OWSM
- domain 'soa' -> SOA Suite + BAM + JRF + EM + OWSM
- domain 'soa_bpm' -> SOA Suite + BAM + BPM + JRF + EM + OWSM
- domain 'wc_wcc_bpm' -> WC (webcenter) + WCC ( Content ) + BPM + JRF + EM + OWSM
- domain 'wc' -> WC (webcenter) + JRF + EM + OWSM
- domain 'oim' -> OIM + OAM + SOA Suite
can cause certain operations to be very slow. Encryption operations need entropy to ensure randomness. Entropy is generated by the OS when you use the keyboard, the mouse or the disk.
If an encryption operation is missing entropy it will wait until enough is generated.
three options
use rngd service (use this wls::urandomfix class)
set java.security in JDK ( jre/lib/security in my jdk7 module )
set -Djava.security.egd=file:/dev/./urandom param
For FMW 11g (RCU) For the RCU configuration of the Soa Suite or WebCenter you can use my oradb puppet module
RCU configuration of the FMW 12.1.2 is supported by this module and its done by the domain creation
For windows puppet agents it is necessary to install unxutils tools and extract this on the c drive C:\unxutils
For windows and JDK, you need copy the jdk to c:\oracle\ ( unpossible with the space in c:\program files folder).
For bsu patches facts you need to have the java bin folder in your path var of your system.
Also for registry support install this on the master, read this registry blogpost and install this forge module on the puppet master
puppet module install puppetlabs/registry
default this wls module uses oracle as weblogic install user ( need to create your own user and group and set createUser=false on installwls or installadf )
you can override this by setting the following fact 'override_weblogic_user', like override_weblogic_user=wls or set FACTER_override_weblogic_user=wls
/etc/facter/facts.d/ # Puppet Open Source
/etc/puppetlabs/facter/facts.d/ # Puppet Enterprise
set the following fact 'override_weblogic_domain_folder', override_weblogic_domain_folder=/opt/oracle/wlsdomains or set FACTER_override_weblogic_domain_folder=/opt/oracle/wlsdomains
/etc/facter/facts.d/ # Puppet Open Source
/etc/puppetlabs/facter/facts.d/ # Puppet Enterprise
Some manifests like installwls.pp, opatch.pp, bsupatch.pp, installjdev, installosb, installsoa supports an alternative mountpoint for the big oracle setup/install files.
When not provided it uses the files location of the wls puppet module
else you can use $puppetDownloadMntPoint => "/mnt" or "puppet:///modules/wls/" (default) or "puppet:///middleware/"
When having a Domain on multiple servers you can use the copydomain class, this uses the sshpass and scp utilities to copy the domain to a local folder
for sshpass you need to install epel yum repository, do this by installing "puppet module install stahnma/epel"
for a complete multinode cluster example see example_conf_2_multi_node_domain_with_cluster.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
When you want a FMW WebLogic Domain and a Database with a RCU on 1 machine you can look at the following example see example_conf_1_server_with_wls12.1.2_ora_db12c.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
see example_conf_2_multi_node_domain_with_cluster.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
see example_conf_3_server_wls12.1.2_standard.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
see example_conf_4_weblogic_10.3.6_osb_soa_ps6.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
also creates JDBC datasources, Resource adapters, A Cluster with Managed Server, JMS server with a JMS module plus Queues & Topics
Standard WebLogic 10.3.6 server + BSU Patch with 11g PS6 of Webcenter portal & content domain ( also BPM portal)
see example_conf_5_weblogic_10.3.6_webcenter_portal_content_ps6.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
see example_conf_6_server_wls12.1.2_windows_standard.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
see example_conf_7_oim_oam_11.1.2.1.txt located in your wls module home at the puppet master or look at the my github repos /~https://github.com/biemond/puppet/tree/master/modules/wls
Contains WebLogic Facter which displays the following: Middleware homes, Oracle Software, BSU & OPatch patches, Domain configuration ( everything of a domain like deployments, datasource, JMS, SAF)
My WLS module Files folder, you need to download it yourself and agree to the Oracle (Developer) License
WebLogic 11g + patches: wls1036_generic.jar, p13573621_1036_Generic.zip, p14736139_1036_Generic.zip
WebLogic 12.1.2: wls_121200.jar, fmw_infra_121200.jar
IDE: jdevstudio11117install.jar, soa-jdev-extension_11117.zip, oepe-indigo-all-in-one-11.1.1.8.0.201110211138-linux-gtk-x86_64.zip
OSB + SOA software: ofm_osb_generic_11.1.1.7.0_disk1_1of1.zip, ofm_soa_generic_11.1.1.7.0_disk1_1of2.zip, ofm_soa_generic_11.1.1.7.0_disk1_2of2.zip
Webcenter software: ofm_wc_generic_11.1.1.7.0_disk1_1of1.zip, ofm_wcc_generic_11.1.1.7.0_disk1_1of2.zip, ofm_wcc_generic_11.1.1.7.0_disk1_2of2.zip
install the following module to set the database kernel parameters
puppet module install fiddyspence-sysctl
install the following module to set the database user limits parameters
puppet module install erwbgy-limits
sysctl { 'kernel.msgmnb': ensure => 'present', permanent => 'yes', value => '65536',}
sysctl { 'kernel.msgmax': ensure => 'present', permanent => 'yes', value => '65536',}
sysctl { 'kernel.shmmax': ensure => 'present', permanent => 'yes', value => '2147483648',}
sysctl { 'kernel.shmall': ensure => 'present', permanent => 'yes', value => '2097152',}
sysctl { 'fs.file-max': ensure => 'present', permanent => 'yes', value => '344030',}
sysctl { 'net.ipv4.tcp_keepalive_time': ensure => 'present', permanent => 'yes', value => '1800',}
sysctl { 'net.ipv4.tcp_keepalive_intvl': ensure => 'present', permanent => 'yes', value => '30',}
sysctl { 'net.ipv4.tcp_keepalive_probes': ensure => 'present', permanent => 'yes', value => '5',}
sysctl { 'net.ipv4.tcp_fin_timeout': ensure => 'present', permanent => 'yes', value => '30',}
class { 'limits':
config => {'*' => { 'nofile' => { soft => '2048' , hard => '8192', },},
'oracle' => { 'nofile' => { soft => '65535' , hard => '65535', },
'nproc' => { soft => '2048' , hard => '2048', },
'memlock' => { soft => '1048576', hard => '1048576',},},},
use_hiera => false,}
class application_wls12 {
include wls12_adf, wls12c_adf_domain
Class['wls12_adf'] -> Class['wls12c_adf_domain']
}
class application_osb_soa {
include wls1036osb_soa, wls_osb_soa_domain, wls_OSB_application_JDBC, wls_OSB_application_JMS
Class['wls1036osb_soa'] -> Class['wls_osb_soa_domain'] -> Class['wls_OSB_application_JDBC'] -> Class['wls_OSB_application_JMS']
}
class application_wc {
include wls1036_wc, wls_wc_wcc_bpm_domain
Class['wls1036_wc'] -> Class['wls_wc_wcc_bpm_domain']
}
class application_osb {
include wls1036osb, wls_osb_domain, wls_OSB_application_JDBC
Class['wls1036osb'] -> Class['wls_osb_domain'] -> Class['wls_OSB_application_JDBC']
}
class application_wc {
include wls1036_wc
}
include wls
class wls12_adf{
class { 'wls::urandomfix' :}
if $jdkWls12cJDK == undef {
$jdkWls12cJDK = 'jdk1.7.0_25'
}
if $wls12cVersion == undef {
$wls12cVersion = "1212"
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/oracle/wls"
$osMdwHome = "/opt/oracle/wls/Middleware12cADF"
$osWlHome = "/opt/oracle/wls/Middleware12cADF/wlserver"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/Middleware12cADF"
$osWlHome = "c:/oracle/Middleware12cADF/wlserver"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_middleware12cadf_wlserver"
$downloadDir = "c:/temp"
}
}
$puppetDownloadMntPoint = "puppet:///middleware/"
# $puppetDownloadMntPoint = "puppet:///modules/wls/"
# set the adf defaults
Wls::Installadf {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
wls::installadf{'adf12c':
adfFile => 'fmw_infra_121200.jar',
createUser => true,
}
}
class wls1036osb_soa{
class { 'wls::urandomfix' :}
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
if $wls11gVersion == undef {
$wls11gVersion = "1036"
}
#$puppetDownloadMntPoint = "puppet:///middleware/"
$puppetDownloadMntPoint = "puppet:///modules/wls/"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/wls"
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install/"
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/wls11g"
$osWlHome = "c:/oracle/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_wls11g_wlserver_10.3"
$downloadDir = "c:/temp"
$logDir = "c:/oracle/logs"
}
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, SLES, Debian: {
$mtimeParam = "1"
}
Solaris: {
$mtimeParam = "+1"
}
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
cron { 'cleanwlstmp' :
command => "find /tmp -name '*.tmp' -mtime ${mtimeParam} -exec rm {} \\; >> /tmp/tmp_purge.log 2>&1",
user => oracle,
hour => 06,
minute => 25,
}
cron { 'mdwlogs' :
command => "find ${osMdwHome}/logs -name 'wlst_*.*' -mtime ${mtimeParam} -exec rm {} \\; >> /tmp/wlst_purge.log 2>&1",
user => oracle,
hour => 06,
minute => 30,
}
cron { 'oracle_soa1_lsinv' :
command => "find ${osMdwHome}/Oracle_SOA1/cfgtoollogs/opatch/lsinv -name 'lsinventory*.txt' -mtime ${mtimeParam} -exec rm {} \\; >> /tmp/opatch_lsinv_soa1_purge.log 2>&1",
user => oracle,
hour => 06,
minute => 33,
}
cron { 'oracle_soa1_opatch' :
command => "find ${osMdwHome}/Oracle_SOA1/cfgtoollogs/opatch -name 'opatch*.log' -mtime ${mtimeParam} -exec rm {} \\; >> /tmp/opatch_soa_purge.log 2>&1",
user => oracle,
hour => 06,
minute => 35,
}
}
}
# set the defaults
Wls::Installwls {
version => $wls11gVersion,
fullJDKName => $jdkWls11gJDK,
oracleHome => $osOracleHome,
mdwHome => $osMdwHome,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Installosb {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Installsoa {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Nodemanager {
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
serviceName => $serviceName,
downloadDir => $downloadDir,
}
Wls::Bsupatch {
mdwHome => $osMdwHome ,
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
# install
wls::installwls{'11gPS5':
createUser => true,
}
# weblogic patch
wls::bsupatch{'p14736139':
patchId => 'HYKC',
patchFile => 'p14736139_1036_Generic.zip',
require => Wls::Installwls['11gPS5'],
}
wls::installosb{'osbPS6':
osbFile => 'ofm_osb_generic_11.1.1.7.0_disk1_1of1.zip',
require => Wls::Bsupatch['p14736139'],
}
wls::installsoa{'soaPS6':
soaFile1 => 'ofm_soa_generic_11.1.1.7.0_disk1_1of2.zip',
soaFile2 => 'ofm_soa_generic_11.1.1.7.0_disk1_2of2.zip',
require => Wls::Installosb['osbPS6'],
}
#nodemanager configuration and starting
wls::nodemanager{'nodemanager11g':
listenPort => '5556',
logDir => $logDir,
require => Wls::Installsoa['soaPS6'],
}
}
class wls1036_wc{
class { 'wls::urandomfix' :}
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
if $wls11gVersion == undef {
$wls11gVersion = "1036"
}
$puppetDownloadMntPoint = "puppet:///middleware/"
# $puppetDownloadMntPoint = "puppet:///modules/wls/"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/oracle/wls"
$osMdwHome = "/opt/oracle/wls/Middleware11gR1"
$osWlHome = "/opt/oracle/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle/middleware"
$osMdwHome = "c:/oracle/middleware/wls11g"
$osWlHome = "c:/oracle/middleware/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_middleware_wls11g_wlserver_10.3"
$downloadDir = "c:/temp"
$logDir = "c:/oracle/logs"
}
}
# set the defaults
Wls::Installwls {
version => $wls11gVersion,
fullJDKName => $jdkWls11gJDK,
oracleHome => $osOracleHome,
mdwHome => $osMdwHome,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Nodemanager {
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
serviceName => $serviceName,
downloadDir => $downloadDir,
}
Wls::Bsupatch {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Installwc {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Installwcc {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
Wls::Installsoa {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => $puppetDownloadMntPoint,
}
# install
wls::installwls{'11gPS5':}
# weblogic patch
wls::bsupatch{'p14736139':
patchId => 'HYKC',
patchFile => 'p14736139_1036_Generic.zip',
require => Wls::Installwls['11gPS5'],
}
# webcenter
wls::installwc{'wcPS6':
wcFile => 'ofm_wc_generic_11.1.1.7.0_disk1_1of1.zip',
require => Wls::Bsupatch['p14736139'],
}
# webcenter content
wls::installwcc{'wccPS6':
wccFile1 => 'ofm_wcc_generic_11.1.1.7.0_disk1_1of2.zip',
wccFile2 => 'ofm_wcc_generic_11.1.1.7.0_disk1_2of2.zip',
require => Wls::Installwc['wcPS6'],
}
wls::installsoa{'soaPS6':
soaFile1 => 'ofm_soa_generic_11.1.1.7.0_disk1_1of2.zip',
soaFile2 => 'ofm_soa_generic_11.1.1.7.0_disk1_2of2.zip',
require => Wls::Installwcc['wccPS6'],
}
#nodemanager configuration and starting
wls::nodemanager{'nodemanager11g':
listenPort => '5556',
logDir => $logDir,
require => Wls::Installsoa['soaPS6'],
}
}
class wls1036osb{
class { 'wls::urandomfix' :}
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
if $wls11gVersion == undef {
$wls11gVersion = "1036"
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/wls"
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install/"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/wls11g"
$osWlHome = "c:/oracle/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_wls11g_wlserver_10.3"
$downloadDir = "c:\\temp\\"
}
}
# set the defaults
Wls::Installwls {
version => $wls11gVersion,
fullJDKName => $jdkWls11gJDK,
oracleHome => $osOracleHome,
mdwHome => $osMdwHome,
user => $user,
group => $group,
downloadDir => $downloadDir,
}
Wls::Installosb {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
}
Wls::Nodemanager {
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
serviceName => $serviceName,
downloadDir => $downloadDir,
}
Wls::Bsupatch {
mdwHome => $osMdwHome ,
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
}
# install
wls::installwls{'11gPS5':}
# weblogic patch
wls::bsupatch{'p14736139':
patchId => 'HYKC',
patchFile => 'p14736139_1036_Generic.zip',
require => Wls::Installwls['11gPS5'],
}
wls::installosb{'osbPS6':
osbFile => 'ofm_osb_generic_11.1.1.7.0_disk1_1of1.zip',
require => Wls::Bsupatch['p14736139'],
}
#nodemanager configuration and starting
wls::nodemanager{'nodemanager11g':
listenPort => '5556',
logDir => '/data/logs',
require => Wls::Installosb['osbPS5'],
}
}
class jdeveloper11g_1212_soa {
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
wls::installjdev {'jdev_suite_121200':
version => "1212",
jdevFile => "jdev_suite_121200.jar",
fullJDKName => $jdkWls11gJDK,
mdwHome => "/opt/oracle/jdeveloper12c",
oracleHome => "/opt/oracle",
soaAddon => true,
soaAddonFile => "soa-jdev-extension_11117.zip",
user => $user,
group => $group,
downloadDir => $downloadDir,
puppetDownloadMntPoint => "puppet:///middleware/",
}
}
class jdeveloper11g_soa {
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
wls::installjdev {'jdevstudio11117':
version => "1111",
jdevFile => "jdevstudio11117install.jar",
fullJDKName => $jdkWls11gJDK,
mdwHome => "/opt/oracle/jdeveloper11gR1PS6",
oracleHome => "/opt/oracle",
soaAddon => true,
soaAddonFile => "soa-jdev-extension_11117.zip",
user => $user,
group => $group,
downloadDir => $downloadDir,
}
}
class osb_oepe{
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
if $wls11gVersion == undef {
$wls11gVersion = "1036"
}
$osOracleHome = "/opt/wls"
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/install/"
$oepeFile = "oepe-indigo-all-in-one-11.1.1.8.0.201110211138-linux-gtk-x86_64.zip"
# set the defaults
Wls::Installwls {
version => $wls11gVersion,
fullJDKName => $jdkWls11gJDK,
oracleHome => $osOracleHome,
mdwHome => $osMdwHome,
user => $user,
group => $group,
downloadDir => $downloadDir,
}
Wls::Installosb {
mdwHome => $osMdwHome,
wlHome => $osWlHome,
oracleHome => $osOracleHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
}
# install
wls::installwls{'11gPS5_hudson':}
# download oepe to hudson server
if ! defined(File["/install/${oepeFile}"]) {
file { "/install/${oepeFile}":
source => "puppet:///modules/wls/${oepeFile}",
require => Wls::Installwls['11gPS5_hudson'],
ensure => present,
mode => 0775,
}
}
# extract oepe in middleware home
if ! defined(Exec["extract ${oepeFile}"]) {
exec { "extract ${oepeFile}":
command => "unzip -n /install/${oepeFile} -d ${osMdwHome}/oepe11.1.1.8",
require => File["/install/${oepeFile}"],
creates => "${osMdwHome}/oepe11.1.1.8",
path => "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:",
user => $user,
group => $group,
logoutput => true,
}
}
#install OSB with OEPE
wls::installosb{'osbPS6_oepe':
osbFile => 'ofm_osb_generic_11.1.1.7.0_disk1_1of1.zip',
oepeHome => 'oepe11.1.1.8',
require => Exec["extract ${oepeFile}"],
}
}
include wls
class wls12c_adf_domain{
if $jdkWls12gJDK == undef {
$jdkWls12gJDK = 'jdk1.7.0_25'
}
$wlsDomainName = "adf"
$osTemplate = "adf"
$adminListenPort = "7001"
$nodemanagerPort = "5556"
$address = "localhost"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/oracle/wls"
$osMdwHome = "/opt/oracle/wls/Middleware12cADF"
$osWlHome = "/opt/oracle/wls/Middleware12cADF/wlserver"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/Middleware12cADF"
$osWlHome = "c:/oracle/Middleware12cADF/wlserver"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_middleware12cadf_wlserver"
$downloadDir = "c:/temp"
$logDir = "c:/oracle/logs"
}
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
$userConfigDir = '/home/oracle'
}
Solaris: {
$userConfigDir = '/export/home/oracle'
}
windows: {
$userConfigDir = "c:/oracle"
}
}
# rcu wc wcc bpm repository
$reposUrl = "jdbc:oracle:thin:@dbagent2.alfa.local:1521/test.oracle.com"
$rcuDbUrl = "dbagent2.alfa.local:1521:test"
$reposPrefix = "DEV3"
# rcu wc repository schema password
$reposPassword = hiera('database_test_rcu_dev_password')
$sysPassword = hiera('database_test_sys_password')
# wls::utils::rcu{ "RCU_12c dev3 delete":
# product => 'adf',
# oracleHome => "${osMdwHome}/oracle_common",
# fullJDKName => $jdkWls12gJDK,
# user => $user,
# group => $group,
# downloadDir => $downloadDir,
# action => 'delete',
# dbUrl => $rcuDbUrl,
# sysPassword => $sysPassword,
# schemaPrefix => $reposPrefix,
# reposPassword => $reposPassword,
# }
#
# install domain and in 12.1.2 it also creates a RCU schema plus a nodemanager
wls::wlsdomain{
'adfDomain12c':
version => "1212",
wlHome => $osWlHome,
mdwHome => $osMdwHome,
fullJDKName => $jdkWls12gJDK,
user => $user,
group => $group,
downloadDir => $downloadDir,
wlsTemplate => $osTemplate,
domain => $wlsDomainName,
adminListenPort => $adminListenPort,
nodemanagerPort => $nodemanagerPort,
java_arguments => { "ADM" => "-XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1024m" },
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
logDir => $logDir,
reposDbUrl => $reposUrl,
reposPrefix => $reposPrefix,
reposPassword => $reposPassword,
dbUrl => $rcuDbUrl,
sysPassword => $sysPassword,
# require => Wls::Utils::Rcu["RCU_12c dev3 delete"],
}
Wls::Nodemanager {
wlHome => $osWlHome,
fullJDKName => $jdkWls12gJDK,
user => $user,
group => $group,
serviceName => $serviceName,
}
#nodemanager starting
# in 12c start it after domain creation
wls::nodemanager{'nodemanager12c':
version => "1212",
listenPort => $nodemanagerPort,
domain => $wlsDomainName,
require => Wls::Wlsdomain['adfDomain12c'],
}
# default parameters for the wlst scripts
Wls::Wlstexec {
version => "1212",
wlsDomain => $wlsDomainName,
wlHome => $osWlHome,
fullJDKName => $jdkWls12gJDK,
user => $user,
group => $group,
address => $address,
downloadDir => $downloadDir,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
}
# start AdminServers for configuration
wls::wlscontrol{'startWLSAdminServer12c':
wlsDomain => $wlsDomainName,
wlsDomainPath => "${osMdwHome}/user_projects/domains/${wlsDomainName}",
wlsServer => "AdminServer",
action => 'start',
wlHome => $osWlHome,
fullJDKName => $jdkWls12gJDK,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
address => $address,
port => $nodemanagerPort,
user => $user,
group => $group,
downloadDir => $downloadDir,
logOutput => true,
require => Wls::Nodemanager['nodemanager12c'],
}
# create Server template for Dynamic Clusters
wls::wlstexec {
'createServerTemplate1':
wlstype => "server_templates",
wlsObjectName => "serverTemplate1",
script => 'createServerTemplateCluster.py',
params => ["server_template_name = 'serverTemplate1'",
"server_template_listen_port = 7100",
"dynamic_server_name_arguments ='-XX:PermSize=128m -XX:MaxPermSize=256m -Xms512m -Xmx1024m'"],
require => Wls::Wlscontrol['startWLSAdminServer12c'];
}
# create Dynamic Cluster
wls::wlstexec {
'createDynamicCluster':
wlstype => "cluster",
wlsObjectName => "dynamicCluster",
script => 'createDynamicCluster.py',
params => ["server_template_name = 'serverTemplate1'",
"dynamic_cluster_name = 'dynamicCluster'",
"dynamic_nodemanager_match = 'LocalMachine'",
"dynamic_server_name_prefix = 'dynamic_server_'"],
require => Wls::Wlstexec['createServerTemplate1'];
}
# create file persistence store 1 for dynamic cluster
wls::wlstexec {
'createFilePersistenceStoreDynamicCluster':
wlstype => "filestore",
wlsObjectName => "jmsModuleFilePersistence1",
script => 'createFilePersistenceStore2.py',
params => ["fileStoreName = 'jmsModuleFilePersistence1'",
"target = 'dynamicCluster'",
"targetType = 'Cluster'"],
require => Wls::Wlstexec['createDynamicCluster'];
}
# create jms server 1 for dynamic cluster
wls::wlstexec {
'createJmsServerDynamicCluster':
wlstype => "jmsserver",
wlsObjectName => "jmsServer1",
script => 'createJmsServer2.py',
params => ["storeName = 'jmsModuleFilePersistence1'",
"target = 'dynamicCluster'",
"targetType = 'Cluster'",
"jmsServerName = 'jmsServer1'",
"storeType = 'file'",
],
require => Wls::Wlstexec['createFilePersistenceStoreDynamicCluster'];
}
# create jms module for dynamic cluster
wls::wlstexec {
'createJmsModuleCluster':
wlstype => "jmsmodule",
wlsObjectName => "jmsClusterModule",
script => 'createJmsModule.py',
params => ["target = 'dynamicCluster'",
"jmsModuleName = 'jmsClusterModule'",
"targetType = 'Cluster'",
],
require => Wls::Wlstexec['createJmsServerDynamicCluster'];
}
# create jms subdeployment for dynamic cluster
wls::wlstexec {
'createJmsSubDeploymentForCluster':
wlstype => "jmssubdeployment",
wlsObjectName => "jmsClusterModule/dynamicCluster",
script => 'createJmsSubDeployment.py',
params => ["target = 'dynamicCluster'",
"jmsModuleName = 'jmsClusterModule'",
"subName = 'dynamicCluster'",
"targetType = 'Cluster'"
],
require => Wls::Wlstexec['createJmsModuleCluster'];
}
# create jms connection factory for jms module
wls::wlstexec {
'createJmsConnectionFactoryforCluster':
wlstype => "jmsobject",
wlsObjectName => "cf",
script => 'createJmsConnectionFactory.py',
params =>["subDeploymentName = 'dynamicCluster'",
"jmsModuleName = 'jmsClusterModule'",
"cfName = 'cf'",
"cfJNDIName = 'jms/cf'",
"transacted = 'false'",
"timeout = 'xxxx'"
],
require => Wls::Wlstexec['createJmsSubDeploymentForCluster'];
}
# create jms error Queue for jms module
wls::wlstexec {
'createJmsErrorQueueforJmsModule':
wlstype => "jmsobject",
wlsObjectName => "ErrorQueue2",
script => 'createJmsQueueOrTopic.py',
params =>["subDeploymentName = 'dynamicCluster'",
"jmsModuleName = 'jmsClusterModule'",
"jmsName = 'ErrorQueue2'",
"jmsJNDIName = 'jms/ErrorQueue2'",
"jmsType = 'queue'",
"distributed = 'true'",
"balancingPolicy = 'Round-Robin'",
"useRedirect = 'false'",
"limit = 'xxxxx'",
"policy = 'xxxxx'",
"errorObject = 'xxxxx'"
],
require => Wls::Wlstexec['createJmsConnectionFactoryforCluster'];
}
# create jms Queue for jms module
wls::wlstexec {
'createJmsQueueforJmsModule':
wlstype => "jmsobject",
wlsObjectName => "Queue1",
script => 'createJmsQueueOrTopic.py',
params => ["subDeploymentName = 'dynamicCluster'",
"jmsModuleName = 'jmsClusterModule'",
"jmsName = 'Queue1'",
"jmsJNDIName = 'jms/Queue1'",
"jmsType = 'queue'",
"distributed = 'true'",
"balancingPolicy = 'Round-Robin'",
"useRedirect = 'true'",
"limit = '3'",
"policy = 'Redirect'",
"errorObject = 'ErrorQueue2'"
],
require => Wls::Wlstexec['createJmsErrorQueueforJmsModule'];
}
# create Server template for Dynamic Coherence Clusters
wls::wlstexec {
'createServerTemplateCoherence':
wlstype => "server_templates",
wlsObjectName => "serverTemplateCoherence",
script => 'createServerTemplateCluster.py',
params => ["server_template_name = 'serverTemplateCoherence'",
"server_template_listen_port = 7200",
"dynamic_server_name_arguments ='-XX:PermSize=128m -XX:MaxPermSize=256m -Xms512m -Xmx1024m'"],
require => Wls::Wlstexec['createJmsQueueforJmsModule'];
}
# create Dynamic Coherence Cluster
wls::wlstexec {
'createDynamicClusterCoherence':
wlstype => "cluster",
wlsObjectName => "dynamicClusterCoherence",
script => 'createDynamicCluster.py',
params => ["server_template_name = 'serverTemplateCoherence'",
"dynamic_cluster_name = 'dynamicClusterCoherence'",
"dynamic_nodemanager_match = 'LocalMachine'",
"dynamic_server_name_prefix = 'dynamic_coherence_server_'"],
require => Wls::Wlstexec['createServerTemplateCoherence'];
}
# create Coherence Cluster
wls::wlstexec {
'createClusterCoherence':
wlstype => "coherence",
wlsObjectName => "clusterCoherence",
script => 'createCoherenceCluster.py',
params => ["coherence_cluster_name = 'clusterCoherence'",
"target = 'dynamicClusterCoherence'",
"targetType = 'Cluster'",
"storage_enabled = true",
"unicast_address = 'localhost'",
"unicast_port = 8088",
"multicast_address = '231.1.1.1'",
"multicast_port = 33387",
"machines = ['localhost']"],
require => Wls::Wlstexec['createDynamicClusterCoherence'];
}
}
class wls_osb_soa_domain{
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$wlsDomainName = "osbSoaDomain"
$osTemplate = "osb_soa"
$adminListenPort = "7001"
$nodemanagerPort = "5556"
$address = "localhost"
# rcu soa repository
$reposUrl = "jdbc:oracle:thin:@dbagent1.alfa.local:1521/test.oracle.com"
$reposPrefix = "DEV"
# rcu soa repository schema password
$reposPassword = "Welcome02"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/wls"
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$userConfigDir = '/home/oracle'
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/wls11g"
$osWlHome = "c:/oracle/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_wls11g_wlserver_10.3"
$downloadDir = "c:/temp"
$userConfigDir = "c:/oracle"
$logDir = "c:/oracle/logs"
}
}
# install SOA OSB domain
wls::wlsdomain{'osbSoaDomain':
wlHome => $osWlHome,
mdwHome => $osMdwHome,
fullJDKName => $jdkWls11gJDK,
wlsTemplate => $osTemplate,
domain => $wlsDomainName,
adminServerName => "AdminServer",
adminListenAdr => "localhost",
adminListenPort => $adminListenPort,
nodemanagerPort => $nodemanagerPort,
wlsUser => "weblogic",
password => "weblogic1",
user => $user,
group => $group,
logDir => $logDir,
downloadDir => $downloadDir,
reposDbUrl => $reposUrl,
reposPrefix => $reposPrefix,
reposPassword => $reposPassword,
}
# start AdminServers for configuration
wls::wlscontrol{'startOSBSOAAdminServer':
wlsDomain => $wlsDomainName,
wlsDomainPath => "${osMdwHome}/user_projects/domains/${wlsDomainName}",
wlsServer => "AdminServer",
action => 'start',
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
address => $address,
port => $nodemanagerPort,
user => $user,
group => $group,
downloadDir => $downloadDir,
logOutput => true,
require => Wls::Wlsdomain['osbSoaDomain'],
}
# create keystores for automatic WLST login
wls::storeuserconfig{
'osbSoaDomain_keys':
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
domain => $wlsDomainName,
address => $address,
wlsUser => "weblogic",
password => "weblogic1",
port => $adminListenPort,
user => $user,
group => $group,
userConfigDir => $userConfigDir,
downloadDir => $downloadDir,
require => Wls::Wlscontrol['startOSBSOAAdminServer'],
}
# set the defaults
Wls::Changefmwlogdir {
mdwHome => $osMdwHome,
user => $user,
group => $group,
address => $address,
port => $adminListenPort,
# wlsUser => "weblogic",
# password => "weblogic1",
userConfigFile => "${userConfigDir}/${user}-osbSoaDomain-WebLogicConfig.properties
userKeyFile => "${userConfigDir}/${user}-osbSoaDomain-WebLogicKey.properties",
downloadDir => $downloadDir,
}
# change the FMW logfiles
wls::changefmwlogdir{
'AdminServer':
wlsServer => "AdminServer",
logDir => $logDir,
require => Wls::Storeuserconfig['osbSoaDomain_keys'],
}
}
class wls_cluster2 {
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$wlsDomainName = "WlsDomain"
$adminListenPort = "7001"
$nodemanagerPort = "5556"
$address = "devagent40.alfa.local"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian: {
$userConfigDir = '/home/oracle'
}
Solaris: {
$userConfigDir = '/export/home/oracle'
}
windows: {
$userConfigDir = "c:/oracle"
}
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, Solaris: {
$osOracleHome = "/opt/oracle"
$osMdwHome = "/opt/oracle/wls/Middleware11gR1"
$osWlHome = "/opt/oracle/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/middleware/wls11g"
$osWlHome = "c:/oracle/middleware/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_middleware_wls11g_wlserver_10.3"
$downloadDir = "c:/temp"
$logDir = "c:/oracle/logs"
}
}
$userConfigFile = "${userConfigDir}/${user}-${wlsDomainName}-WebLogicConfig.properties"
$userKeyFile = "${userConfigDir}/${user}-${wlsDomainName}-WebLogicKey.properties"
# default parameters for the wlst scripts
Wls::Wlstexec {
wlsDomain => $wlsDomainName,
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
address => "localhost",
userConfigFile => $userConfigFile,
userKeyFile => $userKeyFile,
port => "7001",
downloadDir => $downloadDir,
logOutput => false,
}
# create machine
wls::wlstexec {
'createRemoteMachine':
wlstype => "machine",
wlsObjectName => "RemoteMachine",
script => 'createMachine.py',
params => ["machineName = 'RemoteMachine'",
"machineDnsName = 'devagent41.alfa.local'",
],
}
# create managed server 1
wls::wlstexec {
'createManagerServerWlsServer1':
wlstype => "server",
wlsObjectName => "wlsServer1",
script => 'createServer.py',
params => ["javaArguments = '-XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1024m -Dweblogic.Stdout=/data/logs/wlsServer1.out -Dweblogic.Stderr=/data/logs/wlsServer1_err.out'",
"wlsServerName = 'wlsServer1'",
"machineName = 'LocalMachine'",
"listenPort = 9201",
"nodeMgrLogDir = '/data/logs'",
],
require => Wls::Wlstexec['createRemoteMachine'],
}
# create managed server 2
wls::wlstexec {
'createManagerServerWlsServer2':
wlstype => "server",
wlsObjectName => "wlsServer2",
script => 'createServer.py',
params => ["javaArguments = '-XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1024m -Dweblogic.Stdout=/data/logs/wlsServer2.out -Dweblogic.Stderr=/data/logs/wlsServer2_err.out'",
"wlsServerName = 'wlsServer2'",
"machineName = 'RemoteMachine'",
"listenPort = 9202",
"nodeMgrLogDir = '/data/logs'",
],
require => Wls::Wlstexec['createManagerServerWlsServer1'],
}
# create cluster
wls::wlstexec {
'createClusterWeb':
wlstype => "cluster",
wlsObjectName => "WebCluster",
script => 'createCluster.py',
params => ["clusterName = 'WebCluster'",
"clusterNodes = 'wlsServer1,wlsServer2'",
],
require => Wls::Wlstexec['createManagerServerWlsServer2'],
}
}
class wls_copydomain2 {
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$wlsDomainName = "WlsDomain"
$adminListenPort = "7001"
$nodemanagerPort = "5556"
$address = "devagent40.alfa.local"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian: {
$userConfigDir = '/home/oracle'
}
Solaris: {
$userConfigDir = '/export/home/oracle'
}
windows: {
$userConfigDir = "c:/oracle"
}
}
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, Solaris: {
$osOracleHome = "/opt/oracle"
$osMdwHome = "/opt/oracle/wls/Middleware11gR1"
$osWlHome = "/opt/oracle/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/middleware/wls11g"
$osWlHome = "c:/oracle/middleware/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_middleware_wls11g_wlserver_10.3"
$downloadDir = "c:/temp"
$logDir = "c:/oracle/logs"
}
}
# install SOA OSB domain
wls::copydomain{'copyWlsDomain':
version => '1111',
wlHome => $osWlHome,
mdwHome => $osMdwHome,
fullJDKName => $jdkWls11gJDK,
domain => $wlsDomainName,
adminListenAdr => $address,
adminListenPort => $adminListenPort,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
user => $user,
userPassword => 'oracle',
group => $group,
downloadDir => $downloadDir,
}
}
class wls_wc_wcc_bpm_domain{
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$wlsDomainName = "wcWccBpmDomain"
#$osTemplate = "standard"
#$osTemplate = "osb"
#$osTemplate = "osb_soa"
#$osTemplate = "osb_soa_bpm"
#$osTemplate = "wc"
$osTemplate = "wc_wcc_bpm"
$adminListenPort = "7001"
$nodemanagerPort = "5556"
$address = "localhost"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES: {
$userConfigDir = '/home/oracle'
}
Solaris: {
$userConfigDir = '/export/home/oracle'
}
windows: {
$userConfigDir = "c:/oracle"
}
}
# rcu wc wcc bpm repository
$reposUrl = "jdbc:oracle:thin:@dbagent2.alfa.local:1521/test.oracle.com"
$reposPrefix = "DEV2"
# rcu wc repository schema password
$reposPassword = hiera('database_test_rcu_dev_password')
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/oracle/wls"
$osMdwHome = "/opt/oracle/wls/Middleware11gR1"
$osWlHome = "/opt/oracle/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle/middleware"
$osMdwHome = "c:/oracle/middleware/wls11g"
$osWlHome = "c:/oracle/middleware/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_middleware_wls11g_wlserver_10.3"
$downloadDir = "c:/temp"
$logDir = "c:/oracle/logs"
}
}
# install WC WCC BPM domain
wls::wlsdomain{'wcWccBpmDomain':
wlHome => $osWlHome,
mdwHome => $osMdwHome,
fullJDKName => $jdkWls11gJDK,
wlsTemplate => $osTemplate,
domain => $wlsDomainName,
adminServerName => "AdminServer",
adminListenAdr => "localhost",
adminListenPort => $adminListenPort,
nodemanagerPort => $nodemanagerPort,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
user => $user,
group => $group,
logDir => $logDir,
downloadDir => $downloadDir,
reposDbUrl => $reposUrl,
reposPrefix => $reposPrefix,
reposPassword => $reposPassword,
}
# start AdminServers for configuration
wls::wlscontrol{'startWCAdminServer':
wlsDomain => $wlsDomainName,
wlsDomainPath => "${osMdwHome}/user_projects/domains/${wlsDomainName}",
wlsServer => "AdminServer",
action => 'start',
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
address => $address,
port => $nodemanagerPort,
user => $user,
group => $group,
downloadDir => $downloadDir,
logOutput => true,
require => Wls::Wlsdomain['wcWccBpmDomain'],
}
# create keystores for automatic WLST login
wls::storeuserconfig{
'wcDomain_keys':
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
domain => $wlsDomainName,
address => $address,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
port => $adminListenPort,
user => $user,
group => $group,
userConfigDir => $userConfigDir,
downloadDir => $downloadDir,
require => Wls::Wlscontrol['startWCAdminServer'],
}
}
class wls_osb_domain{
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$wlsDomainName = "osbDomain"
$osTemplate = "osb"
$adminListenPort = "7001"
$nodemanagerPort = "5556"
$address = "localhost"
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osOracleHome = "/opt/wls"
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
$userConfigDir = '/home/oracle'
$logDir = "/data/logs"
}
windows: {
$osOracleHome = "c:/oracle"
$osMdwHome = "c:/oracle/wls11g"
$osWlHome = "c:/oracle/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_wls11g_wlserver_10.3"
$downloadDir = "c:\\temp"
$userConfigDir = "c:/oracle"
$logDir = "c:/oracle/logs"
}
}
# install OSB domain
wls::wlsdomain{'osbDomain':
wlHome => $osWlHome,
mdwHome => $osMdwHome,
fullJDKName => $jdkWls11gJDK,
wlsTemplate => $osTemplate,
domain => $wlsDomainName,
adminServerName => "AdminServer",
adminListenAdr => "localhost",
adminListenPort => $adminListenPort,
nodemanagerPort => $nodemanagerPort,
wlsUser => "weblogic",
password => "weblogic1",
user => $user,
group => $group,
logDir => $logDir,
downloadDir => $downloadDir,
}
# start AdminServers for configuration
wls::wlscontrol{'startOSBAdminServer':
wlsDomain => $wlsDomainName,
wlsDomainPath => "${osMdwHome}/user_projects/domains/${wlsDomainName}",
wlsServer => "AdminServer",
action => 'start',
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
wlsUser => "weblogic",
password => hiera('weblogic_password_default'),
address => $address,
port => $nodemanagerPort,
user => $user,
group => $group,
downloadDir => $downloadDir,
logOutput => true,
require => Wls::Wlsdomain['osbDomain'],
}
Wls::Changefmwlogdir {
mdwHome => $osMdwHome,
user => $user,
group => $group,
address => $address,
port => $adminListenPort,
wlsUser => "weblogic",
password => "weblogic1",
downloadDir => $downloadDir,
}
wls::changefmwlogdir{
'AdminServer':
wlsServer => "AdminServer",
logDir => $logDir,
require => Wls::Wlscontrol['startOSBAdminServer'],
}
}
class wls_OSB_application_JDBC{
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_09'
}
$userConfigFile = '/home/oracle/oracle-osbSoaDomain-WebLogicConfig.properties'
$userKeyFile = '/home/oracle/oracle-osbSoaDomain-WebLogicKey.properties'
$wlsDomainName = 'osbSoaDomain'
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
}
windows: {
$osMdwHome = "c:/oracle/wls11g"
$osWlHome = "c:/oracle/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_wls11g_wlserver_10.3"
$downloadDir = "c:\\temp"
}
}
# default parameters for the wlst scripts
Wls::Wlstexec {
wlsDomain => $wlsDomainName,
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
address => "localhost",
# wlsUser => "weblogic",
# password => "weblogic1",
userConfigFile => $userConfigFile,
userKeyFile => $userKeyFile,
port => "7001",
downloadDir => $downloadDir,
}
# create jdbc datasource for osb_server1
wls::wlstexec {
'createJdbcDatasourceHr':
wlstype => "jdbc",
wlsObjectName => "hrDS",
script => 'createJdbcDatasource.py',
params => ["dsName = 'hrDS'",
"jdbcDatasourceTargets = 'AdminServer,osb_server1'",
"dsJNDIName = 'jdbc/hrDS'",
"dsDriverName = 'oracle.jdbc.xa.client.OracleXADataSource'",
"dsURL = 'jdbc:oracle:thin:@dbagent1.alfa.local:1521/test.oracle.com'",
"dsUserName = 'hr'",
"dsPassword = 'hr'",
"datasourceTargetType = 'Server'",
"globalTransactionsProtocol = 'xxxx'"
"extraProperties = 'oracle.net.CONNECT_TIMEOUT,SendStreamAsBlob'",
"extraPropertiesValues = '10000,true'",
],
}
wls::resourceadapter{
'DbAdapter_hr':
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
domain => $wlsDomainName,
adapterName => 'DbAdapter' ,
adapterPath => '/opt/wls/Middleware11gR1/Oracle_SOA1/soa/connectors/DbAdapter.rar',
adapterPlanDir => '/opt/wls/Middleware11gR1/Oracle_SOA1/soa/connectors' ,
adapterPlan => 'Plan_DB.xml' ,
adapterEntry => 'eis/DB/hr',
adapterEntryProperty => 'xADataSourceName',
adapterEntryValue => 'jdbc/hrDS',
address => "localhost",
port => "7001",
# wlsUser => "weblogic",
# password => "weblogic1",
userConfigFile => $userConfigFile,
userKeyFile => $userKeyFile,
user => $user,
group => $group,
downloadDir => $downloadDir,
require => Wls::Wlstexec['createJdbcDatasourceHr'];
}
wls::resourceadapter{
'AqAdapter_hr':
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
domain => $wlsDomainName,
adapterName => 'AqAdapter' ,
adapterPath => '/opt/wls/Middleware11gR1/Oracle_SOA1/soa/connectors/AqAdapter.rar',
adapterPlanDir => '/opt/wls/Middleware11gR1/Oracle_SOA1/soa/connectors' ,
adapterPlan => 'Plan_AQ.xml' ,
adapterEntry => 'eis/AQ/hr',
adapterEntryProperty => 'xADataSourceName',
adapterEntryValue => 'jdbc/hrDS',
address => "localhost",
port => "7001",
wlsUser => "weblogic",
password => "weblogic1",
# userConfigFile => $userConfigFile,
# userKeyFile => $userKeyFile,
user => $user,
group => $group,
downloadDir => $downloadDir,
require => Wls::Resourceadapter['DbAdapter_hr'];
}
}
class wls_OSB_application_JMS{
if $jdkWls11gJDK == undef {
$jdkWls11gJDK = 'jdk1.7.0_25'
}
$userConfigFile = '/home/oracle/oracle-osbSoaDomain-WebLogicConfig.properties'
$userKeyFile = '/home/oracle/oracle-osbSoaDomain-WebLogicKey.properties'
$wlsDomainName = 'osbSoaDomain'
case $operatingsystem {
CentOS, RedHat, OracleLinux, Ubuntu, Debian, SLES, Solaris: {
$osMdwHome = "/opt/wls/Middleware11gR1"
$osWlHome = "/opt/wls/Middleware11gR1/wlserver_10.3"
$user = "oracle"
$group = "dba"
$downloadDir = "/data/install"
}
windows: {
$osMdwHome = "c:/oracle/wls11g"
$osWlHome = "c:/oracle/wls11g/wlserver_10.3"
$user = "Administrator"
$group = "Administrators"
$serviceName = "C_oracle_wls11g_wlserver_10.3"
$downloadDir = "c:\\temp"
}
}
# default parameters for the wlst scripts
Wls::Wlstexec {
wlsDomain => $wlsDomainName,
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
user => $user,
group => $group,
address => "localhost",
# wlsUser => "weblogic",
# password => "weblogic1",
userConfigFile => $userConfigFile,
userKeyFile => $userKeyFile,
port => "7001",
downloadDir => $downloadDir,
}
# create file persistence store for osb_server1
wls::wlstexec {
'createFilePersistenceStoreOSBServer':
wlstype => "filestore",
wlsObjectName => "jmsModuleFilePersistence",
script => 'createFilePersistenceStore.py',
port => $adminServerPort,
params => ["fileStoreName = 'jmsModuleFilePersistence'",
"serverTarget = 'osb_server1'"],
}
# create jms server for osb_server1
wls::wlstexec {
'createJmsServerOSBServer':
wlstype => "jmsserver",
wlsObjectName => "jmsServer",
script => 'createJmsServer.py',
params => ["storeName = 'jmsModuleFilePersistence'",
"serverTarget = 'osb_server1'",
"jmsServerName = 'jmsServer'",
"storeType = 'file'",
],
require => Wls::Wlstexec['createFilePersistenceStoreOSBServer'];
}
# create jms module for osb_server1
wls::wlstexec {
'createJmsModuleOSBServer':
wlstype => "jmsmodule",
wlsObjectName => "jmsModule",
script => 'createJmsModule.py',
params => ["target = 'osb_server1'",
"jmsModuleName = 'jmsModule'",
"targetType = 'Server'",
],
require => Wls::Wlstexec['createJmsServerOSBServer'];
}
# create jms Quota for osb_server1 jms module
wls::wlstexec {
'createJmsModuleQuotaHigh':
wlstype => "jmsquota",
wlsObjectName => "jmsModule/QuotaHigh",
script => 'createJmsQuota.py',
params => ["jmsQuotaName = 'QuotaHigh'",
"jmsModuleName = 'jmsModule'",
"policy = 'FIFO'",
"bytesMaximum = 9223372036854775807",
"messagesMaximum = 9223372036854775807",
"shared = false",
],
require => Wls::Wlstexec['createJmsModuleOSBServer'];
}
# create jms Quota for osb_server1 jms module
wls::wlstexec {
'createJmsModuleQuotaLow':
wlstype => "jmsquota",
wlsObjectName => "jmsModule/QuotaLow",
script => 'createJmsQuota.py',
params => ["jmsQuotaName = 'QuotaLow'",
"jmsModuleName = 'jmsModule'",
"policy = 'PREEMPTIVE'",
"bytesMaximum = 1000000000000",
"messagesMaximum = 1000000000000",
"shared = true",
],
require => Wls::Wlstexec['createJmsModuleQuotaHigh'];
}
# create jms subdeployment for jms module
wls::wlstexec {
'createJmsSubDeploymentWLSforJmsModule':
wlstype => "jmssubdeployment",
wlsObjectName => "jmsModule/wlsServer",
script => 'createJmsSubDeployment.py',
params => ["target = 'osb_server1'",
"jmsModuleName = 'jmsModule'",
"subName = 'wlsServer'",
"targetType = 'Server'",
],
require => Wls::Wlstexec['createJmsModuleQuotaLow'];
}
# create jms subdeployment for jms module
wls::wlstexec {
'createJmsSubDeploymentWLSforJmsModule2':
wlstype => "jmssubdeployment",
wlsObjectName => "jmsModule/JmsServer",
script => 'createJmsSubDeployment.py',
params => ["target = 'jmsServer'",
"jmsModuleName = 'jmsModule'",
"subName = 'JmsServer'",
"targetType = 'JMSServer'",
],
require => Wls::Wlstexec['createJmsSubDeploymentWLSforJmsModule'];
}
# create jms connection factory for jms module
wls::wlstexec {
'createJmsConnectionFactoryforJmsModule':
wlstype => "jmsobject",
wlsObjectName => "cf",
script => 'createJmsConnectionFactory.py',
params => ["subDeploymentName = 'wlsServer'",
"jmsModuleName = 'jmsModule'",
"cfName = 'cf'",
"cfJNDIName = 'jms/cf'",
"transacted = 'false'",
"timeout = 'xxxx'",
],
require => Wls::Wlstexec['createJmsSubDeploymentWLSforJmsModule2'];
}
wls::resourceadapter{
'JmsAdapter_hr':
wlHome => $osWlHome,
fullJDKName => $jdkWls11gJDK,
domain => $wlsDomainName,
adapterName => 'JmsAdapter' ,
adapterPath => '/opt/wls/Middleware11gR1/Oracle_SOA1/soa/connectors/JmsAdapter.rar',
adapterPlanDir => '/opt/wls/Middleware11gR1/Oracle_SOA1/soa/connectors' ,
adapterPlan => 'Plan_JMS.xml' ,
adapterEntry => 'eis/JMS/cf',
adapterEntryProperty => 'ConnectionFactoryLocation',
adapterEntryValue => 'jms/cf',
address => "localhost",
port => "7001",
# wlsUser => "weblogic",
# password => "weblogic1",
userConfigFile => $userConfigFile,
userKeyFile => $userKeyFile,
user => $user,
group => $group,
downloadDir => $downloadDir,
require => Wls::Wlstexec['createJmsConnectionFactoryforJmsModule'];
}
# create jms error Queue for jms module
wls::wlstexec {
'createJmsErrorQueueforJmsModule':
wlstype => "jmsobject",
wlsObjectName => "ErrorQueue",
script => 'createJmsQueueOrTopic.py',
params => ["subDeploymentName = 'JmsServer'",
"jmsModuleName = 'jmsModule'",
"jmsName = 'ErrorQueue'",
"jmsJNDIName = 'jms/ErrorQueue'",
"jmsType = 'queue'",
"distributed = 'false'",
"balancingPolicy = 'xxxxx'",
"useRedirect = 'false'",
"limit = 'xxxxx'",
"policy = 'xxxxx'",
"errorObject = 'xxxxx'",
"jmsQuota = 'QuotaLow'",
],
require => Wls::Resourceadapter['JmsAdapter_hr'];
}
}