nodemanager.pp 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #
  2. # fmw_domain::nodemanager
  3. #
  4. # Copyright 2015 Oracle. All Rights Reserved
  5. #
  6. class fmw_domain::nodemanager()
  7. {
  8. require fmw_domain::domain
  9. if $fmw_domain::version == '10.3.6' {
  10. $nodemanager_home_dir = "${fmw_domain::weblogic_home_dir}/common/nodemanager"
  11. $bin_dir = "${fmw_domain::weblogic_home_dir}/server/bin"
  12. $nodemanager_template = 'nodemanager.properties_11g'
  13. $nodemanager_check = $fmw_domain::weblogic_home_dir
  14. $script_name = 'nodemanager_11g'
  15. } else {
  16. $nodemanager_home_dir = "${fmw_domain::domains_dir}/${fmw_domain::domain_name}/nodemanager"
  17. $bin_dir = "${fmw_domain::domains_dir}/${fmw_domain::domain_name}/bin"
  18. $nodemanager_template = 'nodemanager.properties_12c'
  19. $nodemanager_check = "${fmw_domain::domains_dir}/${fmw_domain::domain_name}"
  20. $script_name = "nodemanager_${fmw_domain::domain_name}"
  21. }
  22. $nodemanager_log_file = "${nodemanager_home_dir}/nodemanager.log"
  23. $nodemanager_lock_file = "${nodemanager_home_dir}/nodemanager.log.lck"
  24. $nodemanager_secure_listener = true
  25. $nodemanager_address = $fmw_domain::nodemanager_listen_address
  26. $nodemanager_port = $fmw_domain::nodemanager_port
  27. $platform_family = $::osfamily
  28. $version = $fmw_domain::version
  29. if $::kernel in ['Linux', 'SunOS'] {
  30. $weblogic_home_dir = $fmw_domain::weblogic_home_dir
  31. $java_home_dir = $fmw_domain::java_home_dir
  32. $nodemanager_log_dir = $nodemanager_log_file
  33. $domain_dir = "${fmw_domain::domains_dir}/${fmw_domain::domain_name}"
  34. file { "${nodemanager_home_dir}/nodemanager.properties":
  35. ensure => present,
  36. content => template("fmw_domain/nodemanager/${nodemanager_template}"),
  37. mode => '0755',
  38. owner => $fmw_domain::os_user,
  39. group => $fmw_domain::os_group,
  40. }
  41. } elsif $::kernel in ['windows'] {
  42. $weblogic_home_dir = fmw_domain_replace_slash($fmw_domain::weblogic_home_dir)
  43. $java_home_dir = fmw_domain_replace_slash($fmw_domain::java_home_dir)
  44. $nodemanager_log_dir = fmw_domain_replace_slash($nodemanager_log_file)
  45. $domain_dir = fmw_domain_replace_slash("${fmw_domain::domains_dir}/${fmw_domain::domain_name}")
  46. file { "${nodemanager_home_dir}/nodemanager.properties":
  47. ensure => present,
  48. content => template("fmw_domain/nodemanager/${nodemanager_template}"),
  49. source_permissions => ignore,
  50. }
  51. }
  52. if $::kernel in ['Linux'] {
  53. $netstat_cmd = 'netstat -an | grep LISTEN'
  54. $netstat_column = 3
  55. if ( $::osfamily == 'RedHat' and $::operatingsystemmajrelease == '7' ) {
  56. $location = "${fmw_domain::user_home_dir}/${fmw_domain::os_user}/${script_name}"
  57. } else {
  58. $location = "/etc/init.d/${script_name}"
  59. }
  60. $nodemanager_bin_path = $bin_dir
  61. $os_user = $fmw_domain::os_user
  62. # add linux script to the right location
  63. file { $location:
  64. ensure => present,
  65. content => regsubst(template('fmw_domain/nodemanager/nodemanager'), '\r\n', "\n", 'EMG'),
  66. mode => '0755',
  67. }
  68. if $::osfamily == 'Debian' {
  69. class{'fmw_domain::internal::nodemanager_service_debian':
  70. script_name => $script_name,
  71. before => Fmw_domain_nodemanager_status[$script_name],
  72. require => File["${nodemanager_home_dir}/nodemanager.properties",$location],
  73. }
  74. contain fmw_domain::internal::nodemanager_service_debian
  75. } elsif $::osfamily == 'RedHat' {
  76. if $::operatingsystemmajrelease == '7' {
  77. class{'fmw_domain::internal::nodemanager_service_redhat_7':
  78. script_name => $script_name,
  79. before => Fmw_domain_nodemanager_status[$script_name],
  80. require => File["${nodemanager_home_dir}/nodemanager.properties",$location],
  81. }
  82. contain fmw_domain::internal::nodemanager_service_redhat_7
  83. }
  84. else {
  85. class{'fmw_domain::internal::nodemanager_service_redhat':
  86. script_name => $script_name,
  87. before => Fmw_domain_nodemanager_status[$script_name],
  88. require => File["${nodemanager_home_dir}/nodemanager.properties",$location],
  89. }
  90. contain fmw_domain::internal::nodemanager_service_redhat
  91. }
  92. }
  93. } elsif $::kernel in ['SunOS'] {
  94. $netstat_cmd = 'netstat -an | grep LISTEN'
  95. $netstat_column = 0
  96. class{'fmw_domain::internal::nodemanager_service_solaris':
  97. script_name => $script_name,
  98. nodemanager_bin_path => $bin_dir,
  99. before => Fmw_domain_nodemanager_status[$script_name],
  100. require => File["${nodemanager_home_dir}/nodemanager.properties"],
  101. }
  102. contain fmw_domain::internal::nodemanager_service_solaris
  103. } elsif $::kernel in ['windows'] {
  104. $netstat_cmd = "C:\\Windows\\System32\\cmd.exe /c \"netstat -an |find /i \"listening\"\""
  105. $netstat_column = 1
  106. class{'fmw_domain::internal::nodemanager_service_windows':
  107. bin_dir => $bin_dir,
  108. before => Fmw_domain_nodemanager_status[$script_name],
  109. require => File["${nodemanager_home_dir}/nodemanager.properties"],
  110. }
  111. contain fmw_domain::internal::nodemanager_service_windows
  112. }
  113. fmw_domain_nodemanager_status{$script_name:
  114. ensure => 'running',
  115. command => $netstat_cmd,
  116. column => $netstat_column,
  117. nodemanager_port => $fmw_domain::nodemanager_port,
  118. }
  119. }