-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsite.pp
48 lines (39 loc) · 1.19 KB
/
site.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
node 'agent' {
include custom_mysql
}
class custom_mysql {
$password="hungcao"
package { ["mysql","mysql-server", "wget"]:
ensure => latest
}
service { "mysqld":
ensure => running,
enable => true
}
exec { "check_mydb":
subscribe => [ Package["mysql-server"], Package["mysql"]],
command => "/usr/bin/mysql -umysql -p$password -e \"create database mydb\"",
unless => "/usr/bin/mysql -umysql -p$password -e \"use mydb;\"",
}
exec { "check_mytable":
subscribe => [ Package["mysql-server"], Package["mysql"]],
command => "/usr/bin/mysql -umysql -p$password -e \"CREATE TABLE mydb.users ( id INT, username VARCHAR(40), path VARCHAR(200) )\"",
unless => "/usr/bin/mysql -umysql -p$password -e \"select * from mydb.users;\"",
require => Exec ["check_mydb"],
}
file { "/tmp/puppet":
ensure => "directory",
}
file { "/etc/puppet/modules/sqlscript":
ensure => present,
mode => 660,
owner => puppet,
group => puppet,
subscribe => [ file["/tmp/puppet"]],
}
exec { "sqlscript":
command => "/bin/sh /etc/puppet/modules/sqlscript",
subscribe => [ file["/etc/puppet/modules/sqlscript"]],
require => Exec ["check_mytable","check_mydb"],
}
}