define weblogic($user = 'soa') { $optpath = '/opt' $nmPort = '5556' $oracle_home = "${optpath}/oracle" $user_home = '/home/' $bea_home = "${oracle_home}/fmw11_1_1_5" $java_home = "/${optpath}/oracle/java" $java_home_target = '/usr/lib/jvm/jre-1.6.0-sun.x86_64/bin/java' $software_home = '/opt/oracle/software' group { 'soa' : ensure => 'present', } user { 'soa': ensure => 'present', gid => 'soa', home => "/${user_home}/soa", password => 'changeme', managehome => true, } # create /home/soa?/.bashrc file { "/${user_home}/${user}/.bashrc": ensure => present, content => template('weblogic/bashrc.erb'), require => User["${user}"], owner => "${user}", } file { "${optpath}": ensure => 'directory', owner => 'root', group => 'root', mode => '0755' } file { ["${software_home}"]: ensure => 'directory', owner => 'soa', require => User['soa'], } file { "${java_home}": ensure => link, target => "${java_home_target}" } file { ["${oracle_home}", "${bea_home}"]: ensure => 'directory', owner => "${user}", require => User["${user}"], } file { ["${optpath}/var/", "${optpath}/var/log/", "${optpath}/var/log/weblogic/", "${optpath}/var/log/weblogic/server", "${optpath}/var/log/weblogic/nodemanager", "${optpath}/var/log/weblogic/scripts"]: ensure => directory, owner => $user, require => User[$user], } # download WebLogic jars file { 'wls1035_generic.jar': ensure => present, source => 'puppet:///modules/weblogic/wls1035_generic.jar', target => "${software_home}/wls1035_generic.jar", } file { "${software_home}/silent_${user}.xml": ensure => present, content => template('weblogic/silent.xml.erb'), require => File["${oracle_home}"] } # execute silent installation exec { 'weblo-silent-install': command => "java -d64 -jar wls1035_generic.jar -mode=silent -silent_xml=silent_${user}.xml", cwd => "${software_home}", path => '/usr/bin:/bin', creates => "${bea_home}/registry.xml", require => [Nexus::Download['wls1035_generic.jar'], File["${software_home}/silent_${user}.xml"], ], } }
all you need to do is to provide a silent.xml.erb and a bashrc.erb in the templates folder, plus the wls1035_generic.jar file in the files folder of the same weblogic module.
It might not be elegant but it's really simple and it works.
No comments:
Post a Comment