domain.pp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #
  2. # fmw_domain::domain
  3. #
  4. # Copyright 2015 Oracle. All Rights Reserved
  5. #
  6. class fmw_domain::domain(
  7. $nodemanagers = [],
  8. $servers = [],
  9. $clusters = [],
  10. )
  11. {
  12. require fmw_domain
  13. if ( $fmw_domain::weblogic_home_dir == undef or is_string($fmw_domain::weblogic_home_dir) == false ) {
  14. fail('weblogic_home_dir parameter cannot be empty')
  15. }
  16. require fmw_wls::install
  17. if $fmw_domain::version in ['12.2.1', '12.2.1.1', '12.2.1.2', '12.1.3'] {
  18. $wls_base_template = "${fmw_domain::weblogic_home_dir}/common/templates/wls/wls.jar"
  19. } elsif $fmw_domain::version == '10.3.6' {
  20. $wls_base_template = "${fmw_domain::weblogic_home_dir}/common/templates/domains/wls.jar"
  21. }
  22. $domain_dir = "${fmw_domain::domains_dir}/${fmw_domain::domain_name}"
  23. if $::kernel in ['Linux', 'SunOS'] {
  24. file { "${fmw_domain::tmp_dir}/common.py":
  25. ensure => present,
  26. source => 'puppet:///modules/fmw_domain/domain/common.py',
  27. mode => '0755',
  28. owner => $fmw_domain::os_user,
  29. group => $fmw_domain::os_group,
  30. }
  31. file { "${fmw_domain::tmp_dir}/domain.py":
  32. ensure => present,
  33. content => template('fmw_domain/domain/domain.py'),
  34. mode => '0755',
  35. owner => $fmw_domain::os_user,
  36. group => $fmw_domain::os_group,
  37. }
  38. $domain_parent_dir = fmw_domain_parent_folder($fmw_domain::domains_dir)
  39. # make sure the middleware parent directory exists
  40. file { $domain_parent_dir:
  41. ensure => directory,
  42. mode => '0775',
  43. owner => $fmw_domain::os_user,
  44. group => $fmw_domain::os_group,
  45. }
  46. file { $fmw_domain::domains_dir:
  47. ensure => directory,
  48. mode => '0775',
  49. owner => $fmw_domain::os_user,
  50. group => $fmw_domain::os_group,
  51. require => File[$domain_parent_dir],
  52. }
  53. # create domain
  54. fmw_domain_wlst{'WLST create domain':
  55. ensure => 'present',
  56. version => $fmw_domain::version,
  57. script_file => "${fmw_domain::tmp_dir}/domain.py",
  58. middleware_home_dir => $fmw_domain::middleware_home_dir,
  59. weblogic_home_dir => $fmw_domain::weblogic_home_dir,
  60. java_home_dir => $fmw_domain::java_home_dir,
  61. tmp_dir => $fmw_domain::tmp_dir,
  62. domain_dir => $domain_dir,
  63. os_user => $fmw_domain::os_user,
  64. weblogic_password => $fmw_domain::weblogic_password,
  65. require => File[$fmw_domain::domains_dir,"${fmw_domain::tmp_dir}/domain.py","${fmw_domain::tmp_dir}/common.py"],
  66. }
  67. } elsif $::kernel in ['windows'] {
  68. file { "${fmw_domain::tmp_dir}/common.py":
  69. ensure => present,
  70. source => 'puppet:///modules/fmw_domain/domain/common.py',
  71. source_permissions => ignore,
  72. }
  73. file { "${fmw_domain::tmp_dir}/domain.py":
  74. ensure => present,
  75. content => template('fmw_domain/domain/domain.py'),
  76. source_permissions => ignore,
  77. }
  78. $domain_parent_dir = fmw_domain_parent_folder($fmw_domain::domains_dir)
  79. # make sure the middleware parent directory exists
  80. file { $domain_parent_dir:
  81. ensure => directory,
  82. }
  83. file { $fmw_domain::domains_dir:
  84. ensure => directory,
  85. require => File[$domain_parent_dir],
  86. }
  87. # create domain
  88. fmw_domain_wlst{'WLST create domain':
  89. ensure => 'present',
  90. version => $fmw_domain::version,
  91. script_file => "${fmw_domain::tmp_dir}/domain.py",
  92. middleware_home_dir => $fmw_domain::middleware_home_dir,
  93. weblogic_home_dir => $fmw_domain::weblogic_home_dir,
  94. java_home_dir => $fmw_domain::java_home_dir,
  95. tmp_dir => $fmw_domain::tmp_dir,
  96. domain_dir => $domain_dir,
  97. weblogic_password => $fmw_domain::weblogic_password,
  98. require => File[$fmw_domain::domains_dir,"${fmw_domain::tmp_dir}/domain.py","${fmw_domain::tmp_dir}/common.py"],
  99. }
  100. }
  101. }