manifests/fmw.pp
# == Define: orawls::fmw
#
# installs FMW software like ADF, FORMS, OIM, WC, WCC, OSB, SOA Suite, B2B, MFT
#
##
define orawls::fmw(
$version = hiera('wls_version', 1111), # 1036|1111|1211|1212|1213|1221|12211|12212
$weblogic_home_dir = hiera('wls_weblogic_home_dir'), # /opt/oracle/middleware11gR1/wlserver_103
$middleware_home_dir = hiera('wls_middleware_home_dir'), # /opt/oracle/middleware11gR1
$oracle_base_home_dir = hiera('wls_oracle_base_home_dir'), # /opt/oracle
$oracle_home_dir = undef, # /opt/oracle/middleware/Oracle_SOA
$jdk_home_dir = hiera('wls_jdk_home_dir'), # /usr/java/jdk1.7.0_45
$fmw_product = undef, # adf|soa|soaqs|osb|wcc|wcs|wc|oim|oam|web|webgate|oud|mft|b2b|forms
$fmw_file1 = undef,
$fmw_file2 = undef,
$fmw_file3 = undef,
$fmw_file4 = undef,
$bpm = false,
$healthcare = false,
$os_user = hiera('wls_os_user'), # oracle
$os_group = hiera('wls_os_group'), # dba
$download_dir = hiera('wls_download_dir'), # /data/install
$source = hiera('wls_source', undef), # puppet:///modules/orawls/ | /mnt | /vagrant
$remote_file = true, # true|false
$log_output = false, # true|false
$temp_directory = hiera('wls_temp_dir','/tmp'), # /tmp directory
$ohs_mode = hiera('ohs_mode', 'collocated'),
$wcs_mode = hiera('wcs_mode', 'sites'), # sites|examples|satellite
$oracle_inventory_dir = undef,
$orainstpath_dir = hiera('orainstpath_dir', undef),
)
{
$exec_path = "${jdk_home_dir}/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:"
if $oracle_inventory_dir == undef {
$oraInventory = "${oracle_base_home_dir}/oraInventory"
} else {
$oraInventory = $oracle_inventory_dir
}
case $::kernel {
'Linux': {
if ( $orainstpath_dir == undef or $orainstpath_dir == '' ){
$oraInstPath = '/etc'
} else {
$oraInstPath = $orainstpath_dir
}
case $::architecture {
'i386': {
$installDir = 'linux'
}
default: {
$installDir = 'linux64'
}
}
}
'SunOS': {
$oraInstPath = '/var/opt/oracle'
case $::architecture {
'i86pc': {
$installDir = 'intelsolaris'
}
default: {
$installDir = 'solaris'
}
}
}
default: {
fail("Unrecognized operating system ${::kernel}, please use it on a Linux host")
}
}
#Sanitise the resource title so that it can safely be used in filenames and execs etc.
#After converting all spaces to underscores, remove all non alphanumeric characters (allow hypens and underscores too)
$convert_spaces_to_underscores = regsubst($title,'\s','_','G')
$sanitised_title = regsubst ($convert_spaces_to_underscores,'[^a-zA-Z0-9_-]','','G')
if ( $fmw_product == 'adf' ) {
$fmw_silent_response_file = 'orawls/fmw_silent_adf.rsp.erb'
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/oracle_common"
}
else {
$oracleHome = $oracle_home_dir
}
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
$total_files = 1
} elsif ( $fmw_product == 'forms' ) {
if $version >= 1221 {
$fmw_silent_response_file = 'orawls/fmw_silent_forms_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_fr_linux64.bin'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_fr_linux64.bin'
} else {
$binFile1 = 'fmw_12.2.1.2.0_fr_linux64.bin'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'bin'
$total_files = 1
$install_type = 'Forms and Reports Deployment'
$oracleHome = "${middleware_home_dir}/forms"
}
else {
$fmw_silent_response_file = 'orawls/fmw_silent_forms.rsp.erb'
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
if $version == 11112 {
$total_files = 4
$createFile2 = "${download_dir}/${sanitised_title}/Disk2"
$createFile3 = "${download_dir}/${sanitised_title}/Disk3"
$createFile4 = "${download_dir}/${sanitised_title}/Disk4"
}
elsif $version == 1112 {
$total_files = 2
$createFile2 = "${download_dir}/${sanitised_title}/Disk4"
}
else {
$total_files = 1
}
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_FRM1"
}
else {
$oracleHome = $oracle_home_dir
}
}
} elsif ( $fmw_product == 'soa' ) {
if $version >= 1221 {
$total_files = 1
$fmw_silent_response_file = 'orawls/fmw_silent_soa_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_soa.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_soa.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_soa.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/soa/bin"
$type = 'java'
if $bpm == true {
$install_type = 'BPM'
} else {
$install_type = 'SOA Suite'
}
}
elsif $version == 1213 {
$total_files = 1
$fmw_silent_response_file = 'orawls/fmw_silent_soa_1213.rsp.erb'
$binFile1 = 'fmw_12.1.3.0.0_soa.jar'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/soa/bin"
$type = 'java'
if $bpm == true {
$install_type = 'BPM'
} else {
$install_type = 'SOA Suite'
}
}
else {
$total_files = 2
$fmw_silent_response_file = 'orawls/fmw_silent_soa.rsp.erb'
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
$createFile2 = "${download_dir}/${sanitised_title}/Disk4"
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_SOA1"
}
else {
$oracleHome = $oracle_home_dir
}
}
} elsif ( $fmw_product == 'soaqs' ) {
if $version >= 1221 {
$total_files = 2
$fmw_silent_response_file = 'orawls/fmw_silent_soa_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_soa_quickstart.jar'
$binFile2 = 'fmw_12.2.1.0.0_soa_quickstart2.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_soa_quickstart.jar'
$binFile2 = 'fmw_12.2.1.1.0_soa_quickstart2.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_soa_quickstart.jar'
$binFile2 = 'fmw_12.2.1.2.0_soa_quickstart2.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$createFile2 = "${download_dir}/${sanitised_title}/${binFile2}"
$oracleHome = "${middleware_home_dir}/soa/bin"
$type = 'java'
if $bpm == true {
$install_type = 'BPM'
} else {
$install_type = 'SOA Suite'
}
}
elsif $version == 1213 {
$total_files = 1
$fmw_silent_response_file = 'orawls/fmw_silent_soa_1213.rsp.erb'
$binFile1 = 'fmw_12.1.3.0.0_soa_quickstart.jar'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/soa/bin"
$type = 'java'
if $bpm == true {
$install_type = 'BPM'
} else {
$install_type = 'SOA Suite'
}
}
else {
fail('Unrecognized version for soaqs')
}
} elsif ( $fmw_product == 'osb' ) {
$total_files = 1
if $version >= 1221 {
$fmw_silent_response_file = 'orawls/fmw_silent_osb_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_osb.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_osb.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_osb.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/osb/bin"
$type = 'java'
}
elsif $version == 1213 {
$fmw_silent_response_file = 'orawls/fmw_silent_osb_1213.rsp.erb'
$binFile1 = 'fmw_12.1.3.0.0_osb.jar'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/osb/bin"
$type = 'java'
}
else {
$fmw_silent_response_file = 'orawls/fmw_silent_osb.rsp.erb'
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_OSB1"
}
else {
$oracleHome = $oracle_home_dir
}
}
}
elsif ( $fmw_product == 'b2b' ) {
if $healthcare == true {
$install_type = 'Healthcare'
} else {
$install_type = 'B2B'
}
if $version == 1213 {
$total_files = 1
$fmw_silent_response_file = 'orawls/fmw_silent_b2b_1213.rsp.erb'
$binFile1 = 'fmw_12.1.3.0.0_b2bhealthcare.jar'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/soa/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar"
$type = 'java'
}
elsif $version >= 1221 {
$total_files = 1
$fmw_silent_response_file = 'orawls/fmw_silent_b2b_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_b2bhealthcare.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_b2bhealthcare.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_b2bhealthcare.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/soa/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar"
$type = 'java'
}
else {
fail('Unrecognized version for b2b')
}
} elsif ( $fmw_product == 'mft' ) {
if $version == 1213 {
$total_files = 1
$fmw_silent_response_file = 'orawls/fmw_silent_mft_1213.rsp.erb'
$binFile1 = 'fmw_12.1.3.0.0_mft.jar'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$oracleHome = "${middleware_home_dir}/mft/bin"
$type = 'java'
} else {
fail('Unrecognized version for mft')
}
} elsif ( ( $fmw_product == 'oim' ) or ( $fmw_product == 'oam' ) ) {
$fmw_silent_response_file = 'orawls/fmw_silent_oim.rsp.erb'
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_IDM1"
}
else {
$oracleHome = $oracle_home_dir
}
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
$createFile2 = "${download_dir}/${sanitised_title}/Disk4"
$total_files = 3
} elsif ( $fmw_product == 'wc' ) {
if $version >= 1221 {
$fmw_silent_response_file = 'orawls/fmw_silent_wc_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_wcportal_generic.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_wcportal_generic.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_wcportal_generic.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'java'
$total_files = 1
$oracleHome = "${middleware_home_dir}/wcportal"
$install_type = 'WebCenter Portal'
}
else {
$fmw_silent_response_file = 'orawls/fmw_silent_wc.rsp.erb'
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_WC1"
}
else {
$oracleHome = $oracle_home_dir
}
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
$total_files = 1
}
} elsif ( $fmw_product == 'wcc' ) {
if $version >= 1221 {
$fmw_silent_response_file = 'orawls/fmw_silent_wcc_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_wccontent_generic.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_wccontent_generic.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_wccontent_generic.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'java'
$total_files = 1
$oracleHome = "${middleware_home_dir}/wccontent"
}
else {
$fmw_silent_response_file = 'orawls/fmw_silent_wcc.rsp.erb'
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_WCC1"
}
else {
$oracleHome = $oracle_home_dir
}
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
$createFile2 = "${download_dir}/${sanitised_title}/Disk2"
$total_files = 2
}
} elsif ( $fmw_product == 'wcs' ) {
if ($wcs_mode == 'sites') {
$install_type = 'WebCenter Sites'
} elsif ($wcs_mode == 'examples') {
$install_type = 'WebCenter Sites - With Examples'
} elsif ($wcs_mode == 'satelite') {
$install_type = 'WebCenter Sites - Satellite Server'
} else {
fail("Unrecognized parameter wcs_mode: ${wcs_mode}, please use sites|examples|satellite")
}
if $version >= 1221 {
$fmw_silent_response_file = 'orawls/fmw_silent_wcs_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_wcsites_generic.jar'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_wcsites.jar'
} elsif $version == 12212 {
$binFile1 = 'fmw_12.2.1.2.0_wcsites.jar'
} else {
$binFile1 = 'fmw_12.2.1.2.0_wcsites.jar'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'java'
$total_files = 1
$oracleHome = "${middleware_home_dir}/wcsites"
}
} elsif ( $fmw_product == 'web') {
if ($ohs_mode == 'standalone') {
$install_type = 'Standalone HTTP Server (Managed independently of WebLogic server)'
} elsif ($ohs_mode in ['colocated','collocated']) {
if $version == 1212 {
$install_type = 'Colocated HTTP Server (Managed through WebLogic server)'
} else {
$install_type = 'Collocated HTTP Server (Managed through WebLogic server)'
}
} else {
fail("Unrecognized parameter ohs_mode: ${ohs_mode}, please use colocated|collocated|standalone")
}
if $version == 1212 {
$fmw_silent_response_file = 'orawls/web_http_server_1212.rsp.erb'
$binFile1 = 'ohs_121200_linux64.bin'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'bin'
}
elsif $version == 1213 {
$fmw_silent_response_file = 'orawls/web_http_server_1213.rsp.erb'
$binFile1 = 'fmw_12.1.3.0.0_ohs_linux64.bin'
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'bin'
}
elsif $version >= 1221 {
$fmw_silent_response_file = 'orawls/web_http_server_1221.rsp.erb'
if $version == 1221 {
$binFile1 = 'fmw_12.2.1.0.0_ohs_linux64.bin'
} elsif $version == 12211 {
$binFile1 = 'fmw_12.2.1.1.0_ohs_linux64.bin'
} else {
$binFile1 = 'fmw_12.2.1.2.0_ohs_linux64.bin'
}
$createFile1 = "${download_dir}/${sanitised_title}/${binFile1}"
$type = 'bin'
}
else {
$fmw_silent_response_file = 'orawls/web_http_server.rsp.erb'
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
}
if ($oracle_home_dir == undef) {
if ( $version == 1212 or $version == 1213 or $version >= 1221 ) {
$oracleHome = "${middleware_home_dir}/ohs"
} else {
$oracleHome = "${middleware_home_dir}/Oracle_WT1"
}
}
else {
$oracleHome = $oracle_home_dir
}
$total_files = 1
} elsif ( $fmw_product == 'webgate' ) {
$fmw_silent_response_file = 'orawls/fmw_webgate.rsp.erb'
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_OAMWebGate1"
}
else {
$oracleHome = $oracle_home_dir
}
$total_files = 1
} elsif ( $fmw_product == 'oud' ) {
$fmw_silent_response_file = 'orawls/fmw_silent_oud.rsp.erb'
$createFile1 = "${download_dir}/${sanitised_title}/Disk1"
if ($oracle_home_dir == undef) {
$oracleHome = "${middleware_home_dir}/Oracle_OUD1"
}
else {
$oracleHome = $oracle_home_dir
}
$total_files = 1
} else {
fail('unknown fmw_product value choose adf|soa|soaqs|osb|oim|oam|wc|wcc|web|webgate|oud')
}
# check if the oracle home already exists, only for < 12.1.2, this is for performance reasons
if $version == 1212 or $version == 1213 or $version >= 1221 {
$continue = true
} else {
$found = orawls_oracle_exists($oracleHome)
if $found == undef {
$continue = true
} else {
if ($found) {
$continue = false
} else {
notify { "orawls::fmw ${sanitised_title} ${oracleHome} does not exists": }
$continue = true
}
}
}
if ($continue) {
if $source == undef {
$mountPoint = 'puppet:///modules/orawls/'
} else {
$mountPoint = $source
}
orawls::utils::orainst { "create oraInst for ${name}":
ora_inventory_dir => $oraInventory,
os_group => $os_group,
}
file { "${download_dir}/${sanitised_title}_silent.rsp":
ensure => present,
content => template($fmw_silent_response_file),
mode => '0775',
owner => $os_user,
group => $os_group,
backup => false,
require => Orawls::Utils::Orainst["create oraInst for ${name}"],
}
# for performance reasons, download and extract or just extract it
if $remote_file == true {
file { "${download_dir}/${fmw_file1}":
ensure => file,
source => "${mountPoint}/${fmw_file1}",
mode => '0775',
owner => $os_user,
group => $os_group,
backup => false,
before => Exec["extract ${fmw_file1} for ${name}"],
}
$disk1_file = "${download_dir}/${fmw_file1}"
} else {
$disk1_file = "${source}/${fmw_file1}"
}
exec { "extract ${fmw_file1} for ${name}":
command => "unzip -o ${disk1_file} -d ${download_dir}/${sanitised_title}",
creates => $createFile1,
path => $exec_path,
user => $os_user,
group => $os_group,
timeout => 0,
cwd => $temp_directory,
logoutput => false,
require => Orawls::Utils::Orainst["create oraInst for ${name}"],
}
# TODO: we should make a utility function to handle each file rather than copy/pasting and editing
if ( $total_files > 1 ) {
# for performance reasons, download and extract or just extract it
if $remote_file == true {
file { "${download_dir}/${fmw_file2}":
ensure => file,
source => "${mountPoint}/${fmw_file2}",
mode => '0775',
owner => $os_user,
group => $os_group,
backup => false,
before => Exec["extract ${fmw_file2} for ${name}"],
require => [File["${download_dir}/${fmw_file1}"],
Exec["extract ${fmw_file1} for ${name}"],],
}
$disk2_file = "${download_dir}/${fmw_file2}"
} else {
$disk2_file = "${source}/${fmw_file2}"
}
exec { "extract ${fmw_file2} for ${name}":
command => "unzip -o ${disk2_file} -d ${download_dir}/${sanitised_title}",
creates => $createFile2,
path => $exec_path,
user => $os_user,
group => $os_group,
timeout => 0,
cwd => $temp_directory,
logoutput => false,
require => Exec["extract ${fmw_file1} for ${name}"],
before => Exec["install ${sanitised_title}"],
}
}
if ( $total_files > 2 ) {
# for performance reasons, download and extract or just extract it
if $remote_file == true {
file { "${download_dir}/${fmw_file3}":
ensure => file,
source => "${mountPoint}/${fmw_file3}",
mode => '0775',
owner => $os_user,
group => $os_group,
backup => false,
before => Exec["extract ${fmw_file3}"],
require => [File["${download_dir}/${fmw_file2}"],
Exec["extract ${fmw_file2}"],],
}
$disk3_file = "${download_dir}/${fmw_file3}"
} else {
$disk3_file = "${source}/${fmw_file3}"
}
exec { "extract ${fmw_file3} for ${name}":
command => "unzip -o ${disk3_file} -d ${download_dir}/${sanitised_title}",
creates => $createFile3,
path => $exec_path,
user => $os_user,
group => $os_group,
timeout => 0,
cwd => $temp_directory,
logoutput => false,
require => Exec["extract ${fmw_file2} for ${name}"],
before => Exec["install ${sanitised_title}"],
}
}
if ( $total_files > 3 ) {
# for performance reasons, download and extract or just extract it
if $remote_file == true {
file { "${download_dir}/${fmw_file4}":
ensure => file,
source => "${mountPoint}/${fmw_file4}",
mode => '0775',
owner => $os_user,
group => $os_group,
backup => false,
before => Exec["extract ${fmw_file4}"],
require => [File["${download_dir}/${fmw_file3}"],
Exec["extract ${fmw_file3} for ${name}"],],
}
$disk4_file = "${download_dir}/${fmw_file4}"
} else {
$disk4_file = "${source}/${fmw_file4}"
}
exec { "extract ${fmw_file4} for ${name}":
command => "unzip -o ${disk4_file} -d ${download_dir}/${sanitised_title}",
creates => $createFile4,
path => $exec_path,
user => $os_user,
group => $os_group,
timeout => 0,
cwd => $temp_directory,
logoutput => false,
require => Exec["extract ${fmw_file3} for ${name}"],
before => Exec["install ${sanitised_title}"],
}
}
if $::kernel == 'SunOS' {
if $version != 1213 {
if $fmw_product == 'soa' {
exec { "add -d64 oraparam.ini ${sanitised_title}":
command => "sed -e's/JRE_MEMORY_OPTIONS=\" -Xverify:none\"/JRE_MEMORY_OPTIONS=\"-d64 -Xverify:none\"/g' ${download_dir}/${sanitised_title}/Disk1/install/${installDir}/oraparam.ini > ${temp_directory}/soa.tmp && mv ${temp_directory}/soa.tmp ${download_dir}/${sanitised_title}/Disk1/install/${installDir}/oraparam.ini",
unless => "grep 'JRE_MEMORY_OPTIONS=\"-d64' ${download_dir}/${sanitised_title}/Disk1/install/${installDir}/oraparam.ini",
require => Exec["extract ${fmw_file1} for ${name}","extract ${fmw_file2} for ${name}"],
before => Exec["install ${sanitised_title}"],
path => $exec_path,
user => $os_user,
group => $os_group,
cwd => $temp_directory,
logoutput => $log_output,
}
}
if $fmw_product == 'osb' {
exec { "add -d64 oraparam.ini ${sanitised_title}":
command => "sed -e's/\\[Oracle\\]/\\[Oracle\\]\\\nJRE_MEMORY_OPTIONS=\"-d64\"/g' ${download_dir}/${sanitised_title}/Disk1/install/${installDir}/oraparam.ini > ${temp_directory}/osb.tmp && mv ${temp_directory}/osb.tmp ${download_dir}/${sanitised_title}/Disk1/install/${installDir}/oraparam.ini",
unless => "grep 'JRE_MEMORY_OPTIONS=\"-d64\"' ${download_dir}/${sanitised_title}/Disk1/install/${installDir}/oraparam.ini",
require => Exec["extract ${fmw_file1} for ${name}"],
before => Exec["install ${sanitised_title}"],
path => $exec_path,
user => $os_user,
group => $os_group,
cwd => $temp_directory,
logoutput => $log_output,
}
}
}
}
if $version >= 1221 {
$command = "-silent -responseFile ${download_dir}/${sanitised_title}_silent.rsp"
}
else {
$command = "-silent -response ${download_dir}/${sanitised_title}_silent.rsp -waitforcompletion"
}
if $version == 1212 or $version == 1213 or $version >= 1221 {
if $type == 'java' {
$install = "java -Djava.io.tmpdir=${temp_directory} -jar "
}
else {
$install = ''
}
exec { "install ${sanitised_title}":
command => "${install}${download_dir}/${sanitised_title}/${binFile1} ${command} -invPtrLoc ${oraInstPath}/oraInst.loc -ignoreSysPrereqs -jreLoc ${jdk_home_dir}",
environment => "TEMP=${temp_directory}",
timeout => 0,
creates => $oracleHome,
cwd => $temp_directory,
path => $exec_path,
user => $os_user,
group => $os_group,
logoutput => $log_output,
require => [File["${download_dir}/${sanitised_title}_silent.rsp"],
Orawls::Utils::Orainst["create oraInst for ${name}"],
Exec["extract ${fmw_file1} for ${name}"],],
}
} else {
if !defined(File[$oracleHome]) {
file { $oracleHome:
ensure => 'directory',
owner => $os_user,
group => $os_group,
before => Exec["install ${sanitised_title}"],
}
}
exec { "install ${sanitised_title}":
command => "/bin/sh -c 'unset DISPLAY;${download_dir}/${sanitised_title}/Disk1/install/${installDir}/runInstaller ${command} -invPtrLoc ${oraInstPath}/oraInst.loc -ignoreSysPrereqs -jreLoc ${jdk_home_dir} -Djava.io.tmpdir=${temp_directory}'",
environment => "TEMP=${temp_directory}",
timeout => 0,
creates => "${oracleHome}/OPatch",
cwd => $temp_directory,
path => $exec_path,
user => $os_user,
group => $os_group,
logoutput => $log_output,
require => [File["${download_dir}/${sanitised_title}_silent.rsp"],
Orawls::Utils::Orainst["create oraInst for ${name}"],
Exec["extract ${fmw_file1} for ${name}"],],
}
## fix EditHttpConf in OHS Webgate
if ( $version == 1112 and $fmw_product == 'webgate' ) {
exec { "install ${sanitised_title} EditHttpConf1":
command => "unzip -o -j '${download_dir}/${sanitised_title}/Disk1/stage/Components/oracle.as.oam.webgate.ohs_linux64/11.1.2.2.0/1/DataFiles/filegroup1.jar' 'webgate/ohs/lib/libxmlengine.so' -d '${oracleHome}/webgate/ohs/lib/'",
timeout => 0,
path => $exec_path,
user => $os_user,
group => $os_group,
logoutput => $log_output,
cwd => $temp_directory,
require => Exec["install ${sanitised_title}"],
}
exec { "install ${sanitised_title} EditHttpConf2":
command => "unzip -o -j '${download_dir}/${sanitised_title}/Disk1/stage/Components/oracle.as.oam.webgate.ohs_linux64/11.1.2.2.0/1/DataFiles/filegroup1.jar' 'webgate/ohs/lib/webgate.so' -d '${oracleHome}/webgate/ohs/lib/'",
timeout => 0,
path => $exec_path,
user => $os_user,
group => $os_group,
logoutput => $log_output,
cwd => $temp_directory,
require => Exec["install ${sanitised_title}"],
}
exec { "install ${sanitised_title} EditHttpConf3":
command => "unzip -o -j '${download_dir}/${sanitised_title}/Disk1/stage/Components/oracle.as.oam.webgate.ohs_linux64/11.1.2.2.0/1/DataFiles/filegroup1.jar' 'webgate/ohs/tools/setup/InstallTools/EditHttpConf' -d '${oracleHome}/webgate/ohs/tools/setup/InstallTools/'",
timeout => 0,
path => $exec_path,
user => $os_user,
group => $os_group,
logoutput => $log_output,
cwd => $temp_directory,
require => Exec["install ${sanitised_title}"],
}
file { "${oracleHome}/webgate/ohs/tools/setup/InstallTools/EditHttpConf":
ensure => file,
mode => '0775',
owner => $os_user,
group => $os_group,
backup => false,
require => Exec["install ${sanitised_title} EditHttpConf3"],
}
}
}
}
}