| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 |
- # test
- #
- # one machine setup with weblogic 12.1.2
- # creates an WLS Domain with JAX-WS (advanced, soap over jms)
- # needs jdk7, orawls, orautils, fiddyspence-sysctl, erwbgy-limits puppet modules
- #
- node 'node1.example.com', 'node2.example.com' {
- include os,java, ssh, orautils
- include wls1036
- include maintenance
- include copydomain
-
- Class['os'] ->
- Class['ssh'] ->
- Class['java'] ->
- Class['wls1036'] ->
- Class['copydomain']
- }
- # operating settings for Middleware
- class os {
- notice "class os ${operatingsystem}"
- $default_params = {}
- $host_instances = hiera('hosts', [])
- create_resources('host',$host_instances, $default_params)
- exec { "create swap file":
- command => "/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=8192",
- creates => "/var/swap.1",
- }
- exec { "attach swap file":
- command => "/sbin/mkswap /var/swap.1 && /sbin/swapon /var/swap.1",
- require => Exec["create swap file"],
- unless => "/sbin/swapon -s | grep /var/swap.1",
- }
- #add swap file entry to fstab
- exec {"add swapfile entry to fstab":
- command => "/bin/echo >>/etc/fstab /var/swap.1 swap swap defaults 0 0",
- require => Exec["attach swap file"],
- user => root,
- unless => "/bin/grep '^/var/swap.1' /etc/fstab 2>/dev/null",
- }
- service { iptables:
- enable => false,
- ensure => false,
- hasstatus => true,
- }
- group { 'dba' :
- ensure => present,
- }
- # http://raftaman.net/?p=1311 for generating password
- # password = oracle
- user { 'wls' :
- ensure => present,
- groups => 'dba',
- shell => '/bin/bash',
- password => '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',
- home => "/home/wls",
- comment => 'wls user created by Puppet',
- managehome => true,
- require => Group['dba'],
- }
- $install = [ 'binutils.x86_64','unzip.x86_64']
- package { $install:
- ensure => present,
- }
- class { 'limits':
- config => {
- '*' => { 'nofile' => { soft => '2048' , hard => '8192', },},
- 'wls' => { 'nofile' => { soft => '65536' , hard => '65536', },
- 'nproc' => { soft => '2048' , hard => '16384', },
- 'memlock' => { soft => '1048576', hard => '1048576',},
- 'stack' => { soft => '10240' ,},},
- },
- use_hiera => false,
- }
- 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 => '2588483584',}
- sysctl { 'kernel.shmall': ensure => 'present', permanent => 'yes', value => '2097152',}
- sysctl { 'fs.file-max': ensure => 'present', permanent => 'yes', value => '6815744',}
- 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',}
- sysctl { 'kernel.shmmni': ensure => 'present', permanent => 'yes', value => '4096', }
- sysctl { 'fs.aio-max-nr': ensure => 'present', permanent => 'yes', value => '1048576',}
- sysctl { 'kernel.sem': ensure => 'present', permanent => 'yes', value => '250 32000 100 128',}
- sysctl { 'net.ipv4.ip_local_port_range': ensure => 'present', permanent => 'yes', value => '9000 65500',}
- sysctl { 'net.core.rmem_default': ensure => 'present', permanent => 'yes', value => '262144',}
- sysctl { 'net.core.rmem_max': ensure => 'present', permanent => 'yes', value => '4194304', }
- sysctl { 'net.core.wmem_default': ensure => 'present', permanent => 'yes', value => '262144',}
- sysctl { 'net.core.wmem_max': ensure => 'present', permanent => 'yes', value => '1048576',}
- }
- class ssh {
- require os
- notice 'class ssh'
- file { "/home/wls/.ssh/":
- owner => "wls",
- group => "dba",
- mode => "700",
- ensure => "directory",
- alias => "wls-ssh-dir",
- }
-
- file { "/home/wls/.ssh/id_rsa.pub":
- ensure => present,
- owner => "wls",
- group => "dba",
- mode => "644",
- source => "/vagrant/ssh/id_rsa.pub",
- require => File["wls-ssh-dir"],
- }
-
- file { "/home/wls/.ssh/id_rsa":
- ensure => present,
- owner => "wls",
- group => "dba",
- mode => "600",
- source => "/vagrant/ssh/id_rsa",
- require => File["wls-ssh-dir"],
- }
-
- file { "/home/wls/.ssh/authorized_keys":
- ensure => present,
- owner => "wls",
- group => "dba",
- mode => "644",
- source => "/vagrant/ssh/id_rsa.pub",
- require => File["wls-ssh-dir"],
- }
- }
- class java {
- require os
- notice 'class java'
- $remove = [ "java-1.7.0-openjdk.x86_64", "java-1.6.0-openjdk.x86_64" ]
- package { $remove:
- ensure => absent,
- }
- include jdk7
- jdk7::install7{ 'jdk1.7.0_181':
- version => "7u181" ,
- fullVersion => "jdk1.7.0_181",
- alternativesPriority => 18000,
- x64 => true,
- downloadDir => hiera('wls_download_dir'),
- urandomJavaFix => true,
- sourcePath => hiera('wls_source'),
- }
- }
- class wls1036{
- class { 'wls::urandomfix' :}
- $jdkWls11gJDK = hiera('wls_jdk_version')
- $wls11gVersion = hiera('wls_version')
-
- $puppetDownloadMntPoint = hiera('wls_source')
-
- $osOracleHome = hiera('wls_oracle_base_home_dir')
- $osMdwHome = hiera('wls_middleware_home_dir')
- $osWlHome = hiera('wls_weblogic_home_dir')
- $user = hiera('wls_os_user')
- $group = hiera('wls_os_group')
- $downloadDir = hiera('wls_download_dir')
- $logDir = hiera('wls_log_dir')
- # set the defaults
- Wls::Installwls {
- version => $wls11gVersion,
- fullJDKName => $jdkWls11gJDK,
- oracleHome => $osOracleHome,
- mdwHome => $osMdwHome,
- user => $user,
- group => $group,
- downloadDir => $downloadDir,
- remoteFile => hiera('wls_remote_file'),
- puppetDownloadMntPoint => $puppetDownloadMntPoint,
- }
- Wls::Nodemanager {
- wlHome => $osWlHome,
- fullJDKName => $jdkWls11gJDK,
- user => $user,
- group => $group,
- serviceName => $serviceName,
- downloadDir => $downloadDir,
- }
- Wls::Bsupatch {
- mdwHome => $osMdwHome,
- wlHome => $osWlHome,
- fullJDKName => $jdkWls11gJDK,
- user => $user,
- group => $group,
- downloadDir => $downloadDir,
- puppetDownloadMntPoint => $puppetDownloadMntPoint,
- }
- # install
- wls::installwls{'11gPS5':
- createUser => false,
- }
-
- # weblogic patch
- ##wls::bsupatch{'p17071663':
- ## patchId => 'BYJ1',
- ## patchFile => 'p17071663_1036_Generic.zip',
- ## require => Wls::Installwls['11gPS5'],
- ##}
- #nodemanager configuration and starting
- wls::nodemanager{'nodemanager11g':
- listenPort => hiera('domain_nodemanager_port'),
- listenAddress => hiera('domain_node_address'),
- logDir => $logDir,
- ## require => Wls::Bsupatch['p17071663'],
- }
-
- orautils::nodemanagerautostart{"autostart ${wlsDomainName}":
- version => "1111",
- wlHome => $osWlHome,
- user => $user,
- logDir => $logDir,
- require => Wls::Nodemanager['nodemanager11g'];
- }
- }
- class copydomain {
- $wlsDomainName = hiera('domain_name')
- $adminListenPort = hiera('domain_adminserver_port')
- $nodemanagerPort = hiera('domain_nodemanager_port')
- $address = hiera('domain_adminserver_address')
- $userConfigDir = hiera('wls_user_config_dir')
- $jdkWls11gJDK = hiera('wls_jdk_version')
-
- $osOracleHome = hiera('wls_oracle_base_home_dir')
- $osMdwHome = hiera('wls_middleware_home_dir')
- $osWlHome = hiera('wls_weblogic_home_dir')
- $user = hiera('wls_os_user')
- $group = hiera('wls_os_group')
- $downloadDir = hiera('wls_download_dir')
- $logDir = hiera('wls_log_dir')
-
- # install domain
- wls::copydomain{'copyWlsDomain':
- version => '1111',
- wlHome => $osWlHome,
- mdwHome => $osMdwHome,
- fullJDKName => $jdkWls11gJDK,
- domain => $wlsDomainName,
- adminListenAdr => $address,
- adminListenPort => $adminListenPort,
- sshpass => false,
- wlsUser => hiera('wls_weblogic_user'),
- password => hiera('domain_wls_password'),
- user => $user,
- userPassword => 'oracle',
- group => $group,
- logDir => $logDir,
- downloadDir => $downloadDir,
- }
- }
- class maintenance {
- $osOracleHome = hiera('wls_oracle_base_home_dir')
- $osMdwHome = hiera('wls_middleware_home_dir')
- $osWlHome = hiera('wls_weblogic_home_dir')
- $user = hiera('wls_os_user')
- $group = hiera('wls_os_group')
- $downloadDir = hiera('wls_download_dir')
- $logDir = hiera('wls_log_dir')
- $mtimeParam = "1"
- cron { 'cleanwlstmp' :
- command => "find /tmp -name '*.tmp' -mtime ${mtimeParam} -exec rm {} \\; >> /tmp/tmp_purge.log 2>&1",
- user => $user,
- hour => 06,
- minute => 25,
- }
- cron { 'mdwlogs' :
- command => "find ${osMdwHome}/logs -name 'wlst_*.*' -mtime ${mtimeParam} -exec rm {} \\; >> /tmp/wlst_purge.log 2>&1",
- user => $user,
- hour => 06,
- minute => 30,
- }
- }
|