Advertisement
Guest User

app.pp

a guest
Apr 29th, 2015
726
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. class test::application(
  2. $java_version = 7,
  3. $manage_mysql_binding = true,
  4. ) {
  5.  
  6. # manage the used Java version
  7. if ( $java_version == 6 ) {
  8.  
  9. package { "openjdk-7-jdk" :
  10. ensure => absent,
  11. }
  12. package { "openjdk-6-jre-lib" :
  13. ensure => present,
  14. }
  15.  
  16. } elsif ( $java_version == 7 ) {
  17.  
  18. package { "openjdk-7-jdk" :
  19. ensure => present,
  20. }
  21. package { "openjdk-6-jre-lib" :
  22. ensure => absent,
  23. }
  24.  
  25. } else {
  26. err("Java version $java_version is not supported")
  27. }
  28.  
  29. # manage Tomcat
  30. package { "tomcat7" :
  31. ensure => installed,
  32. }
  33.  
  34. service { "tomcat7" :
  35. ensure => running,
  36. require => Package["tomcat7"],
  37. }
  38.  
  39. if ( $manage_mysql_binding ) {
  40.  
  41. class { "mysql::bindings" :
  42. java_enable => true,
  43. }
  44.  
  45. file { "/usr/share/tomcat7/lib/mysql-connector-java.jar" :
  46. ensure => link,
  47. target => "/usr/share/java/mysql-connector-java.jar",
  48. require => [ Package["tomcat7"], Class["mysql::bindings"] ],
  49. }
  50.  
  51. }
  52.  
  53. }
  54.  
  55. class test::database(
  56. $username = undef,
  57. $password = undef,
  58. $db_name = 'test',
  59. ) {
  60.  
  61. $users = {
  62. "${username}@localhost" => {
  63. ensure => present,
  64. password_hash => mysql_password($password),
  65. },
  66. "${username}@%" => {
  67. ensure => present,
  68. password_hash => mysql_password($password),
  69. }
  70. }
  71.  
  72. $databases = {
  73. "$db_name" => {
  74. ensure => 'present',
  75. charset => 'utf8',
  76. }
  77. }
  78.  
  79. $grants = {
  80. "${username}@localhost/${db_name}.*" => {
  81. ensure => 'present',
  82. options => ['GRANT'],
  83. privileges => ['ALL'],
  84. table => "${db_name}.*",
  85. user => "${username}@localhost",
  86. },
  87. '${username}@%/${db_name}.*' => {
  88. ensure => 'present',
  89. options => ['GRANT'],
  90. privileges => ['ALL'],
  91. table => "${db_name}.*",
  92. user => "${username}@%",
  93. }
  94. }
  95.  
  96. class { "mysql::server" :
  97. users => $users,
  98. databases => $databases,
  99. grants => $grants,
  100. override_options => {
  101. 'mysqld' => {
  102. 'bind-address' => '0.0.0.0',
  103. }
  104. }
  105. }
  106.  
  107. }
  108.  
  109. class { 'test::database' :
  110. username => 'test-admin',
  111. password => 'test',
  112. db_name => 'test',
  113. }
  114.  
  115. class { 'test::application' :
  116. java_version => 7,
  117. manage_mysql_binding => true,
  118. }
  119.  
  120. Class['test::database'] -> Class['test::application']
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement