orawls
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=4.3.0
- , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'biemond-orawls', '2.0.20'
Learn more about managing modules with a PuppetfileDocumentation
Oracle WebLogic / Fusion Middleware puppet module V2
Install, configures and manages WebLogic version 10.3 - 12.2.1
This module should work for all Linux & Solaris versions like RedHat, CentOS, Ubuntu, Debian, Suse SLES, OracleLinux, Solaris 10,11 sparc / x86
Only for Puppet >= 4.3 and this module uses the latest puppet 4 features like
- Strong data typing
- Internal hiera/lookup module data
- uses Facts array
- epp templating instead of erb
- puppet 4 ruby functions
For Puppet 3, 4 you have to use the latest 1.x version of this orawls module
source code is located at puppet4 branch
Please check the manifests and vagrant examples because there are some breaking changes especially on the manifest part ( I don't do hiera lookups. Just use the weblogic class and I will use those parameters as reference for the other manifest parameters)
Author
Edwin Biemond email biemond at gmail dot com
Contributors
Special thanks to all the contributors
More: https://github.com/biemond/biemond-orawls/graphs/contributors
Support
If you need support, checkout the wls_install and wls_config modules from Enterprise Modules
Dependencies
- hajee/easy_type >=0.10.0
- adrien/filemapper >= 1.1.1
- reidmv/yamlfile >=0.2.0
- fiddyspence/sleep => 1.1.2
- puppetlabs/stdlib => 4.9.0
Complete vagrant examples
- Docker with WebLogic 12.1.3 Cluster docker-weblogic-puppet
- WebLogic 11g Reference implementation, the vagrant test case for full working WebLogic 10.3.6 cluster example biemond-orawls-vagrant-puppet4
- WebLogic 12.2.1.2 MT multi tenancy / Puppet 4 Reference implementation, the vagrant test case for full working WebLogic 12.2.1 cluster example biemond-orawls-vagrant-12.2.1-puppet4
- WebLogic 12.2.1.2 infra (JRF + JRF restricted), the vagrant test case for full working WebLogic 12.2.1 infra cluster example with WebTier (Oracle HTTP Server) biemond-orawls-vagrant-12.2.1-infra-puppet4
- WebLogic 12.2.1.2 infra (JRF + JRF restricted), the vagrant test case for full working WebLogic 12.2.1 infra SOA Suite/BAM/OSB cluster example biemond-orawls-vagrant-12.2.1-infra-soa-puppet
- WebLogic OHS webtier standalone, the vagrant test case for full working Webtier 12.1.2 and 12.2.1 biemond-orawls-vagrant-ohs-puppet4
- WebCenter Sites 12.2.1 Reference implementation, the vagrant test case biemond-orawls-vagrant-12.2.1-infra-wcs-puppet4
- Reference OIM / OAM with WebTier, Webgate & Oracle Unified Directory, the vagrant test case for Oracle Identity Manager & Oracle Access Manager 11.1.2.3 example biemond-orawls-vagrant-oim_oam-puppet
- Reference OIM / OAM Cluster, the vagrant test case for Oracle Identity Manager & Oracle Access Manager 11.1.2.3 cluster example biemond-orawls-vagrant-oim_oam_cluster
- Oracle Forms, Reports 11.1.1.7 & 11.1.2 Reference implementation, the vagrant test case biemond-orawls-vagrant-11g-forms-puppet4
Orawls WebLogic Features
- Installs WebLogic, version 10g, 11g, 12c ( 12.1.1, 12.1.2, 12.1.3, 12.2.1, 12.2.1.X + FMW infrastructure editions )
- Apply a BSU patch on a Middleware home ( < 12.1.2 )
- Apply a OPatch on a Middleware home ( >= 12.1.2 ) or a Oracle product home
- Opatch upgrade on a Middleware home ( >= 12.1.2 )
- Create a WebLogic domain
- Pack a WebLogic domain
- Copy a WebLogic domain to a other node with SSH, unpack and enroll to a nodemanager
- JSSE Java Secure Socket Extension support
- Override the default file location, applicable for running as non-root user
- Custom Identity and Trust Store support
- Linux low on entropy or urandom fix
- Startup a nodemanager
- start or stop AdminServer, Managed or a Cluster
- StoreUserConfig for storing WebLogic Credentials and using in WLST
- Dynamic targetting by using the notes field in WebLogic for resource targetting
- 12.2.1 Multi Tenancy features
Fusion Middleware Features 11g & 12c
- installs FMW software(add-on) to a middleware home, like OSB,SOA Suite, Oracle Identity & Access Management, Oracle Unified Directory, WebCenter Portal + Content
- WebTier Oracle HTTP server Standalone and Collocated
- Configure Oracle HTTP Server
- OSB, SOA Suite with BPM and BAM Cluster configuration support ( convert single osb/soa/bam servers to clusters and migrate 11g OPSS to the database )
- ADF/JRF support, Assign JRF libraries to a Server or Cluster target
- OIM IDM / OAM 11.1.2.3 configurations with Oracle OHS OAM WebGate, Also it has Cluster support for OIM OAM
- OUD OUD Oracle Unified Directory install, WebLogic domain, instances creation & OUD control
- Forms/Reports Oracle Forms & Reports 11.1.1.7, 11.1.2 or 12.2.1
- WC, WCC, WCS Webcenter portal, content, sites 11g or 12.2.1
- Change FMW log location of a managed server
- Resource Adapter plan and entries for AQ, DB, MQ, FTP, File and JMS
Wls types and providers
This will use WLST to retrieve the current state and to the changes. With WebLogic 12.2.1 we can also use the rest management api's, it's already working in this module but we will slowly support this for all wls types
- wls_setting, set the default wls parameters for the other types and also used by puppet resource
- wls_adminserver control the adminserver or subscribe to changes
- wls_managedserver control the managed server,cluster or subscribe to changes
- wls_ohsserver control the ohs standalone server or subscribe to changes
- wls_domain
- wls_deployment
- wls_domain
- wls_group
- wls_role
- wls_user
- wls_authentication_provider
- wls_identity_asserter
- wls_machine
- wls_server
- wls_server_channel
- wls_server_tlog
- wls_cluster
- wls_migratable_target
- wls_singleton_service
- wls_virtual_host
- wls_workmanager_constraint
- wls_workmanager
- wls_datasource
- wls_multi_datasource
- wls_foreign_jndi_provider
- [wls_foreign_jndi_provider _link](#wls_foreign_jndi_provider _link)
- wls_file_persistence_store
- wls_jdbc_persistence_store
- wls_jmsserver
- wls_safagent
- wls_jms_module
- wls_jms_quota
- wls_jms_sort_destination_key
- wls_jms_subdeployment
- wls_jms_queue
- wls_jms_topic
- wls_jms_security_policy
- wls_jms_connection_factory
- wls_jms_template
- wls_jms_bridge_destination
- wls_messaging_bridge
- wls_saf_remote_context
- wls_saf_error_handler
- wls_saf_imported_destination
- wls_saf_imported_destination_object
- wls_foreign_server
- wls_foreign_server_object
- wls_mail_session
12.1.3 Coherence & Dynamic clusters
12.2.1.1 Multitenancy MT
- wls_virtual_target
- wls_resource_group
- wls_resource_group_template
- wls_resource_group_template_deployment
- wls_domain_partition
- wls_domain_partition_control
- wls_domain_partition_resource_group
- wls_domain_partition_resource_group_deployment
Domain creation options (Dev or Prod mode)
all templates creates a WebLogic domain, logs the domain creation output
For all WebLogic or FMW versions
- domain 'standard' -> a default WebLogic
- domain 'adf' -> JRF + EM + Coherence (12.1.2, 12.1.3, 12.2.1) + OWSM (12.1.2, 12.1.3, 12.2.1) + JAX-WS Advanced + Soap over JMS (12.1.2, 12.1.3, 12.2.1)
- domain 'osb' -> OSB + JRF + EM + OWSM + ESS ( optional with 12.1.3 )
- domain 'osb_soa' -> OSB + SOA Suite + BAM + JRF + EM + OWSM + ESS ( optional with 12.1.3 )
- domain 'osb_soa_bpm' -> OSB + SOA Suite + BAM + BPM + JRF + EM + OWSM + ESS ( optional with 12.1.3 )
- domain 'soa' -> SOA Suite + BAM + JRF + EM + OWSM + ESS ( optional with 12.1.3 )
- domain 'soa_bpm' -> SOA Suite + BAM + BPM + JRF + EM + OWSM + ESS ( optional with 12.1.3 )
- domain 'bam' -> BAM ( only with soa suite installation)
- domain 'ohs_standalone' -> Standalone webtier (HTTP Server) 12.1.2, 12.1.3 and 12.1.4
11g
- domain 'wc_wcc_bpm' -> WC (webcenter) + WCC ( Content ) + BPM + JRF + EM + OWSM
- domain 'wc' -> WC (webcenter) + JRF + EM + OWSM
11gR2
- domain 'oim' -> IDM, OIM (Oracle Identity Manager) + OAM ( Oracle Access Manager)
- domain 'oud' -> OUD (Oracle Unified Directory)
12.2.1.1
- domain 'adf_restricted' -> only for 12.2.1 (no RCU/DB) JRF + EM + Coherence + JAX-WS Advanced + Soap over JMS
- domain 'forms'
Puppet master with orawls module key points
it should work on every PE or opensource puppet master, customers and I successfully tested orawls on PE 3.0, 3.1, 3.2, 3.3. See also the puppet master vagrant box
For Running orawls module without root/elevated privileges, please use v3.7.0 or higher
But when it fails you can do the following actions.
- Check the time difference/timezone between all the puppet master and agent machines.
- Update orawls and its dependencies on the puppet master.
- After adding or refreshing the easy_type or orawls modules you need to restart all the PE services on the puppet master (this will flush the PE cache) and always do a puppet agent run on the Puppet master
- To solve this error "no such file to load -- easy_type" you need just to do a puppet run on the puppet master when it is still failing you can move the easy_type module to its primary module location ( /etc/puppetlabs/puppet/module )
- Move orawls and easy_type to the primary module location pup-1515 when the Puppet master loads a Type, it searches the environment that the agent requested. When it loads providers for that type, it searches the default environment instead of the one the agent requested.
Orawls WebLogic Facter
Contains WebLogic Facter which displays the following
- Middleware homes
- Oracle Software
- BSU & OPatch patches
- Domain configuration ( everything of a WebLogic Domain like deployments, datasource, JMS, SAF)
Override the default Oracle operating system user
default this orawls module uses oracle as weblogic install user you can override this by setting the following fact 'override_weblogic_user', like override_weblogic_user=wls or set FACTER_override_weblogic_user=wls
Override the default file location where orawls saves domain & other settings (Applicable for running as non-root user)
default this orawls module saves the domain & connection related setting in /etc in yaml format you can override this by setting the following 2 facts:
for domain information: override_wls_domains_file=[custom_path]/wls_domains.yaml or set FACTER_override_wls_domains_file=[custom_path]/wls_domains.yaml
for settings infortmation: override_wls_setting_file=[custom_path]/wls_setting.yaml or set FACTER_override_wls_setting_file=[custom_path]/wls_setting.yaml
for ora inst location: override_orainst_dir=[custom_path] or set FACTER_override_orainst_dir=[custom_path]
Set $puppet_os_user on some of the manifests or set this hiera variable puppet_os_user
Override the default WebLogic domain folder
Set the following hiera parameters for weblogic.pp
wls_domains_dir: '/opt/oracle/wlsdomains/domains'
wls_apps_dir: '/opt/oracle/wlsdomains/applications'
Set the following wls_domains_dir & wls_apps_dir parameters in
- weblogic.pp
- domain.pp
- control.pp
- packdomain.pp
- copydomain.pp
- fmwcluster.pp
- fmwclusterjrf.pp
Java Secure Socket Extension support
Requires the JDK 7 or 8 JCE extension
jdk7::install7{ 'jdk-8u72-linux-x64':
version => "8u72" ,
full_version => "jdk1.8.0_72",
alternatives_priority => 18001,
x64 => true,
download_dir => "/var/tmp/install",
urandom_java_fix => true,
rsa_key_size_fix => true,
cryptography_extension_file => "jce_policy-8.zip",
source_path => "/software",
}
jdk7::install7{ 'jdk1.7.0_51':
version => "7u51" ,
full_version => "jdk1.7.0_51",
alternatives_priority => 18000,
x64 => true,
download_dir => "/var/tmp/install",
urandom_java_fix => true,
rsa_key_size_fix => true, <!--
cryptography_extension_file => "UnlimitedJCEPolicyJDK7.zip", <!---
source_path => "/software",
}
To enable this in orawls you can set the jsse_enabled on the following manifests
- nodemanager.pp
- domain.pp
- control.pp
Enterprise security with Custom Identity and Trust store
in combination with JDK7 JCE policy, ORAUTILS and WebLogic JSSE you can use your own certificates
just generates all the certificates and set the following hiera variables.
# custom trust
orautils::customTrust: true
orautils::trustKeystoreFile: '/vagrant/truststore.jks'
orautils::trustKeystorePassphrase: 'welcome'
# used by nodemanager, control and domain creation
wls_custom_trust: &wls_custom_trust true
wls_trust_keystore_file: &wls_trust_keystore_file '/vagrant/truststore.jks'
wls_trust_keystore_passphrase: &wls_trust_keystore_passphrase 'welcome'
wls_setting_instances:
'default':
user: oracle
weblogic_home_dir: '/opt/oracle/middleware11g/wlserver_10.3'
connect_url: 't3s://10.10.10.10:7002'
weblogic_user: 'weblogic'
weblogic_password: 'Welcome01'
custom_trust: *wls_custom_trust
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
# create a standard domain with custom identity for the adminserver
domain_instances:
'Wls1036':
domain_template: "standard"
development_mode: false
log_output: *logoutput
custom_identity: true
custom_identity_keystore_filename: '/vagrant/identity_admin.jks'
custom_identity_keystore_passphrase: 'welcome'
custom_identity_alias: 'admin'
custom_identity_privatekey_passphrase: 'welcome'
nodemanager_instances:
'nodemanager':
log_output: *logoutput
custom_identity: true
custom_identity_keystore_filename: '/vagrant/identity_admin.jks'
custom_identity_keystore_passphrase: 'welcome'
custom_identity_alias: 'admin'
custom_identity_privatekey_passphrase: 'welcome'
nodemanager_address: *domain_adminserver_address
server_instances:
'wlsServer1':
ensure: 'present'
arguments: '-XX:PermSize=256m -XX:MaxPermSize=256m -Xms752m -Xmx752m -Dweblogic.Stdout=/var/log/weblogic/wlsServer1.out -Dweblogic.Stderr=/var/log/weblogic/wlsServer1_err.out'
listenaddress: '10.10.10.100'
listenport: '8001'
logfilename: '/var/log/weblogic/wlsServer1.log'
machine: 'Node1'
sslenabled: '1'
ssllistenport: '8201'
sslhostnameverificationignored: '1'
jsseenabled: '1'
custom_identity: '1'
custom_identity_keystore_filename: '/vagrant/identity_node1.jks'
custom_identity_keystore_passphrase: 'welcome'
custom_identity_alias: 'node1'
custom_identity_privatekey_passphrase: 'welcome'
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
Linux low on entropy or urandom fix
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 (include orawls::urandomfix class)
- set java.security in JDK ( jre/lib/security in my jdk7 module )
- set -Djava.security.egd=file:/dev/./urandom param
Oracle binaries files and alternate download location
Some manifests like orawls:weblogic bsu opatch fmw supports an alternative mountpoint for the big oracle setup/install files. When not provided it uses the files folder located in the orawls puppet module else you can use $puppet_download_mnt_point =>
- "/mnt"
- "/vagrant"
- "puppet:///modules/orawls/" (default)
- "puppet:///middleware/"
when the files are also accesiable locally then you can also set $remote_file => false this will not move the files to the download folder, just extract or install
WebLogic requirements
Operating System settings like User, Group, ULimits and kernel parameters requirements
install the following module to set the kernel parameters puppet module install fiddyspence-sysctl
install the following module to set the 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,}
create a WebLogic user and group
group { 'dba' :
ensure => present,
}
# http://raftaman.net/?p=1311 for generating password
user { 'oracle' :
ensure => present,
groups => 'dba',
shell => '/bin/bash',
password => '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',
home => "/home/oracle",
comment => 'Oracle user created by Puppet',
managehome => true,
require => Group['dba'],
}
Necessary Hiera setup for global vars and Facter
if you don't want to provide the same parameters in all the defines and classes
hiera.yaml main configuration
---
:backends: yaml
:yaml:
:datadir: /vagrant/puppet/hieradata
:hierarchy:
- "%{::fqdn}"
- common
vagrantcentos64.example.com.yaml
---
common.yaml
---
# global WebLogic vars
wls_oracle_base_home_dir: &wls_oracle_base_home_dir "/opt/oracle"
wls_weblogic_home_dir: &wls_weblogic_home_dir "/opt/oracle/middleware12c/wlserver"
wls_middleware_home_dir: &wls_middleware_home_dir "/opt/oracle/middleware12c"
wls_version: &wls_version 12212
# global OS vars
wls_source: &wls_source "/software"
wls_jdk_home_dir: &wls_jdk_home_dir "/usr/java/latest"
wls_log_dir: &wls_log_dir "/var/log/weblogic"
wls_domains_dir: &wls_domains_dir '/opt/oracle/wlsdomains/domains'
wls_apps_dir: &wls_apps_dir '/opt/oracle/wlsdomains/applications'
wls_jsse_enabled: true
WebLogic Module Usage
weblogic
orawls::weblogic installs WebLogic 10.3.[0-6], 12.1.1, 12.1.2, 12.1.3, 12.2.1, 12.2.1.2
include orawls::weblogic
orawls::weblogic::version: *wls_version # 1036|1211|1212|1213|1221|12212
orawls::weblogic::filename: 'fmw_12.2.1.2.0_wls.jar'
orawls::weblogic::log_output: true
orawls::weblogic::jdk_home_dir: *wls_jdk_home_dir
orawls::weblogic::oracle_base_home_dir: *wls_oracle_base_home_dir
orawls::weblogic::puppet_download_mnt_point: *wls_source
orawls::weblogic::remote_file: false
orawls::weblogic::wls_domains_dir: *wls_domains_dir
orawls::weblogic::wls_apps_dir: *wls_apps_dir
orawls::weblogic::middleware_home_dir: *wls_middleware_home_dir
12.1.3 infra
orawls::weblogic::version: *wls_version
orawls::weblogic::filename: 'fmw_12.2.1.2.0_infrastructure.jar'
orawls::weblogic::fmw_infra: true
orawls::weblogic::log_output: true
orawls::weblogic::jdk_home_dir: *wls_jdk_home_dir
orawls::weblogic::oracle_base_home_dir: *wls_oracle_base_home_dir
orawls::weblogic::puppet_download_mnt_point: *wls_source
orawls::weblogic::remote_file: false
orawls::weblogic::weblogic_home_dir: *wls_weblogic_home_dir
orawls::weblogic::middleware_home_dir: *wls_middleware_home_dir
or with a bin file located on a share
orawls::weblogic::version: 1036
orawls::weblogic::filename: "oepe-wls-indigo-installer-11.1.1.8.0.201110211138-10.3.6-linux32.bin"
orawls::weblogic::fmw_infra: true
orawls::weblogic::log_output: true
orawls::weblogic::jdk_home_dir: *wls_jdk_home_dir
orawls::weblogic::oracle_base_home_dir: *wls_oracle_base_home_dir
orawls::weblogic::puppet_download_mnt_point: "/misc/tact/products/oracle/11g/fmw/wls/11.1.1.8"
orawls::weblogic::remote_file: true
orawls::weblogic::wls_domains_dir: *wls_domains_dir
orawls::weblogic::wls_apps_dir: *wls_apps_dir
orawls::weblogic::middleware_home_dir: *wls_middleware_home_dir
orawls::weblogic::weblogic_home_dir: "/opt/weblogic/Middleware/wlserver_10.3"
weblogic_type
orawls::weblogic_type same as weblogic manifest/class but now as define which supports multiple middleware home on same VM
$default_params = {}
$weblogic_instances = hiera('weblogic_instances', {})
create_resources('orawls::weblogic_type',$weblogic_instances, $default_params)
weblogic_instances:
'home1':
version: *wls_version
filename: 'fmw_12.2.1.2.0_wls.jar'
middleware_home_dir: *wls_middleware_home_dir
log_output: true
jdk_home_dir: *wls_jdk_home_dir
oracle_base_home_dir: *wls_oracle_base_home_dir
puppet_download_mnt_point: '/vagrant'
remote_file: true
wls_domains_dir: *wls_domains_dir
wls_apps_dir: *wls_apps_dir
require: Jdk7::Install7[jdk-8u72-linux-x64]
'home2':
version: *wls_version
filename: 'fmw_12.2.1.2.0_wls.jar'
middleware_home_dir: '/opt/oracle/middleware12c_2'
log_output: true
jdk_home_dir: *wls_jdk_home_dir
oracle_base_home_dir: *wls_oracle_base_home_dir
puppet_download_mnt_point: '/vagrant'
remote_file: true
wls_domains_dir: *wls_domains_dir
wls_apps_dir: *wls_apps_dir
require: Jdk7::Install7[jdk-8u72-linux-x64]
opatchupgrade
orawls::opatchupgrade upgrade OPatch on a Middleware home
opatchupgrade_instances:
'28186730':
oracle_product_home_dir: *wls_middleware_home_dir
patch_id: 6880880
patch_file: "p28186730_139400_Generic.zip"
opversion: 13.9.4.0.0
opatch
orawls::opatch apply an OPatch on a Middleware home or a Oracle product home
Most general parameters are derived from weblogic.pp, you don't need to specify them again
orawls::opatch {'16175470':
ensure => "present",
oracle_product_home_dir => "/opt/oracle/middleware12c",
patch_id => 16175470,
patch_file => "p16175470_121200_Generic.zip",
}
Same configuration but then with Hiera
$default_params = {}
$opatch_instances = hiera('opatch_instances', {})
create_resources('orawls::opatch',$opatch_instances, $default_params)
common.yaml
---
opatch_instances:
'24910964':
ensure: 'present'
oracle_product_home_dir: *wls_middleware_home_dir
patch_id: 24910964
patch_file: "p24910964_122120_Generic.zip"
bsu
orawls::bsu apply or remove a WebLogic BSU Patch ( ensure = present or absent )
Most general parameters are derived from weblogic.pp, you don't need to specify them again
orawls::bsu {'BYJ1':
ensure => "present",
middleware_home_dir => "/opt/oracle/middleware11gR1",
weblogic_home_dir => "/opt/oracle/middleware11gR1/wlserver",
jdk_home_dir => "/usr/java/jdk1.7.0_45",
patch_id => "BYJ1",
patch_file => "p17071663_1036_Generic.zip",
os_user => "oracle",
os_group => "dba",
download_dir => "/data/install",
source => "/vagrant",
log_output => false,
}
$default_params = {}
$bsu_instances = hiera('bsu_instances', {})
create_resources('orawls::bsu',$bsu_instances, $default_params)
common.yaml
---
bsu_instances:
'BYJ1':
ensure "present"
middleware_home_dir: "/opt/oracle/middleware11gR1"
weblogic_home_dir: "/opt/oracle/middleware11gR1/wlserver"
jdk_home_dir: "/usr/java/jdk1.7.0_45"
patch_id: "BYJ1"
patch_file: "p17071663_1036_Generic.zip"
os_user: "oracle"
os_group: "dba"
download_dir: "/data/install"
source: "/vagrant"
log_output: false
or when you set the defaults hiera variables
---
bsu_instances:
'BYJ1':
ensure "present"
patch_id: "BYJ1"
patch_file: "p17071663_1036_Generic.zip"
log_output: false
fmw
orawls::fmw installs FMW software (add-on) to a middleware home like OSB,SOA Suite, WebTier (HTTP Server), Oracle Identity Management, Web Center, Content + Sites
Enum['adf','soa','soaqs','osb','wcc','wc','wcs','oim','oam','web','webgate','oud','mft','b2b','forms'] fmw_product
Most general parameters are derived from weblogic.pp, you don't need to specify them again
logoutput: &logoutput true
wls_oracle_base_home_dir: &wls_oracle_base_home_dir "/opt/oracle"
wls_weblogic_user: &wls_weblogic_user "weblogic"
wls_weblogic_home_dir: &wls_weblogic_home_dir "/opt/oracle/middleware12c/wlserver"
wls_middleware_home_dir: &wls_middleware_home_dir "/opt/oracle/middleware12c"
wls_version: &wls_version 12212
# global OS vars
wls_os_user: &wls_os_user "oracle"
wls_os_group: &wls_os_group "dba"
wls_download_dir: &wls_download_dir "/var/tmp/install"
wls_source: &wls_source "/software"
wls_jdk_home_dir: &wls_jdk_home_dir "/usr/java/latest"
wls_log_dir: &wls_log_dir "/var/log/weblogic"
$default_params = {}
$fmw_installations = hiera('fmw_installations', {})
create_resources('orawls::fmw',$fmw_installations, $default_params)
# FMW installation on top of WebLogic 12.2.1
fmw_installations:
'webtier1221':
fmw_product: "web"
fmw_file1: "fmw_12.2.1.2.0_ohs_linux64_Disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'soa1221':
fmw_product: "soa"
fmw_file1: "fmw_12.2.1.2.0_soa_Disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
bpm: true
'osb1221':
fmw_product: "osb"
fmw_file1: "fmw_12.2.1.2.0_osb_Disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'forms1221':
fmw_product: "forms"
fmw_file1: "fmw_12.2.1.2.0_fr_linux64_Disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'wcc1221':
fmw_product: "wcc"
fmw_file1: "fmw_12.2.1.2.0_wccontent_Disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'wc1221':
fmw_product: "wc"
fmw_file1: "fmw_12.2.1.2.0_wcportal_Disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'wcs1221':
fmw_product: "wcs"
fmw_file1: "fmw_12.2.1.2.0_wcsites_Disk1_1of1.zip"
wcs_mode: 'sites' # Enum['sites','examples','satellite']
oracle_base_home_dir: *wls_oracle_base_home_dir
# OHS standalone
fmw_installations:
'webtier1212':
fmw_product: "web"
ohs_mode: "standalone"
fmw_file1: "fmw_12.2.1.2.0_ohs_linux64_Disk1_1of1.zip"
log_output: true
remote_file: false
version: *wls_version
weblogic_home_dir: *wls_weblogic_home_dir
middleware_home_dir: *wls_middleware_home_dir
jdk_home_dir: *wls_jdk_home_dir
oracle_base_home_dir: *wls_oracle_base_home_dir
os_user: *wls_os_user
os_group: *wls_os_group
download_dir: *wls_download_dir
puppet_download_mnt_point: *wls_source
fmw_installations:
'webTierPS8':
version: 1111
fmw_product: "web"
fmw_file1: "ofm_webtier_linux_11.1.1.9.0_64_disk1_1of1.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'forms11112':
version: 11112
fmw_product: "forms"
fmw_file1: "V18772-01_1of4.zip"
fmw_file2: "V18772-01_2of4.zip"
fmw_file3: "V18772-01_3of4.zip"
fmw_file4: "V18772-01_4of4.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
'forms1112':
version: 1112
fmw_product: "forms"
fmw_file1: "ofm_frmrpts_linux_11.1.2.2.0_64_disk1_1of2.zip"
fmw_file2: "ofm_frmrpts_linux_11.1.2.2.0_64_disk1_2of2.zip"
oracle_base_home_dir: *wls_oracle_base_home_dir
domain
orawls::domain creates WebLogic domain like a standard | OSB or SOA Suite | ADF | WebCenter | OIM or OAM or OUD
Most general parameters are derived from weblogic.pp, you don't need to specify them again
optional override the default server arguments in the domain.py template with java_arguments parameter
wls_os_user: &wls_os_user "oracle"
wls_weblogic_home_dir: &wls_weblogic_home_dir "/opt/oracle/middleware12c/wlserver"
wls_middleware_home_dir: &wls_middleware_home_dir "/opt/oracle/middleware12c"
wls_jsse_enabled: &wls_jsse_enabled true
wls_log_dir: &wls_log_dir "/var/log/weblogic"
# when you have just one domain on a server
domain_name: &domain_name "Wls1221"
domain_wls_password: &domain_wls_password "weblogic1"
domain_adminserver_address: &domain_adminserver_address "%{hiera('adminserver_address')}"
domain_node1_address: &domain_node1_address "%{hiera('node1_address')}"
domain_node2_address: &domain_node2_address "%{hiera('node2_address')}"
# used by nodemanager, control and domain creation
wls_custom_trust: &wls_custom_trust true
wls_trust_keystore_file: &wls_trust_keystore_file '/vagrant/truststore.jks'
wls_trust_keystore_passphrase: &wls_trust_keystore_passphrase 'welcome'
$default = {}
$domain_instances = hiera('domain_instances', {})
create_resources('orawls::domain',$domain_instances, $default)
vagrantcentos64.example.com.yaml
---
domain_instances:
'Wls1221':
domain_template: "standard"
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: *domain_name
development_mode: false
adminserver_address: *domain_adminserver_address
adminserver_ssl_port: 7002
custom_trust: *wls_custom_trust
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
custom_identity: true
custom_identity_keystore_filename: '/vagrant/identity_admin.jks'
custom_identity_keystore_passphrase: 'welcome'
custom_identity_alias: 'admin'
custom_identity_privatekey_passphrase: 'welcome'
weblogic_password: *domain_wls_password
jsse_enabled: *wls_jsse_enabled
log_dir: *wls_log_dir
'plain_Wls':
domain_template: "standard"
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: "plain_Wls"
development_mode: false
adminserver_address: *domain_adminserver_address
adminserver_listen_on_all_interfaces: true
adminserver_port: 7101
nodemanager_port: 5557
nodemanager_secure_listener: false
weblogic_password: *domain_wls_password
jsse_enabled: *wls_jsse_enabled
log_dir: *wls_log_dir
java_arguments:
ADM: "-XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1024m"
ADF with and without RCU
domain_instances:
'adf_domain':
# domain_template: "adf_restricted"
domain_template: "adf"
repository_database_url: "jdbc:oracle:thin:@wlsdb.example.com:1521/wlsrepos.example.com"
repository_prefix: "DEV"
repository_password: "Welcome01"
repository_sys_password: "Welcome01"
rcu_database_url: "wlsdb.example.com:1521:wlsrepos.example.com"
domain_name: *domain_name
development_mode: true
log_output: *logoutput
webtier_enabled: true
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
jsse_enabled: *wls_jsse_enabled
log_dir: *wls_log_dir
domain_instances:
'adf_domain':
domain_template: "adf_restricted"
domain_name: *domain_name
development_mode: true
log_output: *logoutput
webtier_enabled: true
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
jsse_enabled: *wls_jsse_enabled
log_dir: *wls_log_dir
Standalone Webtier
logoutput: &logoutput true
wls_oracle_base_home_dir: &wls_oracle_base_home_dir "/opt/oracle"
wls_weblogic_user: &wls_weblogic_user "weblogic"
wls_weblogic_home_dir: &wls_weblogic_home_dir "/opt/oracle/middleware12c/wlserver"
wls_middleware_home_dir: &wls_middleware_home_dir "/opt/oracle/middleware12c"
wls_version: &wls_version 12212
# global OS vars
wls_os_user: &wls_os_user "oracle"
wls_os_group: &wls_os_group "dba"
wls_download_dir: &wls_download_dir "/var/tmp/install"
wls_source: &wls_source "/software"
wls_jdk_home_dir: &wls_jdk_home_dir "/usr/java/latest"
wls_log_dir: &wls_log_dir "/var/log/weblogic"
domain_name: &domain_name "Wls1221"
domain_nodemanager_port: &domain_nodemanager_port 5556
domain_wls_password: &domain_wls_password "weblogic1"
domain_adminserver_address: &domain_adminserver_address "10.10.10.36"
domain_instances:
'Wls1221':
version: *wls_version
domain_template: "ohs_standalone"
development_mode: false
ohs_standalone_listen_address: *domain_adminserver_address
ohs_standalone_listen_port: 8180
ohs_standalone_ssl_listen_port: 8181
nodemanager_password: *domain_wls_password
nodemanager_username: *wls_weblogic_user
log_output: *logoutput
weblogic_home_dir: *wls_weblogic_home_dir
middleware_home_dir: *wls_middleware_home_dir
jdk_home_dir: *wls_jdk_home_dir
domain_name: *domain_name
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
log_dir: *wls_log_dir
wls_domains_dir: ''
wls_apps_dir: ''
os_user: *wls_os_user
os_group: *wls_os_group
download_dir: *wls_download_dir
nodemanager_instances:
'nodemanager':
ohs_standalone: true
log_output: *logoutput
log_file: 'nodemanager_wls1221.log'
version: *wls_version
weblogic_home_dir: *wls_weblogic_home_dir
middleware_home_dir: *wls_middleware_home_dir
jdk_home_dir: *wls_jdk_home_dir
sleep: 21
domain_name: *domain_name
nodemanager_address: *domain_adminserver_address
wls_domains_dir: ''
os_user: *wls_os_user
os_group: *wls_os_group
download_dir: *wls_download_dir
# startup adminserver for extra configuration
control_instances:
'startOHS1server':
domain_name: *domain_name
server_type: 'ohs_standalone'
target: 'Server'
server: 'ohs1'
action: 'start'
log_output: *logoutput
wls_domains_dir: ''
os_user: *wls_os_user
os_group: *wls_os_group
download_dir: *wls_download_dir
weblogic_home_dir: *wls_weblogic_home_dir
middleware_home_dir: *wls_middleware_home_dir
jdk_home_dir: *wls_jdk_home_dir
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
packdomain
orawls::packdomain pack a WebLogic Domain and add this to the download folder
$default_params = {}
$pack_domain_instances = hiera('pack_domain_instances', {})
create_resources('orawls::packdomain',$pack_domain_instances, $default_params)
# pack domains
pack_domain_instances:
'Wls1221':
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: *domain_name
'plain':
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: "plain_Wls"
copydomain
orawls::copydomain copies a WebLogic domain with SSH or from a share, unpack and enroll to a nodemanager
When using ssh (use_ssh = true) you need to setup ssh so you won't need to provide a password
$default_params = {}
$copy_instances = hiera('copy_instances', {})
create_resources('orawls::copydomain',$copy_instances, $default_params)
# copy domains to other nodes
copy_instances:
'wlsDomain':
log_output: *logoutput
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: *domain_name
jsse_enabled: *wls_jsse_enabled
adminserver_address: *domain_adminserver_address
weblogic_user: 'weblogic'
weblogic_password: *domain_wls_password
server_start_mode: 'prod'
custom_trust: *wls_custom_trust
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
nodemanager
orawls::nodemanager start the nodemanager of a WebLogic Domain or Middleware Home
Same configuration but then with Hiera ( need to have puppet > 3.0 )
$default = {}
$nodemanager_instances = hiera('nodemanager_instances', [])
create_resources('orawls::nodemanager',$nodemanager_instances, $default)
nodemanager_instances:
'nodemanager':
weblogic_home_dir: *wls_weblogic_home_dir
log_file: 'nodemanager_wls1221.log'
extra_arguments: '-Daa=1 -Dbb=2'
custom_trust: *wls_custom_trust
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
custom_identity: true
custom_identity_keystore_filename: '/vagrant/identity_admin.jks'
custom_identity_keystore_passphrase: 'welcome'
custom_identity_alias: 'admin'
custom_identity_privatekey_passphrase: 'welcome'
nodemanager_address: *domain_adminserver_address
domain_name: *domain_name
jsse_enabled: *wls_jsse_enabled
sleep: 21
properties:
'log_level': 'INFO'
'log_count': '2'
'log_append': true
'log_formatter': 'weblogic.nodemanager.server.LogFormatter'
'listen_backlog': 60
'nodemanager_plain':
weblogic_home_dir: *wls_weblogic_home_dir
log_file: 'nodemanager_plain.log'
nodemanager_address: *domain_adminserver_address
nodemanager_port: 5557
domain_name: "plain_Wls"
custom_trust: false
custom_identity: false
nodemanager_secure_listener: false
sleep: 21
jsse_enabled: *wls_jsse_enabled
control
orawls::control start or stops the AdminServer,Managed Server, OHS Standalone Server or a Cluster of a WebLogic Domain, this will call the wls_managedserver, wls_adminserver and wls_ohsserver types
$default = {}
$control_instances = hiera('control_instances', {})
create_resources('orawls::control',$control_instances, $default)
control_instances:
'startWLSAdminServer':
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: *domain_name
server_type: 'admin'
target: 'Server'
action: 'start'
custom_trust: *wls_custom_trust
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
jsse_enabled: *wls_jsse_enabled
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
'startWLSAdminServer_plain':
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: 'plain_Wls'
server_type: 'admin'
nodemanager_port: 5557
nodemanager_secure_listener: false
custom_trust: false
target: 'Server'
action: 'start'
jsse_enabled: *wls_jsse_enabled
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
urandomfix
orawls::urandomfix Linux low on entropy or urandom fix 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
storeuserconfig
orawls::storeuserconfig Creates WLST user config for WLST , this way you don't need to know the weblogic password. when you set the defaults hiera variables
notify { 'class userconfig':}
$default_params = {}
$userconfig_instances = hiera('userconfig_instances', {})
create_resources('orawls::storeuserconfig',$userconfig_instances, $default_params)
userconfig_instances:
'Wls1221':
user_config_dir: '/home/oracle'
weblogic_home_dir: *wls_weblogic_home_dir
domain_name: *domain_name
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
Dynamictargetting
Sometimes you do not know how many managed services you will have, due to application scaling or other use cases. Since you do specify resources like clusters and datasources in a more 'static' way, there should be a way to qualify a managed server as a target for such resources.
We use the notes field in WebLogic Server to accomplish this. Currently implemented for the following resource types:
- wls_cluster
- wls_datasource
- wls_mail_session
The way you use this, is by entering the resource name in the server_parameter field on the wls_server type, and put the servers field to 'inherited' on the resource to be targeted.
Example:
wls_server { 'wlsServer1':
ensure => 'present',
arguments => '-XX:PermSize=256m -XX:MaxPermSize=256m -Xms752m -Xmx752m -Dweblogic.Stdout=/var/log/weblogic/wlsServer1.out -Dweblogic.Stderr=/var/log/weblogic/wlsServer1_err.out',
jsseenabled => '0',
listenaddress => '10.10.10.100',
listenport => '8001',
listenportenabled => '1',
machine => 'Node1',
sslenabled => '0',
tunnelingenabled => '0',
max_message_size => '10000000',
server_parameter => 'WebCluster, hrDs',
}
wls_cluster { 'WebCluster':
ensure => 'present',
messagingmode => 'unicast',
migrationbasis => 'consensus',
servers => ['inherited'],
multicastaddress => '239.192.0.0',
multicastport => '7001',
}
wls_datasource { 'hrDS':
ensure => 'present',
connectioncreationretryfrequency => '0',
drivername => 'oracle.jdbc.xa.client.OracleXADataSource',
extraproperties => ['SendStreamAsBlob=true', 'oracle.net.CONNECT_TIMEOUT=10001'],
fanenabled => '0',
globaltransactionsprotocol => 'TwoPhaseCommit',
initialcapacity => '2',
initsql => 'None',
jndinames => ['jdbc/hrDS', 'jdbc/hrDS2'],
maxcapacity => '15',
mincapacity => '1',
rowprefetchenabled => '0',
rowprefetchsize => '48',
secondstotrustidlepoolconnection => '10',
statementcachesize => '10',
target => ['inherited'],
targettype => ['inherited'],
testconnectionsonreserve => '0',
testfrequency => '120',
testtablename => 'SQL SELECT 1 FROM DUAL',
url => 'jdbc:oracle:thin:@dbagent2.alfa.local:1521/test.oracle.com',
user => 'hr',
usexa => '0',
}
In the case of the wls_datasource type, the jdbc connection will be targetted on the cluster if the managed server is in a cluster.
Configure Oracle HTTP Server
You can configure OHS locations using orawls::ohs::forwarder resource:
ohs_forwarder_instances:
'/console':
servers: ['10.10.10.10:7001']
os_user: *wls_os_user
os_group: *wls_os_group
domain_dir: '/opt/oracle/middleware12c/user_projects/domains/Wls1212'
require: Orawls::Control[startOHS1server]
notify: Wls_ohsserver[reloadOHS1server]
# subscribe on a ohs change and restart the ohs server
osh_reload_domain:
'reloadOHS1server':
ensure: 'running'
domain_name: *domain_name
server_name: 'ohs1'
domain_path: '/opt/oracle/middleware12c/user_projects/domains/Wls1212'
os_user: *wls_os_user
weblogic_home_dir: *wls_weblogic_home_dir
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
jdk_home_dir: *wls_jdk_home_dir
nodemanager_address: *domain_adminserver_address
nodemanager_port: *domain_nodemanager_port
refreshonly: true
Notify option is needed to OHS restart and load changes. Require is needed because, without it, notify option may attempt to reload server before it's running.
OHS will include all .conf files at domain_path/config/fmwconfig/components/OHS/ server_name /mod_wl_ohs.d folder.
fmwlogdir
orawls::fmwlogdir Change a log folder location of a FMW server
$default_params = {}
$fmwlogdir_instances = hiera('fmwlogdir_instances', {})
create_resources('orawls::fmwlogdir',$fmwlogdir_instances, $default_params)
fmwlogdir_instances:
'AdminServer':
server: 'AdminServer'
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
log_dir: *wls_log_dir
require: Orawls::Utils::Fmwclusterjrf[WebCluster]
'WebServer1':
server: 'WebServer1'
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
log_dir: *wls_log_dir
require: Orawls::Utils::Fmwclusterjrf[WebCluster]
resourceadapter
orawls::resourceadapter Add a Resource adapter plan for File, FTP, AQ, MQ, DB or JMS with some entries when you set the defaults hiera variables
$default_params = {}
$resource_adapter_instances = hiera('resource_adapter_instances', {})
create_resources('orawls::resourceadapter',$resource_adapter_instances, $default_params)
resource_adapter_instances:
'JmsAdapter_hr':
adapter_name: 'JmsAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/JmsAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_JMS.xml'
adapter_entry: 'eis/JMS/cf'
adapter_entry_property: 'ConnectionFactoryLocation'
adapter_entry_value: 'jms/cf'
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
'JmsAdapter_hr2':
adapter_name: 'JmsAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/JmsAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_JMS.xml'
adapter_entry: 'eis/JMS/cf2'
adapter_entry_property: 'ConnectionFactoryLocation'
adapter_entry_value: 'jms/cf2'
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
'AqAdapter_hr':
adapter_name: 'AqAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/AqAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_AQ.xml'
adapter_entry: 'eis/AQ/hr'
adapter_entry_property: 'XADataSourceName'
adapter_entry_value: 'jdbc/hrDS'
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
'DbAdapter_hr':
adapter_name: 'DbAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/DbAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_DB.xml'
adapter_entry: 'eis/DB/hr'
adapter_entry_property: 'XADataSourceName'
adapter_entry_value: 'jdbc/hrDS'
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
'DbAdapter_hr2':
adapter_name: 'DbAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/DbAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_DB.xml'
adapter_entry: 'eis/DB/hr2'
adapter_entry_property: 'xADataSourceName'
adapter_entry_value: 'jdbc/hrDS2'
log_output: *logoutput
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
'FTPAdapter_hr':
adapter_name: 'FtpAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/FtpAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_FTP.xml'
adapter_entry: 'eis/FTP/xx'
adapter_entry_property: 'FtpAbsolutePathBegin;FtpPathSeparator;Host;ListParserKey;Password;ServerType;UseFtps;Username;UseSftp'
adapter_entry_value: '/BDDC;/;l2-ibrfongen02.nl.rsg;UNIX;;unix;false;kim;false'
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
'FileAdapter_hr':
adapter_name: 'FileAdapter'
adapter_path: "/opt/oracle/middleware12c/soa/soa/connectors/FileAdapter.rar"
adapter_plan_dir: "/opt/oracle/middleware12c"
adapter_plan: 'Plan_FILE.xml'
adapter_entry: 'eis/FileAdapterXX'
adapter_entry_property: 'ControlDir;IsTransacted'
adapter_entry_value: '/tmp/aaa;false'
domain_name: *domain_name
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
fmwcluster
orawls::utils::fmwcluster convert existing cluster to a OSB or SOA suite cluster (BPM is optional) and also convert BAM to a BAM cluster. This will also work for OIM / OAM cluster. The security store is migrated to a database store during this conversion. To maintain a file based store set a standalone hiera param "retain_security_file_store" to true.
You first need to create some OSB, SOA or BAM clusters and add some managed servers to these clusters for OSB 11g or SOA Suite 11g managed servers make sure to also set the coherence arguments parameters
$default_params = {}
$fmw_cluster_instances = hiera('fmw_cluster_instances', $default_params)
create_resources('orawls::utils::fmwcluster',$fmw_cluster_instances, $default_params)
# FMW 11g cluster
fmw_cluster_instances:
'soaCluster':
domain_name: "soa_domain"
soa_cluster_name: "SoaCluster"
bam_cluster_name: "BamCluster"
osb_cluster_name: "OsbCluster"
log_output: *logoutput
bpm_enabled: true
bam_enabled: true
soa_enabled: true
osb_enabled: true
repository_prefix: "DEV"
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
# FMW 12.1.3 cluster
fmw_cluster_instances:
'soaCluster':
domain_name: "soa_domain"
soa_cluster_name: "SoaCluster"
bam_cluster_name: "BamCluster"
osb_cluster_name: "OsbCluster"
ess_cluster_name: "EssCluster" # optional else ESS will be added to the soa cluster
log_output: *logoutput
bpm_enabled: true
bam_enabled: true
soa_enabled: true
osb_enabled: true
b2b_enabled: true
ess_enabled: true
repository_prefix: "DEV"
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
fmw_cluster_instances:
'soaCluster':
domain_name: "soa_domain"
soa_cluster_name: "SoaCluster"
bam_cluster_name: "BamCluster"
osb_cluster_name: "OsbCluster"
bpm_enabled: true
bam_enabled: true
soa_enabled: true
osb_enabled: true
b2b_enabled: true
ess_enabled: true
repository_prefix: "DEV6"
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
# OIM 11.1.2.3 cluster
fmw_cluster_instances:
'oimCluster':
domain_name: *domain_name
soa_cluster_name: "SoaCluster"
oim_cluster_name: "OimCluster"
oam_cluster_name: "OamCluster"
bi_cluster_name: "BiCluster"
log_output: *logoutput
soa_enabled: true
oim_enabled: true
oam_enabled: true
bi_enabled: true
repository_prefix: *rcu_prefix
fmwclusterjrf
orawls::utils::fmwclusterjrf convert existing cluster to a ADF/JRF cluster you need to create a wls cluster with some managed servers first
$default_params = {}
$fmw_jrf_cluster_instances = hiera('fmw_jrf_cluster_instances', $default_params)
create_resources('orawls::utils::fmwclusterjrf',$fmw_jrf_cluster_instances, $default_params)
fmw_jrf_cluster_instances:
'WebCluster':
domain_name: "adf_domain"
jrf_target_name: "WebCluster"
opss_datasource_name: "opss-data-source"
log_output: *logoutput
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
adminserver_address: *domain_adminserver_address
webtier
orawls::utils::webtier add an OHS instance to a WebLogic Domain and in the Enterprise Manager, optional with OHS OAM Webgate
$default_params = {}
$webtier_instances = hiera('webtier_instances', {})
create_resources('orawls::utils::webtier',$webtier_instances, $default_params)
# 11g
webtier_instances:
'ohs1':
action_name: 'create'
instance_name: 'ohs1'
webgate_configure: true
domain_name: *domain_name
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
# 12.1.2
webtier_instances:
'ohs1':
action_name: 'create'
instance_name: 'ohs1'
machine_name: 'Node1'
domain_name: *domain_name
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
Webtier for OAM
webtier_instances:
'ohs1':
action_name: 'create'
instance_name: 'ohs1'
webgate_configure: true
webgate_agentname: 'ohs1'
webgate_hostidentifier: 'host1'
oamadminserverhostname: 'oim1admin.example.com'
oamadminserverport: 7001
domain_name: *domain_name
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
oimconfig
orawls::utils::oimconfig Configure OIM , oim server, design or remote configuration
$default_params = {}
$oimconfig_instances = hiera('oimconfig_instances', $default_params)
create_resources('orawls::utils::oimconfig',$oimconfig_instances, $default_params)
oimconfig_instances:
'oimDomain':
version: 1112
oim_home: '/opt/oracle/middleware11g/Oracle_IDM1'
server_config: true
oim_password: 'Welcome01'
remote_config: false
keystore_password: 'Welcome01'
design_config: false
oimserver_hostname: 'oim1admin.example.com'
oimserver_port: 14000
repository_database_url: "oimdb.example.com:1521:oimrepos.example.com"
repository_prefix: "DEV"
repository_password: "Welcome01"
domain_name: *domain_name
adminserver_address: *domain_adminserver_address
weblogic_password: *domain_wls_password
instance
orawls::oud::instance Configure OUD (Oracle Unified Directory) ldap instance
$default_params = {}
$oudconfig_instances = hiera('oudconfig_instances', $default_params)
create_resources('orawls::oud::instance',$oudconfig_instances, $default_params)
oudconfig_instances:
'instance1':
version: 1112
oud_home: '/opt/oracle/middleware11g/Oracle_OUD1'
oud_instance_name: 'instance1'
oud_root_user_password: 'Welcome01'
oud_base_dn: 'dc=example,dc=com'
oud_ldap_port: 1389
oud_admin_connector_port: 4444
oud_ldaps_port: 1636
oud_control
orawls::oud::control Stop or start an OUD (Oracle Unified Directory) ldap instance
$default_params = {}
$oud_control_instances = hiera('oud_control_instances', $default_params)
create_resources('orawls::oud::control',$oud_control_instances, $default_params)
oud_control_instances:
'instance1':
oud_instances_home_dir: '/opt/oracle/oud_instances'
oud_instance_name: 'instance1'
action: 'start'
log_output: *logoutput
Types and providers
All wls types needs a wls_setting definition, this is a pointer to an WebLogic AdminServer and you need to create one for every WebLogic domain. When you don't provide a wls_setting identifier in the title of the weblogic type then it will use default as identifier.
Global timeout parameter for WebLogic resource types. use timeout and value in seconds, default = 120 seconds or 2 minutes
###wls_setting
required for all the weblogic type/providers, this is a pointer to an WebLogic AdminServer.
wls_setting { 'default':
user => 'oracle',
weblogic_home_dir => '/opt/oracle/middleware11g/wlserver_10.3',
connect_url => "t3://localhost:7001",
weblogic_user => 'weblogic',
weblogic_password => 'weblogic1',
use_default_value_when_empty => true
}
wls_setting { 'domain2':
user => 'oracle',
weblogic_home_dir => '/opt/oracle/middleware11g/wlserver_10.3',
connect_url => "t3://localhost:7011",
weblogic_user => 'weblogic',
weblogic_password => 'weblogic1',
post_classpath => '/opt/oracle/wlsdomains/domains/Wls1036/lib/aa.jar',
use_default_value_when_empty => false
}
use_default_value_when_empty = true when you want to make sure the wls type properties will set its default mbean values when it is not provided by your puppet configuration. So when you set a wls type properties and remove it again it will set it back to its original value ( off course only when it has one)
saving the WLST scripts of all the wls types to a temporary folder
archive_path has /tmp/orawls-archive as default folder
tmp_path has /tmp as default folder
wls_setting { 'default':
debug_module => 'true',
archive_path => '/var/tmp/install/default_domain',
tmp_path => '/var/tmp/install',
connect_url => 't3s://10.10.10.10:7002',
custom_trust => 'true',
trust_keystore_file => '/vagrant/truststore.jks',
trust_keystore_passphrase => 'welcome',
user => 'oracle',
weblogic_home_dir => '/opt/oracle/middleware12c/wlserver',
weblogic_password => 'weblogic1',
weblogic_user => 'weblogic',
}
wls_setting { 'plain':
debug_module => 'false',
archive_path => '/tmp/orawls-archive',
connect_url => 't3://10.10.10.10:7101',
custom_trust => 'false',
user => 'oracle',
weblogic_home_dir => '/opt/oracle/middleware12c/wlserver',
weblogic_password => 'weblogic1',
weblogic_user => 'weblogic',
}
or in hiera
# and for with weblogic infra 12.2.1, use this post_classpath
wls_setting_instances:
'default':
user: 'oracle'
weblogic_home_dir: '/opt/oracle/middleware12c/wlserver'
connect_url: "t3://10.10.10.21:7001"
weblogic_user: 'weblogic'
weblogic_password: 'weblogic1'
post_classpath: '/opt/oracle/middleware12c/oracle_common/modules/internal/features/jrf_wlsFmw_oracle.jrf.wlst.jar'
extra_arguments: '-Daa=1 -Dbb=2'
# and for with weblogic infra 12.1.3, use this post_classpath
wls_setting_instances:
'default':
user: 'oracle'
weblogic_home_dir: '/opt/oracle/middleware12c/wlserver'
connect_url: "t3://10.10.10.21:7001"
weblogic_user: 'weblogic'
weblogic_password: 'weblogic1'
post_classpath: '/opt/oracle/middleware12c/oracle_common/modules/internal/features/jrf_wlsFmw_oracle.jrf.wlst_12.1.3.jar'
extra_arguments: '-Daa=1 -Dbb=2'
wls_setting_instances:
'default':
user: *wls_os_user
weblogic_home_dir: *wls_weblogic_home_dir
connect_url: "t3s://%{hiera('domain_adminserver_address')}:7002"
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
custom_trust: *wls_custom_trust
trust_keystore_file: *wls_trust_keystore_file
trust_keystore_passphrase: *wls_trust_keystore_passphrase
require: Orawls::Domain[Wls1213]
debug_module: true
archive_path: '/var/tmp/install/default_domain'
tmp_path: '/var/tmp/install'
'plain':
user: *wls_os_user
weblogic_home_dir: *wls_weblogic_home_dir
connect_url: "t3://%{hiera('domain_adminserver_address')}:7101"
weblogic_user: *wls_weblogic_user
weblogic_password: *domain_wls_password
require: Orawls::Domain[plain_Wls]
debug_module: false
With t3s and custom trust
wls_setting_instances:
'default':
user: oracle'
weblogic_home_dir: '/opt/oracle/middleware12c/wlserver'
connect_url: "t3s://10.10.10.21:7002"
weblogic_user: 'weblogic'
weblogic_password: 'weblogic1'
custom_trust: true
trust_keystore_file: '/vagrant/truststore.jks'
trust_keystore_passphrase: 'welcome'
'plain':
user: oracle'
weblogic_home_dir: '/opt/oracle/middleware12c/wlserver'
connect_url: "t3://10.10.10.21:7101"
weblogic_user: 'weblogic'
weblogic_password: 'weblogic1'
wls_domain
it needs wls_setting and when identifier is not provided it will use the 'default'. Probably after changing the domain you need to restart the AdminServer or subscribe for a restart to this change with the wls_adminserver type
or use puppet resource wls_domain
# In this case it will use default as wls_setting identifier
wls_domain { 'Wls1036':
ensure => 'present',
jmx_platform_mbean_server_enabled => '1',
jmx_platform_mbean_server_used => '1',
jpa_default_provider => 'org.eclipse.persistence.jpa.PersistenceProvider',
jta_max_transactions => '20000',
jta_transaction_timeout => '35',
log_file_min_size => '5000',
log_filecount => '10',
log_filename => '/var/log/weblogic/Wls1036.log',
log_number_of_files_limited => '1',
log_rotate_logon_startup => '1',
log_rotationtype => 'bySize',
security_crossdomain => '0',
web_app_container_show_archived_real_path_enabled => '1',
}
wls_domain { 'Wls11gSetting/Wls11g':
ensure => 'present',
jmx_platform_mbean_server_enabled => '0',
jmx_platform_mbean_server_used => '1',
jpa_default_provider => 'org.apache.openjpa.persistence.PersistenceProviderImpl',
jta_max_transactions => '10000',
jta_transaction_timeout => '30',
log_file_min_size => '5000',
log_filecount => '5',
log_filename => '/var/log/weblogic/Wls11g.log',
log_number_of_files_limited => '0',
log_rotate_logon_startup => '0',
log_rotationtype => 'byTime',
security_crossdomain => '1',
web_app_container_show_archived_real_path_enabled => '0',
}
in hiera
require userconfig
$default_params = {}
$wls_domain_instances = hiera('wls_domain_instances', {})
create_resources('wls_domain',$wls_domain_instances, $default_params)
# 'Wls1036' will use default as wls_setting identifier
# 'Wls11g' will use domain2 as wls_setting identifier
wls_domain_instances:
'Wls1036':
ensure: 'present'
jpa_default_provider: 'org.eclipse.persistence.jpa.PersistenceProvider'
jta_max_transactions: '20000'
jta_transaction_timeout: '35'
log_file_min_size: '5000'
log_filecount: '5'
log_filename: '/var/log/weblogic/Wls1036.log'
log_number_of_files_limited: '1'
log_rotate_logon_startup: '1'
log_rotationtype: 'bySize'
security_crossdomain: '0'
'domain2/Wls11g':
ensure: 'present'
jpa_default_provider: 'org.apache.openjpa.persistence.PersistenceProviderImpl'
jta_max_transactions: '10000'
jta_transaction_timeout: '30'
log_file_min_size: '5000'
log_filecount: '10'
log_filename: '/var/log/weblogic/Wls11g.log'
log_number_of_files_limited: '0'
log_rotate_logon_startup: '0'
log_rotationtype: 'byTime'
security_crossdomain: '1'
wls_adminserver
type for adminserver control like start, running, abort and stop. also supports subscribe with refreshonly
# for this type you won't need a wls_setting identifier
wls_adminserver{'AdminServer_Wls1036:':
ensure => 'running', #running|start|abort|stop
server_name => hiera('domain_adminserver'),
domain_name => hiera('domain_name'),
domain_path => "/opt/oracle/wlsdomains/domains/Wls1036",
os_user => hiera('wls_os_user'),
weblogic_home_dir => hiera('wls_weblogic_home_dir'),
weblogic_user => hiera('wls_weblogic_user'),
weblogic_password => hiera('domain_wls_password'),
jdk_home_dir => hiera('wls_jdk_home_dir'),
nodemanager_address => hiera('domain_adminserver_address'),
nodemanager_port => hiera('domain_nodemanager_port'),
jsse_enabled => false,
custom_trust => false,
}
with JSSE and custom trust
# for this type you won't need a wls_setting identifier
wls_adminserver{'AdminServer_Wls1036:':
ensure => 'running', #running|start|abort|stop
server_name => hiera('domain_adminserver'),
domain_name => hiera('domain_name'),
domain_path => "/opt/oracle/wlsdomains/domains/Wls1036",
os_user => hiera('wls_os_user'),
weblogic_home_dir => hiera('wls_weblogic_home_dir'),
weblogic_user => hiera('wls_weblogic_user'),
weblogic_password => hiera('domain_wls_password'),
jdk_home_dir => hiera('wls_jdk_home_dir'),
nodemanager_address => hiera('domain_adminserver_address'),
nodemanager_port => hiera('domain_nodemanager_port'),
jsse_enabled => hiera('wls_jsse_enabled'),
custom_trust => hiera('wls_custom_trust'),
trust_keystore_file => hiera('wls_trust_keystore_file'),
trust_keystore_passphrase => hiera('wls_trust_keystore_passphrase'),
}
subscribe to a wls_domain, wls_authenticaton_provider or wls_identity_asserter event
# for this type you won't need a wls_setting identifier
wls_adminserver{'AdminServer_Wls1036:':
ensure => 'running', #running|start|abort|stop
server_name => hiera('domain_adminserver'),
domain_name => hiera('domain_name'),
domain_path => "/opt/oracle/wlsdomains/domains/Wls1036",
os_user => hiera('wls_os_user'),
weblogic_home_dir => hiera('wls_weblogic_home_dir'),
weblogic_user => hiera('wls_weblogic_user'),
weblogic_password => hiera('domain_wls_password'),
jdk_home_dir => hiera('wls_jdk_home_dir'),
nodemanager_address => hiera('domain_adminserver_address'),
nodemanager_port => hiera('domain_nodemanager_port'),
jsse_enabled => hiera('wls_jsse_enabled'),
custom_trust => hiera('wls_custom_trust'),
trust_keystore_file => hiera('wls_trust_keystore_file'),
trust_keystore_passphrase => hiera('wls_trust_keystore_passphrase'),
refreshonly => true,
subscribe => Wls_domain['Wls1036'],
}
wls_managedserver
type for managed server control like start, running, abort and stop a managed server or a cluster. also supports subscribe with refreshonly
# for this type you won't need a wls_setting identifier
wls_managedserver{'JMSServer1_Wls1036:':
ensure => 'running', #running|start|abort|stop
target => 'Server', #Server|Cluster
server_name => 'JMSServer1',
domain_name => hiera('domain_name'),
os_user => hiera('wls_os_user'),
weblogic_home_dir => hiera('wls_weblogic_home_dir'),
weblogic_user => hiera('wls_weblogic_user'),
weblogic_password => hiera('domain_wls_password'),
jdk_home_dir => hiera('wls_jdk_home_dir'),
adminserver_address => hiera('domain_adminserver_address'),
adminserver_port => hiera('domain_adminserver_port'),
}
subscribe to a wls_domain, wls_identity_asserter or wls_authenticaton_provider event
# for this type you won't need a wls_setting identifier
wls_managedserver{'JMSServer1_Wls1036':
ensure => 'running', #running|start|abort|stop
target => 'Server', #Server|Cluster
server_name => 'JMSServer1',
domain_name => hiera('domain_name'),
os_user => hiera('wls_os_user'),
weblogic_home_dir => hiera('wls_weblogic_home_dir'),
weblogic_user => hiera('wls_weblogic_user'),
weblogic_password => hiera('domain_wls_password'),
jdk_home_dir => hiera('wls_jdk_home_dir'),
adminserver_address => hiera('domain_adminserver_address'),
adminserver_port => hiera('domain_adminserver_port'),
refreshonly => true,
subscribe => Wls_domain['Wls1036'],
}
wls_ohsserver
type for ohs server control like start, running, abort and stop. also supports subscribe with refreshonly
# for this type you won't need a wls_setting identifier
wls_ohsserver{'OHS Server:':
ensure => 'running', #running|start|abort|stop
server_name => hiera('domain_adminserver'),
domain_name => hiera('domain_name'),
domain_path => "/opt/oracle/wlsdomains/domains/Wls1036",
os_user => hiera('wls_os_user'),
weblogic_home_dir => hiera('wls_weblogic_home_dir'),
weblogic_user => hiera('wls_weblogic_user'),
weblogic_password => hiera('domain_wls_password'),
jdk_home_dir => hiera('wls_jdk_home_dir'),
nodemanager_address => hiera('domain_adminserver_address'),
nodemanager_port => hiera('domain_nodemanager_port'),
jsse_enabled => false,
custom_trust => false,
}
wls_deployment
it needs wls_setting and when identifier is not provided it will use the 'default'. or use puppet resource wls_deployment
# 'jersey-bundle' will use default as wls_setting identifier
wls_deployment { 'jersey-bundle':
ensure => 'present',
deploymenttype => 'Library',
stagingmode => 'nostage',
remote => "1",
upload => "1",
target => ['AdminServer', 'WebCluster'],
targettype => ['Server', 'Cluster'],
versionidentifier => '1.18@1.18.0.0',
}
wls_deployment { 'webapp':
ensure => 'present',
deploymenttype => 'AppDeployment',
stagingmode => 'nostage',
remote => "1",
upload => "1",
target => ['WebCluster'],
targettype => ['Cluster'],
versionidentifier => '1.1@1.1.0.0',
require => Wls_deployment['jersey-bundle']
}
in hiera
$default_params = {}
$deployment_instances = hiera('deployment_instances', $default_params)
create_resources('wls_deployment',$deployment_instances, $default_params)
deployment_instances:
'jersey-bundle':
ensure: 'present'
deploymenttype: 'Library'
versionidentifier: '1.18@1.18.0.0'
timeout: 60
stagingmode: "nostage"
remote: "1"
upload: "1"
target:
- 'AdminServer'
- 'WebCluster'
targettype:
- 'Server'
- 'Cluster'
localpath: '/vagrant/jersey-bundle-1.18.war'
require:
- Wls_cluster[WebCluster]
'webapp':
ensure: 'present'
deploymenttype: 'AppDeployment'
versionidentifier: '1.1@1.1.0.0'
timeout: 60
stagingmode: "nostage"
remote: "1"
upload: "1"
target:
- 'WebCluster'
targettype:
- 'Cluster'
localpath: '/vagrant/webapp.war'
require:
- Wls_deployment[jersey-bundle]
- Wls_cluster[WebCluster]
wls_user
it needs wls_setting and when identifier is not provided it will use the 'default'.
or use puppet resource wls_user
# this will use default as wls_setting identifier
wls_user { 'OracleSystemUser':
ensure => 'present',
authenticationprovider => 'DefaultAuthenticator',
description => 'Oracle application software system user.',
realm => 'myrealm',
}
# this will use default as wls_setting identifier
wls_user { 'default/testuser1':
ensure => 'present',
authenticationprovider => 'DefaultAuthenticator',
description => 'testuser1',
realm => 'myrealm',
}
# this will use domain2 as wls_setting identifier
wls_user { 'domain2/testuser1':
ensure => 'present',
authenticationprovider => 'DefaultAuthenticator',
description => 'testuser1',
realm => 'myrealm',
}
in hiera
$default_params = {}
$user_instances = hiera('user_instances', {})
create_resources('wls_user',$user_instances, $default_params)
# testuser1 will use default as wls_setting identifier
# testuser2 will use domain2 as wls_setting identifier
user_instances:
'testuser1':
ensure: 'present'
password: 'weblogic1'
authenticationprovider: 'DefaultAuthenticator'
realm: 'myrealm'
description: 'my test user'
'domain2/testuser2':
ensure: 'present'
password: 'weblogic1'
authenticationprovider: 'DefaultAuthenticator'
realm: 'myrealm'
description: 'my test user'
wls_group
it needs wls_setting and when identifier is not provided it will use the 'default'.
or use puppet resource wls_group
# this will use default as wls_setting identifier
wls_group { 'SuperUsers':
ensure => 'present',
authenticationprovider => 'DefaultAuthenticator',
description => 'SuperUsers',
realm => 'myrealm',
users => ['testuser2'],
}
# this will use default as wls_setting identifier
wls_group { 'TestGroup':
ensure => 'present',
authenticationprovider => 'DefaultAuthenticator',
description => 'TestGroup',
realm => 'myrealm',
users => ['testuser1','testuser2'],
}
in hiera
$default_params = {}
$group_instances = hiera('group_instances', {})
create_resources('wls_group',$group_instances, $default_params)
# this will use default as wls_setting identifier
group_instances:
'TestGroup':
ensure: 'present'
authenticationprovider: 'DefaultAuthenticator'
description: 'TestGroup'
realm: 'myrealm'
users:
- 'testuser1'
- 'testuser2'
'SuperUsers':
ensure: 'present'
authenticationprovider: 'DefaultAuthenticator'
description: 'SuperUsers'
realm: 'myrealm'
users:
- 'testuser2'
wls_role
it needs wls_setting and when identifier is not provided it will use the 'default'.
or use puppet resource wls_role
# this will use default as wls_setting identifier
wls_role { 'default/Deployer':
ensure => 'present',
expression => 'Grp(Deployers)',
realm => 'myrealm',
}
wls_role { 'default/OracleSystemRole':
ensure => 'present',
expression => 'Grp(OracleSystemGroup)',
realm => 'myrealm',
}
wls_role { 'default/Admin':
ensure => 'present',
expression => '?weblogic.entitlement.rules.AdministrativeGroup(Administrators)',
realm => 'myrealm',
}
wls_role { 'default/Anonymous':
ensure => 'present',
expression => 'Grp(everyone)',
realm => 'myrealm',
}
wls_authentication_provider
it needs wls_setting and when identifier is not provided it will use the 'default' and probably after the creation the AdminServer needs a reboot or subscribe to a restart with the wls_adminserver type
only control_flag is a property, the rest are parameters and only used in a create action
Optionally, providers can be ordered by providing a value to the order paramater, which is a zero-based list. When configuring ordering order, it may be necessary to create the resources with Puppet ordering (if not using Hiera) or by structuring Hiera in matching order. Otherwise ordering may fail if not all authentication providers are created yet (by default the provider will be ordered last if it is greater than the number of providers currently configured).
To manage Weblogic's DefaultIdentityAsserter use the wls_identity_asserter type.
or use puppet resource wls_authentication_provider
# this will use default as wls_setting identifier
wls_authentication_provider { 'DefaultAuthenticator':
ensure => 'present',
control_flag => 'SUFFICIENT',
}
# this provider will be ordered first in the providers list
wls_authentication_provider { 'ldap':
ensure => 'present',
control_flag => 'SUFFICIENT',
providerclassname => 'weblogic.security.providers.authentication.LDAPAuthenticator',
provider_specific => {
'Principal' => 'ldapuser',
'Host' => 'ldapserver',
'Port' => 389,
'CacheTTL' => 60,
'CacheSize' => 1024,
'MaxGroupMembershipSearchLevel' => 4,
'SSLEnabled' => 1,
}
order => '0'
}
in hiera
$default_params = {}
$authentication_provider_instances = hiera('authentication_provider_instances', {})
create_resources('wls_authentication_provider',$authentication_provider_instances, $default_params)
# this will use default as wls_setting identifier
authentication_provider_instances:
'DefaultAuthenticator':
ensure: 'present'
control_flag: 'SUFFICIENT'
#ldap will be the first listed provider
'ldap':
ensure: 'present'
control_flag: 'SUFFICIENT'
providerclassname: 'weblogic.security.providers.authentication.LDAPAuthenticator'
provider_specific:
'Principal': 'ldapuser'
'Host': 'ldapserver'
'Port': 389
'CacheTTL': 60
'CacheSize': 1024
'MaxGroupMembershipSearchLevel': 4
'SSLEnabled': 1
'ConnectTimeout': 2
'ConnectionRetryLimit': 2
order: '1'
before: Wls_domain[Wls1036]
'ActiveDirectoryAuthenticator':
ensure: 'present'
control_flag: 'SUFFICIENT'
providerclassname: 'weblogic.security.providers.authentication.ActiveDirectoryAuthenticator'
provider_specific:
'Credential': 'password'
'GroupBaseDN': 'DC=ad,DC=company,DC=org'
'GroupFromNameFilter': '(&(sAMAccountName=%g)(objectclass=group))'
'GroupMembershipSearching': 'limited'
'Host': 'ad.company.org'
'MaxGroupMembershipSearchLevel': 4
'Principal': 'CN=SER_WASadmin,OU=Service Accounts,DC=ad,DC=company,DC=org'
'UserBaseDN': 'DC=ad,DC=company,DC=org'
'UserFromNameFilter': '(&(sAMAccountName=%u)(objectclass=user))'
'UserNameAttribute': 'sAMAccountName'
'Port': 389
'CacheTTL': 60
'CacheSize': 1024
'ConnectTimeout': 2
'ConnectionRetryLimit': 2
order: '2'
wls_identity_asserter
it needs wls_setting and when identifier is not provided it will use the 'default' and probably after the creation the AdminServer needs a reboot or subscribe to a restart with the wls_adminserver type
to provide a list of token types to create provide a "::" seperated list for attribute 'ActiveTypes'
Optionally, the provider can be ordered by specifying a value to the order paramater, which is a zero-based list. When configuring ordering order, it may be necessary to create the resources with Puppet ordering (if not using Hiera) or by structuring Hiera in matching order. Otherwise ordering may fail if not all authentication providers are created yet (by default the provider will be ordered last if it is greater than the number of providers currently configured).
or use puppet resource wls_identity_asserter
wls_authentication_provider { 'DefaultIdentityAsserter':
ensure => 'present',
providerclassname => 'weblogic.security.providers.authentication.DefaultIdentityAsserter',
attributes: => 'DigestReplayDetectionEnabled;UseDefaultUserNameMapper',
attributesvalues => '1;1;',
activetypes => 'AuthenticatedUser::X.509',
defaultmappertype => 'CN',
}
in hiera
$default_params = {}
$identity_asserter_instances = hiera('identity_asserter_instances', {})
create_resources('wls_identity_asserter',$identity_asserter_instances, $default_params)
identity_asserter_instances:
'DefaultIdentityAsserter':
order: '3'
ensure: 'present'
providerclassname: 'weblogic.security.providers.authentication.DefaultIdentityAsserter'
attributes: 'DigestReplayDetectionEnabled;UseDefaultUserNameMapper'
attributesvalues: '1;1'
activetypes: 'AuthenticatedUser::X.509'
defaultmappertype: 'CN'
wls_machine
it needs wls_setting and when identifier is not provided it will use the 'default'.
or use puppet resource wls_machine
# this will use default as wls_setting identifier
wls_machine { 'test2':
ensure => 'present',
listenaddress => '10.10.10.10',
listenport => '5556',
machinetype => 'UnixMachine',
nmtype => 'SSL',
}
# this will use domain2 as wls_setting identifier
wls_machine { 'domain2/test2':
ensure => 'present',
listenaddress => '10.10.10.10',
listenport => '5556',
machinetype => 'UnixMachine',
nmtype => 'SSL',
}
in hiera
# Node1 will use default as wls_setting identifier
# Node2 will use domain2 as wls_setting identifier
machines_instances:
'Node1':
ensure: 'present'
listenaddress: '10.10.10.100'
listenport: '5556'
machinetype: 'UnixMachine'
nmtype: 'SSL'
'domain2/Node2':
ensure: 'present'
listenaddress: '10.10.10.200'
listenport: '5556'
machinetype: 'UnixMachine'
nmtype: 'SSL'
wls_server
it needs wls_setting and when identifier is not provided it will use the 'default'.
or use puppet resource wls_server
History
2.0.20
- Added jms connection factory property "DefaultUnitOfOrder"
- add harvest trigger count property to datasource
- fix opatch error
- wls_server add failure action property
- add the ability to create the application folder inside the domain
- add the ability to set cross domain security
2.0.19
- wls types fix with new lines in the wls output
2.0.18
- pdk compliant
2.0.17
- opatch upgrade which can be requirement by latest patch bundle
- raise exception when opatch fails
- weblogic optional parameter ora_inventory_dir
- rename systemctl reload declaration to avoid module conflicts
- bsu memory fix so only executed once
- disconnect user session on wls daemon to fix open file limits
2.0.16
- forms 11g patch only runs once now
- wls_server removed the default '' from log_rotationdir attribute
2.0.15
- fix CdiContainer on wls_domain when used on a < 12.2 domain
2.0.14
- domain + RCU now supports defining the tablespace of the rcu components
- fix OHS domain template for versions 12.2.1.1 & 12.2.1.3
- fix failure of nodemanager starting up in case of SOA
2.0.13
- wls_server add log_rotationdir attribute
- Domain support for 12.2.1.3
2.0.12
- forms 11g patch fix
- wls_domain new attribute cdi_implicit_bean_discovery_enabled
- storeuserconfig new parameter extra_arguments
2.0.11
- support welogic + FMW 12.2.1.2 & 12.2.1.3
- packdomain managed option
- Client ID on the JMS connection factory wls type
- Store userconfig not supports t3 secure port
- forms 12c domain creation + RCU
- jms server wls type new attribute messages_maximum
2.0.10
- better adminserver control status check
- more allow $ in the weblogic password
- better datasource index check
- datasource new attributes StatementTimeout, LoginDelaySeconds
2.0.9
- add webcenter sites, support for wcs domain
- allow $ in the weblogic password
- hide trust_keystore_passphrase output in wls_settings
2.0.8
- wls_datasource new attributes datasourcetype, statementcachetype
- wls_jdbc_persistence_store new attributes distribution_policy, migration_policy
- 12.2.1 ohs/webtier standalone domain fixes
- nodemanager linux netstat check use bash in su command
2.0.7
- wls_setting has tmp_path parameter for the wls types index output, wls types index output is now uinque for every value/domain of wls_setting
- get_attribute_value for index files of the wls types to handle all data types on the right way, located in common.py.erb
- added weblogic user to the enroll py script on copydomain manifest
2.0.6
- fix nil or '' values on onprovider_specific of wls_authentication_provider
- be able to set orainstpath_dir parameter on weblogic, weblogic_type and fmw
2.0.5
- Fix ohs domain for 12.1.3 webtier
- Added FMW cleanup on the extract directory and on the FMW files when remote file = true
2.0.4
- Allow forward slash in the wls type title name, old title regex for detecting the wls_setting name was too eager but the use of slash in the wls_setting name is now not allowed anymore.
2.0.3
- added oim_configured function check to oimconfig.pp
2.0.2
- copydomain uses new domain function fixed the issue introduced with 2.0.1
2.0.1
- Puppet 4 ruby functions
- Generated Puppet documentation inside the doc folder
2.0.0
- Puppet 4 new features, removed support for Puppet 3, please use latest version 1.X of oradb
1.0.58
- Option to ignore the defaultCoherenceCluster on a domain
- restrictive permissions for orainst & nodemanager.properties
- FMW webcenter sites support
- allow multiple remote middleware installations on the same host
1.0.57
- Added support for Wls/FMW 12.2.1.2
- Changing indentation from "2" to "4" in wls_exec statements
1.0.56
- new type wls_ohsserver to control the ohs standalone server or subscribe to changes
- orawls::ohs::forwarder type, re-factored and improved version of orawls::ohs::config
- ohs standalone domain fix for startComponent ( > 12.1.2, adding machine to the domain)
- Apply same BSU patch on different middleware homes
- added weblogic install parameters force & validation
1.0.55
- Option for Control.pp and wls_managedserver to use secure connection to the adminserver
- For an OSB domain without a DB ( owsm_enabled = false ) enables now the Derby database so wlsbjmsrpDataSource is active and osb servers comes up in running mode
1.0.54
- SOA 12.2.1.1 bam fix for single node clusters
- wls_managedserver fix for forced shutdown/restart
- domain fix for nodemanager properties & domain extension template
1.0.53
- nodemanager manifest will auto restart nodemanager when a property is changed
- copydomain now support t3s with custom trust
- wls_setting, wls_adminserver, control, copydomain, nodemanager have new attribute extra_arguments which allows you to pass on some arguments to the component
- reduce info log output -> moved to debug
- more functionality to run orawls with a non-root user like rcu & opatch
1.0.52
- fix wls type weblogicConnectUrL bug when running in debug mode
1.0.51
- Tested against WebLogic 12.2.1.1 + INFRA, SOA, OSB, OHS, use 12.2.1.1 as version
- add JSSE to wls_daemon when trust is used, this way t3s also works on wls 10.3
- functionality to run orawls with a non-root user, see this PR
1.0.50
- weblogic_type define which support multiple middleware homes on same vm
- fmwcluster supports now not secure nodemanagers for wls server control
- fmw install fix for other fmw products than osh
- osb 12.1.3 cluster adapter target fix
- jrf domain template fix
- common template fix when an wls attribute is nil
1.0.49
- Support for standalone webtier 12.1.2, 12.1.3 & 12.2.1
- changed wls_managedserver type code so it used WLST to test if it is active plus force it to running
- OIM/OAM 11.1.2.3 cluster fixes
- FMW install fixes when it has more than 3 input files
- Unpack, new parameter $server_start_mode on copydomain with value test or prod
- wls_domain, new attribute log_domain_log_broadcast_severity
- wls_server, new attributes log_stdout_severity, log_log_file_severity
1.0.48
- opatch manifest also works for removing patches
- wls types fix for 12.2.1 and which got passwords attributes
- wls_resource_group_template new MT type but only for WebLogic 12.2.1
- wls_resource_group new MT type but only for WebLogic 12.2.1
- wls_domain_partition new MT type but only for WebLogic 12.2.1
- wls_domain_partition_resource_group new MT type but only for WebLogic 12.2.1
- wls_resource_group_template_deployment new MT type but only for WebLogic 12.2.1
- wls_domain_partition_resource_group_deployment new MT type but only for WebLogic 12.2.1
- wls_domain_partition_control new MT type but only for WebLogic 12.2.1
- wls_setting new attribute use_default_value_when_empty, when you want to make sure the wls type properties will set its default mbean values when it is not provided by your puppet configuration.
1.0.47
- heavy WLST refactoring for all the wls types, less and more simple code, auto detect the right type, better fault handling
- wls_jms_security_policy new type
- wls_virtual_target new type but only for WebLogic 12.2.1
- option to override the default machine in the domain manifest
- MQ resource adapter mininal template
- OSB domain template fix
- wls_datasource, new attributes remove_infected_connections ,connectionreservetimeoutseconds and inactiveconnectiontimeoutseconds
1.0.46
- added support for 12.2.1 fast rest management interface, requires 12.2.1 or higher & only works for now on wls_cluster (lib/puppet/type/wls_server.rb plus wls_setting must contain a http connect url)
- added MQ adapter for resourceadapter
- soaqs (SOA Quickstart) 12.1.3 & 12.2.1 install on FMW
- urandom/rng support for RedHat 5 family
- add support for provider_specific attributes on wls_authentication_provider
- be able to change the password on wls_datasource
- fix for wls_clusters without servers
- new log_date_pattern attribute for wls_server, wls_domain
- fmwcluster manifest with trust parameters
1.0.45
- wls_migratable_target fixes with constrained_candidate_servers
- resource adapters option to escape values
- wls_server fix when no arguments is provided
- Nodemanager fails to start first time if param log_dir is used and directory doesn't exist
- security/permissions fixes with files which can contain passwords
- Fix easy_type load issues in specific situation (puppet master)
- added JAVA_HOME to (un)pack
- wls_group allow additions & removal of users in group
- wls_datasource new attribute wrapdatatypes
- wls_role new type
- wls_rcu show now the error output when it fails
- wls_jms_queue, wls_jms_topic new attributes insertionpaused, consumptionpaused, productionpaused
- wls_domain, new attribute exalogicoptimizationsenabled
1.0.44
- WebLogic 12.2.1 standard and infrastructure edition installation
- FMW 12.2.1 SOA Suite, OSB, Webtier (OHS), Forms, B2B, WC, WCC ( Webcenter portal, Webcenter content) installation
- 12.2.1 domains for standard, soa, osb, bam, adf, adf_restricted which is new in 12.2.1 and requires no RCU/DB
- 12.2.1 fmwcluster support for Service Bus (OSB), SOA Suite (BPM, ESS, BAM)
- wls_jms_topic distributed fix plus new attribute ForwardingPolicy
- wls_server modify fix for arguments, classpath etc. plus multiple arguments as an array are converted to a space as separator instead of newline
- new type wls_jms_sort_destination_key and added this parameter to wls_queue + wls_topic
- new type wls_foreign_jndi_provider + links
- domain.pp allows you to set a separate domain password, nodemanager_username + password on a domain
1.0.43
- Allow multiple fmw installations of the same product on a middleware home
- optimized wls_opatch type/provider which will replace the opatch type
- opatch type/provider fix for if the patch is already installed
- be able to set all the possible Nodemanager properties
- save all the WLST scripts of all the wls types to a temporary directory with wls_setting
1.0.42
- Allow opatch to apply the same patch multiple times on the same node
- new wls_server_tlog resource for adding transaction logs to a database
- file resource adapter fix
- fix permissions on wls_settings file
- sanitised title in the fmw manifest
- wls types empty attributes fix
1.0.41
- fixed wls_group absent without user attribute bug
- empty target fix on the wls types
- statementcachesize bug with wls_datasource
- wls_queue, wls_topic new attribute deliverymode
- subdeployment and defaulttargeting checks for the jms wls types
- new type wls_migratable_target
1.0.40
- BAM only domain option
- Wls_server new attributes sslHostnameVerifier, useServerCerts
- Added FileAdapter to resource adapter
- Cleanup Puppet type interfaces
1.0.39
- Works & Tested on puppet 4.2.1
- Oracle Forms & Reports 11.1.1.7 or 11.1.2 support
- Wls_server new attributes frontendhost, frontendhttpport and frontendhttpsport
1.0.38
- wls_server new attributes auto_restart & autokillwfail for automatic restart when the server crashes, or automatically kill when the server hangs
- wls_jms_queue, wls_jms_topic new attribute messagelogging
- wls_domain new attributes setinternalappdeploymentondemandenable, setconfigbackupenabled, setarchiveconfigurationcount, setconfigurationaudittype
- Dynamictargetting for wls_cluster, wls_datasource, wls_mail_session
- wls_datasource new attribute shrinkfrequencyseconds
1.0.37
- xa properties fix for wls_datasource
- custom weblogic home directory for WebLogic 10.3 and BSU patch
- target attribute used in wls types are now idempotent
1.0.36
- support for FMW installation which has 3 install files like oim/oam 11.1.2.3
- Webtier configuration for OAM
- wls_server_channel added keystore attributes
- wls_jms_queue ForwardDelay bug plus new attribute templatename
- wls_datasource new attributes row prefetch and initsql
- wls_workmanager new attribute fairshare
- wls_coherence_template new attribute classpath
- wls_deployment bug when version is none
1.0.35
- custom wls resource types now also supports t3s with customtrust done by wls_settings
- adminserver_ssl_port parameter on the domain.pp manifest
- wls_settings don't show the password in the output
- new resource type wls_jdbc_persistence_store
- new resource type wls_jms_template
- wls_deployment planpath fixes
- wls_datasource fixes
- removed default value -1 on forward delay on wls_jms_queue
- wls_server, new attribute listenportenabled
- wls_jms_connection_factory, xa fix plus new attributes localjndiname, defaultdeliverymode, defaultredeliverydelay
- wls_workmanager_constraint, Add the ability to manage fairshare class.
1.0.34
- Copydomain FMW apps_dir fix
- FTP Resource adapter plus resource adapter fixes
- New type wls_coherence_server
- Moved 12c nodemanager properties from domain.pp to nodemanager.pp so custom trust will also work
- Added urandom fixes and use notify when there is rngd configuration refresh
1.0.33
- added ESS (enterprise schedular) to OSB domain + FMW cluster option
- RCU prefix compare check fix ( Uppercase )
- SOA FMW cluster fixes for latest 12.1.3 soa patch
- SOA FMW cluster fix for soa with bam
- Java tmp dir option for 12c FMW software install
- wls_server, new attribute WeblogicPluginEnabled
- Optional DefaultUserNameMapperAttributeType fix in wls_identity_asserter
- Added bash shell to su -c commands like opatch, bsu, wls_adminserver, rcu types
1.0.32
- new wls_singleton_service type
- wls_jms_bridge_destination fix for username and password
- fiddyspence/sleep fix so it works with hiera and string value as input
- added log file to tmp dir + level for the weblogic 10.3 or 11g installation output
- Multiple targets for wls_jms_module type
- new wls_deployment attributes for stagingmode, remote and upload
- able to provide the sys username for the FMW domain RCU action
- derby flag on false in setDomainEnv when it is an OSB or SOA domain
1.0.31
- wls_jms_queue, new attribute forwarddelay
- wls_foreign_server_object, bug when removing object plus also removing dependencies
- wls_cluster, new attribute clusteraddress
- nodemanager.properties was overwritten in case of weblogic 12c and a domain extension
- nodemanager with 12c didn't start when log_dir was empty
1.0.30
- download dir dependency cycle error between weblogic and domain manifest.
- bsu unzip -o option instead of -n so the new readme is also added to the cache_dir
- wls_server, new attributes log_redirect_stderr_to_server, log_redirect_stdout_to_server, restart_max, log_http_file_count, log_http_number_of_files_limited, bea_home
- wls_jmsserver, new attributes bytes_maximum, allows_persistent_downgrade
- wls_datasource, new attributes secondstotrustidlepoolconnection, testfrequency, connectioncreationretryfrequency
- wls_server_channnel, new attributes publicport, max_message_size
1.0.29
- calculated_listen_port attribute for wls_dynamic_cluster
- mincapacity, statementcachesize, testconnectionsonreserve for wls_datasource
- wls_managedserver type fix when target is cluster, doesn't use ps -ef but uses wlst to check the cluster status
- new wls_messaging_bridge wls type
- new wls_jms_bridge_destination wls type
- wls_setting added a 'default' entry in wls_settings.yaml even when default is not used
1.0.28
- new wls_identity_asserter type for customising default identy asserter
- xaproperties attributes in wls_datasource
- better error handling for wls_authentication_provider ordering
- option to skip the OPSS security store migration from file to the database in fmwcluster.pp
- Custom type for oracle weblogic/domain directory structure instead of using a structure manifest
- logintimeout attribute for wls_server
- added some extra autorequire on wls resource types
1.0.27
- bug fixes in auto require and post classpath parameter bug when running in debug mode
- wls_multi_datasource resource type added
1.0.26
- auto require based on the wls resource parameters, no need to use require on the all wls resource types
- wls_adminserver type used plain as a default in nmconnect
1.0.25
- Auto require on wls resource types
- urandom fix for rngd service on RedHat Family version 7
- Secure replication parameter for wls_cluster
- ignore ldap providers for wls_user & wls_group
- Support for nodemanagers without security ( plain, with nodemanager_secure_listener = false) on control.pp, nodemanager.pp & domain.pp
1.0.24
- Wls_setting resource type check for required attributes
- Timeout parameter bug on all wls resource types ( the default 120 was always used)
- Nodemanager.pp exec sleep command replaced by fiddyspence/sleep resource type, will check every 2 seconds with netstat
1.0.23
- Solaris 11 fixes for nodemanager, wls_adminserver & wls_managedserver resource types
- wls_server resource type changes like: check for Adminserver creation/deletion, new properties tunnelingenabled, log_http_format_type, log_http_format, default_file_store, log_datasource_filename
- wls_domain resource type properties: platform-m-bean-server-enabled, platform-m-bean-server-used, show-archived-real-path-enabled
- wls_jms_connection_factory resource type properties: client-id-policy, subscription-sharing-policy, messages-maximum, reconnect-policy, load-balancing-enabled, server-affinity-enabled, attach-jmsx-user-id
- changed oraInst.loc permissions to 0755
1.0.22
- fix for copydomain when the standard domains location is used
- enable storage on wls_coherence_cluster
- AdminServer option to listen on all interfaces, adminserver_listen_on_all_interfaces = true on domain.pp
1.0.21
- puppet custom type for 12.1.2, 12.1.3 RCU, checks first if it already exists
- refactor all domains py scripts to standard one with an FMW extension (optional)
- fmw temp directory bug fix
1.0.20
- unset DISPLAY on install/configurations actions to avoid X timeout
- exclude the standard puppet attributes from the wls_setting yaml files
- Print the WLST scripts of all the wls types when puppet runs in debug mode
- Added new attributes log_http_filename & log_datasource_filename to the wls_server type
- SOA Cluster 12.1.3 fix for activating soa-infra application
- control the startup delay for the nodemanager with the sleep parameter
- option to assign the jrfcluster to a opss database
1.0.19
- changed property and removed propertyvalues of wls_mail_session, now there is no change detected when there is a different sorting
- changed users of wls_group, no change when there is a different sorting
- removed extrapropertiesvalues of wls_datasource, you can use now extraproperties with key=value,key1=value
- removed extrapropertiesvalues of wls_foreign_server, you can use now extraproperties with key=value,key1=value
- New Order parameter on the wls_authentication_provider type so you can change the order
- Timout parameter for all the wls types, can be used to override the default timeout (120s) on every wls resource
- MaxMessageSize parameter for wls_server resource type
1.0.18
- small fix for the server_template type with the arguments parameter
- Frontend parameters for wls_cluster
- Option to skip RCU with a domain creation ( weblogic > 12.1.2)
- new WebLogic type wls_mail_session
- new parameter default file store with wls_server
1.0.17
- utils.py fix for multiple domains
- Refactor for rubocop warnings
1.0.16
- Gridlink support for the Datasource type
- Extra properties can now be removed in a update of the Datasource
- Refactor domain py scripts and use a utils.py script for common functions
1.0.15
- RCU 12.1.3 support for MFT
- BSU fix for hard mdw path in patch policy
- OPatch, check the outcome of the action else fail
- SOA Cluster also works for FMW version 11.1.1.6
- wls_server type new attributes two_way_ssl, client_certificate_enforced
- wls_authentication_provider type now works for DefaultIdentityAsserter
1.0.14
- Change log Tab for puppetlabs forge
1.0.13
- Support for multiple jrf clusters
- New WLS 12c types like wls_server_template, wls_coherence_cluster, wls_dynamic_cluster
1.0.12
- SOA 12.1.3 Cluster support
- 12.1.3 FMW fixes
- BSU policy patch
- OAM & OIM cluster support
- 11g option to associate WebTier with a domain
1.0.11
- OSB 12.1.3 Cluster support
- FMW domains update for datasources based on servicetable
- Target & targettype on all wls types expects an array
- Same for servers parameter on wls_domain type
- Same for users parameter on wls_group type
- Same virtualhostnames parameter on wls_virtual_host
- Same for jndinames, extraproperties, extrapropertiesvalues parameters on wls_datasource & wls_foreign_server
1.0.10
- fixed WebLogic 12.1.2 & 12.1.3 standard domain bug.
1.0.9
- WebLogic 12.1.3 (infra) support
- Support for 12.1.3 SOA,OSB,B2B,MFT installation
- 12.1.3 Standard, ADF, SOA, OSB domain (no cluster)
- wls_adminserver type fix when using no custom trust
1.0.8
- wls_server pass server arguments as an array, as it makes it easier to use references in YAML
- Added log file options to wls_server
1.0.7
- wls_adminserver,wls_managedserver type to start,stop and refresh a managed server ( or subscribe to changes and do an autorestart )
- BSU
- Opatch
- Resource adapter
- Small nodemanager fix
1.0.6
- Readme with links
- wls types title cleanup
- Multiple resource adapter entries fix
- wls_domain fix
- bsu & opatch also works on < puppet 3.2
- hiera vars without an undef default
1.0.5
- wls_domain type to modify JTA,Security,Log & JPA
- Oracle Unified Directory install, domain, instances creation
- OUD control
1.0.4
- wls_deployment type/provider
- Post_classpath param on wls_setting
- WebTier for 12.1.2 and 11.1.1.7
- OIM & OAM 11.1.2.1 & 11.1.2.2 support with OHS OAM Webgate
1.0.3
- WLST Domain daemin for fast WLS types execution
- BSU & OPatch absent option and better output when it fails
1.0.2
- Custom Identity and Custom Trust
1.0.1
- Multi domain support with Puppet WLS types and providers
Dependencies
- hajee/easy_type (>=0.10.0)
- adrien/filemapper (>=1.1.1)
- reidmv/yamlfile (>=0.2.0)
- fiddyspence/sleep (>=1.2.0)
- puppetlabs/stdlib (>=4.9.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.