I'm running into an issue where I have a resource (package "ipwatchd")
dependent on another resource (exec "fix_sle_sdk_pool_repo"), but the
resource that its dependent on isn't being included into the catalog.
What's where is that the ipwatchd resource is actually dependent on 5
different exec 'repos' ("fix_sles_pool_repo", "fix_sles_update_repo",
"fix_sle_sdk_pool_repo", "fix_sle_sdk_update_repo",
"fix_sle_usps_addons_repo").  2 of them look to be in the catalog
("fix_sles_pool_repo", "fix_sles_update_repo"), the other 3 are not
("fix_sle_sdk_pool_repo", "fix_sle_sdk_update_repo",
"fix_sle_usps_addons_repo") ... I determined this (maybe incorrectly)
by looking at /var/lib/puppet/client_yaml/catalog/<fqdn>.yaml.  All of
the exec resources are all defined similarly though.  The error I get
is:

err: Could not run Puppet configuration client: Could not find
dependency Exec[fix_sle_sdk_pool_repo] for Package[usps-ipwatchd] at /
etc/puppet/modules/common/manifests/packages.pp:12

This seems to be working fine on 5 other SLES 11.1 systems though ...
and has worked fine in the past numerous times.

I'm using puppet 2.6.8 on the master and agents.  I've mainly been
using 2.6.7 in the past, just started using 2.6.8.  Not sure if that
has anything to do with this, but it is a recent change.

Not sure what else to provide  ... here is a copy of the class that
manages the resources in question.  I removed all the shell commands
in "command" and "onlyif" in the exec resources.  If they are needed
for some reason let me know as I'm not sure I should be providing
those types of details.

class common::packages {
 case $operatingsystem {
    SLES: {
      Package {
        provider => "zypper",
        require => Exec[ "fix_sles_pool_repo", "fix_sles_update_repo",
"fix_sle_sdk_pool_repo", "fix_sle_sdk_update_repo",
"fix_sle_usps_addons_repo" ]
      }

      package {
        [ "usps-ldap", "usps-eth", "usps-augeas", "usps-ipwatchd",
"USPSpassword", "usps-rpmtools" ]:
          ensure => "installed"
      }

      exec {
        "add_usps_repo_key":
          path => "/bin:/usr/bin",
          command => "",
          onlyif => "";
      }

      if $architecture == "x86_64" {
        if $virtual =~ /vmware/ {
          exec {
            "add_vmware_repo_key":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";
          }

          package {
            "vmware-tools":
              ensure => "installed",
              require => Exec[ "fix_sle_vmware_repo" ],
              notify => Service["network"];
          }
        }
      }

      case $operatingsystemrelease {
        "10.3": { # SLES 10.3
          exec {
            "fix_sles_pool_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sles_update_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sle_sdk_pool_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sle_sdk_update_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sle_usps_addons_repo":
              require => Exec[ "add_usps_repo_key" ],
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";
          }

          if $virtual =~ /vmware/ {
            exec {
              "fix_sle_vmware_repo":
                require => Exec[ "add_vmware_repo_key" ],
                path => "/bin:/usr/bin",
                command => "",
                onlyif => "";
            }
          }
        }

        "11.1": { # SLES 11.1
          exec {
            "fix_sles_pool_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sles_update_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sle_sdk_pool_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sle_sdk_update_repo":
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";

            "fix_sle_usps_addons_repo":
              require => Exec[ "add_usps_repo_key" ],
              path => "/bin:/usr/bin",
              command => "",
              onlyif => "";
          }

          if $virtual =~ /vmware/ {
            exec {
              "fix_sle_vmware_repo":
                require => Exec[ "add_vmware_repo_key" ],
                path => "/bin:/usr/bin",
                command => "",
                onlyif => "";
            }
          }
        }
      }
    }
  }
}

Thanks,
Jake

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@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.

Reply via email to