IIRC the mysql user gets created by the mysql rpm, so your file will have to
require Package['mysql-server']  and possibly mysql-client as well.

On Wed, Oct 12, 2011 at 3:09 PM, olympus stance <[email protected]>wrote:

> Hello Nathan,
>
> I tried that:
> here is mysql-server.pp
> -----------------------------------
>
> class mysql-server {
>
>   package { "mysql-server": ensure => installed }
>   package { "mysql-client": ensure => installed }
>   service { "mysql":
>              enable => true,
>
>              require => Package["mysql-server"],
>           }
>
>   file { "/etc/mysql":
>      ensure => directory,
>      mode => 0755,
>      owner => root,
>      group => root,
>   }
>
>   file { "/etc/mysql/my.cnf":
>     source => "puppet:///modules/mysql-server/my.cnf",
>     owner => "mysql", group => "mysql",
>     mode  => 644,
>     notify => Service["mysql"],
>     require => File["/etc/mysql"]
>   }
>
>
>   exec { "set-mysql-password":
>     path => ["/bin", "/usr/bin"],
>     command => "mysqladmin -uroot password secret",
>   }
>
>
>   exec { "set-nagios-password":
>     path => ["/bin", "/usr/bin"],
>     command => "/usr/bin/mysql -u root  -e \"CREATE USER 'nagios'@'%'
> IDENTIFIED BY 'secret';\"",
>   }
>
>
> }
> ------------------------------------
>
>
>
> Here is is the output on the client:
> -------------------------------------------
> root@pclient:~# puppetd --no-daemonize --verbose
> notice: Starting Puppet client version 2.7.5
> info: Caching catalog for pclient.local.net
> info: Applying configuration version '1318457031'
> notice: /Stage[main]/Mysql-server/File[/etc/mysql]/ensure: created
> err: /Stage[main]/Mysql-server/File[/etc/mysql/my.cnf]/ensure: change from
> absent to file failed: Could not set 'file on ensure: Could not find user
> mysql at /etc/puppet/modules/mysql-server/manifests/init.pp:23
> notice: /Stage[main]/Mysql-server/Package[mysql-client]/ensure: ensure
> changed 'purged' to 'present'
> notice: /Stage[main]/Mysql-server/Package[mysql-server]/ensure: ensure
> changed 'purged' to 'present'
> notice: /Stage[main]/Mysql-server/Exec[set-nagios-password]/returns:
> executed successfully
> info: FileBucket adding {md5}1090e28a70ebaae872c2ec78894f49eb
> info: /Stage[main]/Sudo/File[/etc/sudoers]: Filebucketed /etc/sudoers to
> main with sum 1090e28a70ebaae872c2ec78894f49eb
> notice: /Stage[main]/Sudo/File[/etc/sudoers]/content: content changed
> '{md5}1090e28a70ebaae872c2ec78894f49eb' to
> '{md5}36bd2385741a3f03c08b7b6729ae8df5'
> notice: /Stage[main]/Mysql-server/Exec[set-mysql-password]/returns:
> executed successfully
> notice: /Stage[main]/Mysql-server/Service[mysql]: Dependency
> File[/etc/mysql/my.cnf] has failures: true
> warning: /Stage[main]/Mysql-server/Service[mysql]: Skipping because of
> failed dependencies
> info: Creating state file /var/lib/puppet/state/state.yaml
> notice: Finished catalog run in 28.63 seconds
> ------------
>
>
> Note that mysql does run and i am able to log into it, but my.cnf does not
> get imported....
>
>
>
>
>
> On Wed, Oct 12, 2011 at 5:55 PM, Nathan Clemons <[email protected]>wrote:
>
>> Try:
>>
>>   file { "/etc/mysql":
>>      ensure => directory,
>>      mode => 0755,
>>      owner => root,
>>      group => root,
>>   }
>>
>>   file { "/etc/mysql/my.cnf":
>>     source => "puppet:///modules/mysql-server/my.cnf",
>>     owner => "mysql", group => "mysql",
>>     mode  => 644,
>>     notify => Service["mysql"],
>>     require => File["/etc/mysql"]
>>   }
>>
>> --
>> Nathan Clemons
>> http://www.livemocha.com
>> The worlds largest online language learning community
>>
>>
>>
>> On Wed, Oct 12, 2011 at 2:49 PM, olympus stance <[email protected]
>> > wrote:
>>
>>> Hi Jacob,
>>>
>>> My init.pp file is a symbolic link to the mysql-server.pp in the classes
>>> directory. It looks like this:
>>>
>>> -------
>>> class mysql-server {
>>>
>>>   package { "mysql-server": ensure => installed }
>>>   package { "mysql-client": ensure => installed }
>>>   service { "mysql":
>>>              enable => false,
>>>              require => Package["mysql-server"],
>>>
>>>           }
>>>
>>>   file { "/etc/mysql/my.cnf":
>>>     source => "puppet:///modules/mysql-server/my.cnf",
>>>     owner => "mysql", group => "mysql",
>>>     mode  => 644,
>>>     notify => Service["mysql"],
>>>   }
>>>
>>>
>>>
>>>   exec { "run-mysqld":
>>>     path => ["/bin", "/usr/sbin"],
>>>     command => "/usr/sbin/mysqld &",
>>>   }
>>>
>>>   exec { "set-mysql-password":
>>>     path => ["/bin", "/usr/bin"],
>>>     command => "mysqladmin -uroot password secret",
>>>   }
>>>
>>>
>>>   exec { "set-nagios-password":
>>>     path => ["/bin", "/usr/bin"],
>>>     command => "/usr/bin/mysql -u root  -e \"CREATE USER 'nagios'@'%'
>>> IDENTIFIED BY 'secret';\"",
>>>   }
>>>
>>>
>>> }
>>> ---------------------------
>>>
>>>
>>> It looks like it does indeed try to create the my.cnf file before mysql
>>> gets installed. How can i rectify that
>>>
>>> Thanks!!
>>>
>>>
>>> On Wed, Oct 12, 2011 at 5:37 PM, Jacob Helwig <[email protected]>wrote:
>>>
>>>> On Wed, 12 Oct 2011 14:33:47 -0700, John Bower wrote:
>>>> >
>>>> > Hello,
>>>> >
>>>> > I'm trying to share a file between the client and the server.
>>>> >
>>>> > On the server the file is located at:
>>>> /etc/puppet/modules/mysql-server/
>>>> > files/my.cnf
>>>> >
>>>> > the code that references to this file is as follows:
>>>> >
>>>> >   file { "/etc/mysql/my.cnf":
>>>> >     source => "puppet:///modules/mysql-server/my.cnf",
>>>> >     owner => "mysql", group => "mysql",
>>>> >     mode  => 644,
>>>> >     notify => Service["mysql"],
>>>> >   }
>>>> >
>>>> > Essentially, I want the client to store the my.cnf file to /etc/mysq/
>>>> > my.cnf
>>>> >
>>>> > However i keep getting this error:
>>>> > err: /Stage[main]/Mysql-server/File[/etc/mysql/my.cnf]/ensure: change
>>>> > from absent to file failed: Could not set 'file on ensure: No such
>>>> > file or directory - /etc/mysql/my.cnf.puppettmp_9888 at /etc/puppet/
>>>> > modules/mysql-server/manifests/init.pp:15
>>>> >
>>>> >
>>>> >
>>>> > i tried setting  source => "puppet:///modules/mysql-server/files/
>>>> > my.cnf",
>>>> >
>>>> >
>>>> > But that did not make a difference. Please help.
>>>> >
>>>>
>>>> Does /etc/mysql exist on the client machine?
>>>>
>>>> --
>>>> Jacob Helwig
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Puppet Users" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/puppet-users?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Users" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/puppet-users?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to