soa_suite.pp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #
  2. # fmw_opatch::soa_suite
  3. #
  4. # Copyright 2015 Oracle. All Rights Reserved
  5. #
  6. class fmw_opatch::soa_suite(
  7. $patch_id = undef,
  8. $source_file = undef,
  9. )
  10. {
  11. require fmw_opatch
  12. if ( $patch_id == undef or is_integer($patch_id) == false ) {
  13. fail('patch_id parameter cannot be empty and should be a number')
  14. }
  15. if ( $source_file == undef or is_string($source_file) == false ) {
  16. fail('source_file parameter cannot be empty')
  17. }
  18. require fmw_inst::soa_suite
  19. if $fmw_opatch::version in ['12.2.1', '12.2.1.1', '12.2.1.2', '12.1.3'] {
  20. $fmw_oracle_home = $fmw_opatch::middleware_home_dir
  21. $oracle_common_home_dir = $fmw_opatch::middleware_home_dir
  22. } elsif $fmw_opatch::version == '10.3.6' {
  23. if $::kernel in ['windows'] {
  24. $fmw_oracle_home = "${fmw_opatch::middleware_home_dir}\\Oracle_SOA1"
  25. $oracle_common_home_dir = "${fmw_opatch::middleware_home_dir}\\oracle_common"
  26. } else {
  27. $fmw_oracle_home = "${fmw_opatch::middleware_home_dir}/Oracle_SOA1"
  28. }
  29. }
  30. if $::kernel in ['Linux', 'SunOS'] {
  31. fmw_opatch::internal::fmw_extract{$patch_id:
  32. source_file => $source_file,
  33. os_user => $fmw_opatch::os_user,
  34. os_group => $fmw_opatch::os_group,
  35. tmp_dir => $fmw_opatch::tmp_dir,
  36. }
  37. fmw_opatch_patch{ $patch_id:
  38. ensure => 'present',
  39. java_home_dir => $fmw_opatch::java_home_dir,
  40. oracle_home_dir => $fmw_oracle_home,
  41. tmp_dir => $fmw_opatch::tmp_dir,
  42. orainst_dir => $fmw_opatch::orainst_dir,
  43. os_user => $fmw_opatch::os_user,
  44. require => Fmw_opatch::Internal::Fmw_extract[$patch_id],
  45. }
  46. } elsif $::kernel in ['windows'] {
  47. fmw_opatch::internal::fmw_extract_windows{$patch_id:
  48. version => $fmw_opatch::version,
  49. middleware_home_dir => $fmw_opatch::middleware_home_dir,
  50. source_file => $source_file,
  51. tmp_dir => $fmw_opatch::tmp_dir,
  52. }
  53. fmw_opatch_patch{ $patch_id:
  54. ensure => 'present',
  55. java_home_dir => $fmw_opatch::java_home_dir,
  56. oracle_common_home_dir => $oracle_common_home_dir,
  57. oracle_home_dir => $fmw_oracle_home,
  58. tmp_dir => $fmw_opatch::tmp_dir,
  59. require => Fmw_opatch::Internal::Fmw_extract_windows[$patch_id],
  60. }
  61. }
  62. }