structure.pp 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. # == define: oradb::utils::structure
  2. #
  3. # create directories for the download folder and oracle base home
  4. #
  5. #
  6. ##
  7. define oradb::utils::structure (
  8. $oracle_base_home_dir = undef,
  9. $ora_inventory_dir = undef,
  10. $os_user = undef,
  11. $os_group = undef,
  12. $os_group_install = undef,
  13. $os_group_oper = undef,
  14. $download_dir = undef,
  15. $log_output = false,
  16. $user_base_dir = undef,
  17. $create_user = true, ) {
  18. $exec_path = "/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:"
  19. Exec {
  20. logoutput => $log_output,
  21. }
  22. if ( $create_user ) {
  23. # Whether Puppet will manage the group or relying on external methods
  24. if ! defined(Group[$os_group]) {
  25. group { $os_group :
  26. ensure => present,
  27. before => User[$os_user],
  28. }
  29. }
  30. if ! defined(Group[$os_group_install]) {
  31. group { $os_group_install :
  32. ensure => present,
  33. before => User[$os_user],
  34. }
  35. }
  36. if ( $os_group_oper != undef ){
  37. if ! defined(Group[$os_group_oper]) {
  38. group { $os_group_oper :
  39. ensure => present,
  40. before => User[$os_user],
  41. }
  42. }
  43. $all_groups = [$os_group,$os_group_install,$os_group_oper ]
  44. } else {
  45. $all_groups = [$os_group,$os_group_install]
  46. }
  47. # Whether Puppet will manage the user or relying on external methods
  48. if ! defined(User[$os_user]) {
  49. # http://raftaman.net/?p=1311 for generating password
  50. user { $os_user :
  51. ensure => present,
  52. gid => $os_group_install,
  53. groups => $all_groups,
  54. shell => '/bin/bash',
  55. password => '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',
  56. home => "${user_base_dir}/${os_user}",
  57. comment => "This user ${os_user} was created by Puppet",
  58. managehome => true,
  59. }
  60. }
  61. }
  62. # create all folders
  63. if !defined(Exec["create ${oracle_base_home_dir} directory"]) {
  64. exec { "create ${oracle_base_home_dir} directory":
  65. command => "mkdir -p ${oracle_base_home_dir}",
  66. unless => "test -d ${oracle_base_home_dir}",
  67. user => 'root',
  68. path => $exec_path,
  69. }
  70. }
  71. if !defined(Exec["create ${download_dir} home directory"]) {
  72. exec { "create ${download_dir} home directory":
  73. command => "mkdir -p ${download_dir}",
  74. unless => "test -d ${download_dir}",
  75. user => 'root',
  76. path => $exec_path,
  77. }
  78. }
  79. if ( $create_user == true ) {
  80. # also set permissions on downloadDir
  81. if !defined(File[$download_dir]) {
  82. # check oracle install folder
  83. file { $download_dir:
  84. ensure => directory,
  85. recurse => false,
  86. replace => false,
  87. mode => '0775',
  88. owner => $os_user,
  89. group => $os_group_install,
  90. require => [Exec["create ${download_dir} home directory"],
  91. User[$os_user],
  92. ],
  93. }
  94. }
  95. # also set permissions on oracleHome
  96. if !defined(File[$oracle_base_home_dir]) {
  97. file { $oracle_base_home_dir:
  98. ensure => directory,
  99. recurse => false,
  100. replace => false,
  101. mode => '0775',
  102. owner => $os_user,
  103. group => $os_group_install,
  104. require => [Exec["create ${oracle_base_home_dir} directory"],
  105. User[$os_user],
  106. ],
  107. }
  108. }
  109. # also set permissions on oraInventory
  110. if !defined(File[$ora_inventory_dir]) {
  111. file { $ora_inventory_dir:
  112. ensure => directory,
  113. recurse => false,
  114. replace => false,
  115. mode => '0775',
  116. owner => $os_user,
  117. group => $os_group_install,
  118. require => [Exec["create ${oracle_base_home_dir} directory"],
  119. File[$oracle_base_home_dir],
  120. User[$os_user],
  121. ],
  122. }
  123. }
  124. } else {
  125. # also set permissions on downloadDir
  126. if !defined(File[$download_dir]) {
  127. # check oracle install folder
  128. file { $download_dir:
  129. ensure => directory,
  130. recurse => false,
  131. replace => false,
  132. mode => '0775',
  133. owner => $os_user,
  134. group => $os_group_install,
  135. require => [Exec["create ${download_dir} home directory"],
  136. ],
  137. }
  138. }
  139. # also set permissions on oracleHome
  140. if !defined(File[$oracle_base_home_dir]) {
  141. file { $oracle_base_home_dir:
  142. ensure => directory,
  143. recurse => false,
  144. replace => false,
  145. mode => '0775',
  146. owner => $os_user,
  147. group => $os_group_install,
  148. require => Exec["create ${oracle_base_home_dir} directory"],
  149. }
  150. }
  151. # also set permissions on oraInventory
  152. if !defined(File[$ora_inventory_dir]) {
  153. file { $ora_inventory_dir:
  154. ensure => directory,
  155. recurse => false,
  156. replace => false,
  157. mode => '0775',
  158. owner => $os_user,
  159. group => $os_group_install,
  160. require => [Exec["create ${oracle_base_home_dir} directory"],
  161. File[$oracle_base_home_dir],
  162. ],
  163. }
  164. }
  165. }
  166. }