Hi, I'm having trouble writing a recipe to handle apache/passenger.
First, here is my apache2 class, found here : http://www.reductivelabs.com/trac/puppet/wiki/Recipes/DebianApache2Recipe --------------------------------------------- $apache2_sites = "/etc/apache2/sites" $apache2_mods = "/etc/apache2/mods" class apache2 { [...] define module ( $ensure = 'present' ) { case $ensure { 'present' : { exec { "/usr/sbin/a2enmod $name": unless => "/bin/readlink ${apache2_mods}-enabled/${name}.load", notify => Exec["force-reload-apache2"] } } 'absent': { exec { "/usr/sbin/a2dismod $name": onlyif => "/bin/readlink ${apache2_mods}-enabled/${name}.load", notify => Exec["force-reload-apache2"] } } default: { err ( "Unknown ensure value: '$ensure'" ) } } } [...] } --------------------------------------------- And then, my passenger class : --------------------------------------------- define passenger::install($version) { package { [ "build-essential", "apache2-prefork-dev", "libapr1-dev", "libaprutil1-dev" ]: ensure => installed } package { passenger: ensure => $version, provider => gem, require => [Class['gems'], Class['ruby'], Class['apache2']] } exec { passenger-install: command => "/usr/bin/yes \"\" | /usr/bin/passenger-install-apache2-module", creates => "/usr/lib/ruby/gems/1.8/gems/passenger-$version/ext/apache2/mod_passenger.so", require => Package['passenger'] } } define passenger::enable($version) { passenger::install { passenger: version => $version } file { passenger-load: path => "/etc/apache2/mods-available/passenger.load", content => "LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-$version/ext/apache2/mod_passenger.so\n", mode => 644, require => Exec['passenger-install'], } file { passenger-conf: path => "/etc/apache2/mods-available/passenger.conf", content => template("passenger/passenger.conf.erb"), mode => 644, require => Exec['passenger-install'], } apache2::module { passenger: ensure => present, require => [File['passenger-conf'], File['passenger-load']] } } --------------------------------------------- When my client node runs that, I get the following error : Could not apply complete catalog: Found dependency cycles in the following relationships: Exec[/usr/sbin/a2enmod passenger] => Exec[force-reload-apache2], Package[passenger] => Exec[passenger-install], Exec[passenger-install] => File[passenger-conf], File[passenger-conf] => Exec[/usr/sbin/a2enmod passenger], File[passenger-load] => Exec[/usr/sbin/a2enmod passenger], Exec[passenger-install] => File[passenger-load], Exec[force-reload-apache2] => Package[passenger] I'm sure I am missing something here, but it's been a few hours now. So, I'd be very grateful if someone could point me in the right direction... Thanks, -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.