On 10/13/2013 1:47 AM, Harm De Weirdt wrote:
Hello everyone.

I've been toying around with puppet and something happened that seems
strange to me.
In site.pp I have the following:

        node default {

           # This is where you can declare classes for all nodes.

           # Example:

           #   class { 'my_class': }

           #  class { 'lamp': }

           package {'php':

               ensure   => present,

               before => File['/etc/php.ini'],

           }


           file {'/etc/php.ini':

               ensure => file,

           }


           package {'httpd':

             ensure => present,

           }


           service {'httpd':

               ensure          => running,

               enable        => true,

               require     => Package['httpd'],

               subscribe => File['/etc/php.ini'],

           }


           package {'mysql-server':

               ensure => 'present',

           }


           service {'mysqld':

               ensure      => running,

               enable    => true,

               require => Package['mysql-server'],

           }

        }


[I know about classes etc, this was just for easy testing. ]

Now, if I change the httpd resource to

    package {'httpd':

           ensure => absent,

       }

I get the following error:

        Error: Execution of '/bin/rpm -e httpd-2.2.3-82.el5.centos.i386'
        returned 1: error: Failed dependencies:

        httpd-mmn = 20051115 is needed by (installed)
        php-5.1.6-40.el5_9.i386


        Error: /Stage[main]//Node[default]/Package[httpd]/ensure: change
        from 2.2.3-82.el5.centos to absent failed: Execution of
        '/bin/rpm -e httpd-2.2.3-82.el5.centos.i386' returned 1: error:
        Failed dependencies:

        httpd-mmn = 20051115 is needed by (installed)
        php-5.1.6-40.el5_9.i386


        Notice: /Stage[main]//Node[default]/Service[httpd]: Dependency
        Package[httpd] has failures: true

        Warning: /Stage[main]//Node[default]/Service[httpd]: Skipping
        because of failed dependencies

        Notice: Finished catalog run in 15.00 seconds


This seems strange to me, because I never declared a require dependency
from php to httpd.
The only thing is that the httpd  service subscribes to the php.ini
file. I could understand this error if the direction of this dependency
was the other way around, but not this way.

It's important when troubleshooting Puppet to separate the Puppet error reported from the subsystem error that may have caused Puppet to report a failure. This seems to confuse more frequently that I would have thought.

In the case above the Puppet error is: "Error: /Stage[main]//Node[default]/Package[httpd]/ensure: change from 2.2.3-82.el5.centos to absent failed" and the error Puppet is passing on comes from rpm is "Failed dependencies: httpd-mmn = 20051115 is needed by (installed) php-5.1.6-40.el5_9.i386"

Ramin

--
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 puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to