From 86ef2c3dd27e2c05dd66ead59aaea49a5c01d258 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 20 May 2013 14:32:43 +0200 Subject: use the defaults file if available --- lib/puppet/provider/mysql_database/mysql.rb | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'lib/puppet/provider/mysql_database/mysql.rb') diff --git a/lib/puppet/provider/mysql_database/mysql.rb b/lib/puppet/provider/mysql_database/mysql.rb index 18b0a5a..dc1730d 100644 --- a/lib/puppet/provider/mysql_database/mysql.rb +++ b/lib/puppet/provider/mysql_database/mysql.rb @@ -7,11 +7,23 @@ Puppet::Type.type(:mysql_database).provide(:mysql, commands :mysqladmin => '/usr/bin/mysqladmin' commands :mysql => '/usr/bin/mysql' + def self.defaults_file + if File.file?("#{Facter.value(:root_home)}/.my.cnf") + "--defaults-file=#{Facter.value(:root_home)}/.my.cnf" + else + nil + end + end + + def defaults_file + self.class.defaults_file + end + # retrieve the current set of mysql users def self.instances dbs = [] - cmd = "#{command(:mysql)} mysql -NBe 'show databases'" + cmd = "#{command(:mysql)} mysql #{defaults_file} -NBe 'show databases'" execpipe(cmd) do |process| process.each do |line| dbs << new( { :ensure => :present, :name => line.chomp } ) @@ -26,7 +38,7 @@ Puppet::Type.type(:mysql_database).provide(:mysql, :ensure => :absent } - cmd = "#{command(:mysql)} mysql -NBe 'show databases'" + cmd = "#{command(:mysql)} #{defaults_file} mysql -NBe 'show databases'" execpipe(cmd) do |process| process.each do |line| if line.chomp.eql?(@resource[:name]) @@ -38,14 +50,14 @@ Puppet::Type.type(:mysql_database).provide(:mysql, end def create - mysqladmin "create", @resource[:name] + mysqladmin(defaults_file, "create", @resource[:name]) end def destroy - mysqladmin "-f", "drop", @resource[:name] + mysqladmin(defaults_file, "-f", "drop", @resource[:name]) end def exists? - if mysql("mysql", "-NBe", "show databases").match(/^#{@resource[:name]}$/) + if mysql(defaults_file, "mysql" ,"-NBe", "show databases").match(/^#{@resource[:name]}$/) true else false -- cgit v1.2.3