From 39758c6344d2e0a70871f5e47f8c124cb49849b8 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 19 Jan 2010 12:09:01 -0200 Subject: Setting root password --- manifests/init.pp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index 58adab1..d498152 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,5 +1,6 @@ # Using recipe from # from http://reductivelabs.com/trac/puppet/wiki/Recipes/MySQLStoredConfiguration +# and snippets from git://git.puppet.immerda.ch/module-mysql.git class mysql { package { "mysql-client": @@ -18,4 +19,36 @@ class mysql::server inherits mysql { hasstatus => true, require => Package["mysql-server"], } + + case $mysql_rootpw { + '': { fail("You need to define a mysql root password! Please set \$mysql_rootpw in your site.pp or host config") } + } + + file{ '/usr/local/sbin/setmysqlpass.sh': + source => "puppet://$server/modules/mysql/setmysqlpass.sh", + require => Package[mysql-server], + owner => root, group => 0, mode => 0500; + } + + exec{'set_mysql_rootpw': + command => "/usr/local/sbin/setmysqlpass.sh", + unless => "mysqladmin -uroot status > /dev/null", + require => [ File['/usr/local/sbin/setmysqlpass.sh'], Package[mysql-server] ], + } + + mysql::cnf { "root": + home => "/root", + passwd => $mysql_rootpw, + } + + define mysql::cnf($home, $passwd) { + $mysql_passwd = $passwd + file { "$home/.my.cnf": + content => template('mysql/my.cnf.erb'), + require => [ Package[mysql-server] ], + owner => root, + group => 0, + mode => 0400, + } + } } -- cgit v1.2.3