On Thursday, March 27, 2014 9:31:40 PM UTC-5, Adam Clark wrote:
>
> Hi all,
>   I am writing a module to manage MySQL/MariaDB with Galera extensions and 
> have run into a problem I don't seem to be able to figure out.
>
> Error: Could not apply complete catalog: Found 1 dependency cycle:
> (File[/etc/mysql/conf.d/wsrep.cnf] => Service[mysqld] => 
> Class[Mysql::Server] => Class[Mysql::Config] => File[/etc/mysql/conf.d] => 
> File[/etc/mysql/conf.d/wsrep.cnf])
> Cycle graph written to /var/lib/puppet/state/graphs/cycles.dot.
>
> A cut down version of my puppet file is:
> class galera::server (
>  #<snip>
> ) inherits mysql {
>
>   #<snip>
>
>   class { 'mysql::server':
>     config_hash  => $config_hash,
>     package_name => $server_package_name,
>     service_name => $service_name,
>   }
>
>   #<snip>
>
>   file { '/etc/mysql/conf.d/wsrep.cnf' :
>     ensure  => present,
>     mode    => '0644',
>     owner   => 'root',
>     group   => $root_group,
>     content => template('galera/wsrep.cnf.erb'),
>     #require => File['/etc/mysql/conf.d/'],
>     notify  => Service['mysqld']
>   }
> }
>
> I am using the current puppetlabs-mysql (v0.9.0) from puppet forge.
> https://github.com/puppetlabs/puppetlabs-mysql/tree/master/manifests
>
> I need the file to go in after the /etc/mysql/conf.d/ resource is 
> complete, but before the service is started. 
>
> The /etc/mysql/conf.d/ resource is listed in mysql::config as:
> class mysql::config(
>   # <snip>
>   $purge_conf_dir                   = $mysql::purge_conf_dir,
> ) inherits mysql {
>   
>
>   file { '/etc/mysql/conf.d':
>     ensure  => directory,
>     mode    => '0755',
>     recurse => $purge_conf_dir,
>     purge   => $purge_conf_dir,
>   }
> }
>
> class mysql(
>   #<snip>
>   $purge_conf_dir        = $mysql::params::purge_conf_dir,
>   #<snip>
> ) {
>   #<snip>
> }
>
> class mysql::params {
>  # <snip>
>   $purge_conf_dir      = false 
>  #<snip>
> }
>
> Does it have something to do with the recurse/purge metaparameters?  The 
> defaults seem to be set as false.
>
> Full puppet file attached and dot file from --graph.
>
> Any light into this would be great.
>


The mysql module you are trying to use appears to be broken, even before 
considering relationships with external resources.  Notice how it orders 
Service['mysqld'] *before* File['/etc/mysql/conf.d'] -- that's not your 
doing, but it's probably wrong, and it's definitely causing your problem.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/8a74b6b4-0c3b-434e-bc04-c6ad92bc493d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to