Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/biemond/biemond-orawls

Puppet 3/4 module for WebLogic provisioning module ( Linux & Solaris )
https://github.com/biemond/biemond-orawls

oracle puppet puppet-forge puppet-modules ruby

Last synced: 1 day ago
JSON representation

Puppet 3/4 module for WebLogic provisioning module ( Linux & Solaris )

Awesome Lists containing this project

README

        

# Oracle WebLogic / Fusion Middleware puppet module V2
[![Build Status](https://travis-ci.org/biemond/biemond-orawls.svg?branch=master)](https://travis-ci.org/biemond/biemond-orawls) ![Puppet Forge Version](https://img.shields.io/puppetforge/v/biemond/orawls.svg) ![Puppet Forge Score](https://img.shields.io/puppetforge/f/biemond/orawls.svg) ![Puppet Forge Downloads](http://img.shields.io/puppetforge/dt/biemond/orawls.svg) [![Code Climate](https://codeclimate.com/github/biemond/biemond-orawls/badges/gpa.svg)](https://codeclimate.com/github/biemond/biemond-orawls) [![Coverage Status](https://coveralls.io/repos/biemond/biemond-orawls/badge.svg?branch=master&service=github)](https://coveralls.io/github/biemond/biemond-orawls?branch=master)

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](https://github.com/biemond/biemond-orawls/tree/puppet4)

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

[biemond.blogspot.com](http://biemond.blogspot.com)

[Github homepage](https://github.com/biemond/biemond-orawls)

## 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](https://www.enterprisemodules.com/shop/products/puppet-wls_install-module) and [wls_config](https://www.enterprisemodules.com/shop/products/puppet-wls_config-module) modules from [Enterprise Modules](https://www.enterprisemodules.com/)

[![Enterprise Modules](https://www.enterprisemodules.com/images/puppet-logo.png)](https://www.enterprisemodules.com)

## 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](https://github.com/biemond/docker-weblogic-puppet)
- WebLogic 11g Reference implementation, the vagrant test case for full working WebLogic 10.3.6 cluster example [biemond-orawls-vagrant-puppet4](https://github.com/biemond/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](https://github.com/biemond/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](https://github.com/biemond/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](https://github.com/biemond/biemond-orawls-vagrant-12.2.1-infra-soa-puppet4)
- WebLogic OHS webtier standalone, the vagrant test case for full working Webtier 12.1.2 and 12.2.1 [biemond-orawls-vagrant-ohs-puppet4](https://github.com/biemond/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](https://github.com/biemond/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](https://github.com/biemond/biemond-orawls-vagrant-oim_oam-puppet4)
- 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](https://github.com/biemond/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](https://github.com/biemond/biemond-orawls-vagrant-11g-forms-puppet4)

## Orawls WebLogic Features

- [Installs WebLogic](#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](#bsu) on a Middleware home ( < 12.1.2 )
- [Apply a OPatch](#opatch) on a Middleware home ( >= 12.1.2 ) or a Oracle product home
- [Opatch upgrade](#opatchupgrade) on a Middleware home ( >= 12.1.2 )
- [Create a WebLogic domain](#domain)
- [Pack a WebLogic domain](#packdomain)
- [Copy a WebLogic domain](#copydomain) to a other node with SSH, unpack and enroll to a nodemanager
- [JSSE](#jsse) Java Secure Socket Extension support
- [Override the default file location, applicable for running as non-root user](#default_override)
- [Custom Identity and Trust Store support](#identity)
- [Linux low on entropy or urandom fix](#urandom)
- [Startup a nodemanager](#nodemanager)
- [start or stop AdminServer, Managed or a Cluster](#control)
- [StoreUserConfig](#storeuserconfig) for storing WebLogic Credentials and using in WLST
- [Dynamic targetting](#Dynamictargetting) by using the notes field in WebLogic for resource targetting
- 12.2.1 Multi Tenancy features

### Fusion Middleware Features 11g & 12c

- installs [FMW](#fmw) software(add-on) to a middleware home, like OSB,SOA Suite, Oracle Identity & Access Management, Oracle Unified Directory, WebCenter Portal + Content
- [WebTier](#webtier) Oracle HTTP server Standalone and Collocated
- [Configure Oracle HTTP Server](#configure-oracle-http-server)
- [OSB, SOA Suite](#fmwcluster) 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](#fmwclusterjrf), Assign JRF libraries to a Server or Cluster target
- [OIM IDM](#oimconfig) / OAM 11.1.2.3 configurations with Oracle OHS OAM WebGate, Also it has Cluster support for OIM OAM
- [OUD](#instance) OUD Oracle Unified Directory install, WebLogic domain, instances creation & [OUD control](#oud_control)
- [Forms/Reports](#forms) Oracle Forms & Reports 11.1.1.7, 11.1.2 or 12.2.1
- [WC, WCC, WCS](#Webcenter) Webcenter portal, content, sites 11g or 12.2.1
- [Change FMW log](#fmwlogdir) location of a managed server
- [Resource Adapter](#resourceadapter) 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](#wls_setting), set the default wls parameters for the other types and also used by puppet resource
- [wls_adminserver](#wls_adminserver) control the adminserver or subscribe to changes
- [wls_managedserver](#wls_managedserver) control the managed server,cluster or subscribe to changes
- [wls_ohsserver](#wls_ohsserver) control the ohs standalone server or subscribe to changes
- [wls_domain](#wls_domain)
- [wls_deployment](#wls_deployment)
- [wls_domain](#wls_domain)
- [wls_group](#wls_group)
- [wls_role](#wls_role)
- [wls_user](#wls_user)
- [wls_authentication_provider](#wls_authentication_provider)
- [wls_identity_asserter](#wls_identity_asserter)
- [wls_machine](#wls_machine)
- [wls_server](#wls_server)
- [wls_server_channel](#wls_server_channel)
- [wls_server_tlog](#wls_server_tlog)
- [wls_cluster](#wls_cluster)
- [wls_migratable_target](#wls_migratable_target)
- [wls_singleton_service](#wls_singleton_service)
- [wls_virtual_host](#wls_virtual_host)
- [wls_workmanager_constraint](#wls_workmanager_constraint)
- [wls_workmanager](#wls_workmanager)
- [wls_datasource](#wls_datasource)
- [wls_multi_datasource](#wls_multi_datasource)
- [wls_foreign_jndi_provider
](#wls_foreign_jndi_provider
)
- [wls_foreign_jndi_provider
_link](#wls_foreign_jndi_provider
_link)
- [wls_file_persistence_store](#wls_file_persistence_store)
- [wls_jdbc_persistence_store](#wls_jdbc_persistence_store)
- [wls_jmsserver](#wls_jmsserver)
- [wls_safagent](#wls_safagent)
- [wls_jms_module](#wls_jms_module)
- [wls_jms_quota](#wls_jms_quota)
- [wls_jms_sort_destination_key](#wls_jms_sort_destination_key)
- [wls_jms_subdeployment](#wls_jms_subdeployment)
- [wls_jms_queue](#wls_jms_queue)
- [wls_jms_topic](#wls_jms_topic)
- [wls_jms_security_policy](#wls_jms_security_policy)
- [wls_jms_connection_factory](#wls_jms_connection_factory)
- [wls_jms_template](#wls_jms_template)
- [wls_jms_bridge_destination](#wls_jms_bridge_destination)
- [wls_messaging_bridge](#wls_messaging_bridge)
- [wls_saf_remote_context](#wls_saf_remote_context)
- [wls_saf_error_handler](#wls_saf_error_handler)
- [wls_saf_imported_destination](#wls_saf_imported_destination)
- [wls_saf_imported_destination_object](#wls_saf_imported_destination_object)
- [wls_foreign_server](#wls_foreign_server)
- [wls_foreign_server_object](#wls_foreign_server_object)
- [wls_mail_session](#wls_mail_session)

12.1.3 Coherence & Dynamic clusters
- [wls_coherence_cluster](#wls_coherence_cluster)
- [wls_coherence_server](#wls_coherence_server)
- [wls_server_template](#wls_server_template)
- [wls_dynamic_cluster](#wls_dynamic_cluster)

12.2.1.1 Multitenancy MT
- [wls_virtual_target](#wls_virtual_target)
- [wls_resource_group](#wls_resource_group)
- [wls_resource_group_template](#wls_resource_group_template)
- [wls_resource_group_template_deployment](#wls_resource_group_template_deployment)
- [wls_domain_partition](#wls_domain_partition)
- [wls_domain_partition_control](#wls_domain_partition_control)
- [wls_domain_partition_resource_group](#wls_domain_partition_resource_group)
- [wls_domain_partition_resource_group_deployment](#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](https://tickets.puppetlabs.com/browse/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,