Jake - USPS
2011-May-20 15:29 UTC
[Puppet Users] Defined resources not being applied, breaking dependencies
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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Nigel Kersten
2011-May-20 15:44 UTC
Re: [Puppet Users] Defined resources not being applied, breaking dependencies
On Fri, May 20, 2011 at 8:29 AM, Jake - USPS <jacob.m.mccann@usps.gov>wrote:> I''m running into an issue where I have a resource (package "ipwatchd") >I can''t see that actual package defined below, just usps-ipwatchd. Are you perhaps running into the issue where a specific require in a resource will override (rather than append) to the require set by a resource default as you have here with Package ?> 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+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- Nigel Kersten Product, Puppet Labs @nigelkersten -- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Jake - USPS
2011-May-20 16:01 UTC
[Puppet Users] Re: Defined resources not being applied, breaking dependencies
That was a typo on my part, usps-ipwatchd is where the issues stems from as the error shows. And as you stated, that is the only thing defined. Sorry for the confusion. As you can see also, I''m not specifying any requires when defining the usps-ipwatchd package. And as the error shows its getting the correct dependencies assigned to it. The issue is that the dependency it has is not ''defined'' in the catalog the host receives, even though from what I can tell above I have it defined properly and infact 2 similar exec resources seem to be included fine (I think). I''ve also checked all my other modules/manifests to make sure I didn''t have usps- ipwatchd somewhere else also and its not. So I''m not sure that is the issue. Thanks, Jake On May 20, 10:44 am, Nigel Kersten <ni...@puppetlabs.com> wrote:> On Fri, May 20, 2011 at 8:29 AM, Jake - USPS <jacob.m.mcc...@usps.gov>wrote: > > > I''m running into an issue where I have a resource (package "ipwatchd") > > I can''t see that actual package defined below, just usps-ipwatchd. > > Are you perhaps running into the issue where a specific require in a > resource will override (rather than append) to the require set by a resource > default as you have here with Package ? > > > > > > > > > > > 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+unsubscribe@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/puppet-users?hl=en. > > -- > Nigel Kersten > Product, Puppet Labs > @nigelkersten-- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Jake - USPS
2011-May-20 17:10 UTC
[Puppet Users] Re: Defined resources not being applied, breaking dependencies
Huge user error on my part. I have 2 environments, and this error was coming from the outdated one, while I was referencing the good one when troubleshooting. :-\ Thanks for taking a look! Regards, Jake On May 20, 11:01 am, Jake - USPS <jacob.m.mcc...@usps.gov> wrote:> That was a typo on my part, usps-ipwatchd is where the issues stems > from as the error shows. And as you stated, that is the only thing > defined. Sorry for the confusion. > > As you can see also, I''m not specifying any requires when defining the > usps-ipwatchd package. And as the error shows its getting the correct > dependencies assigned to it. The issue is that the dependency it has > is not ''defined'' in the catalog the host receives, even though from > what I can tell above I have it defined properly and infact 2 similar > exec resources seem to be included fine (I think). I''ve also checked > all my other modules/manifests to make sure I didn''t have usps- > ipwatchd somewhere else also and its not. So I''m not sure that is the > issue. > > Thanks, > Jake > > On May 20, 10:44 am, Nigel Kersten <ni...@puppetlabs.com> wrote: > > > > > > > > > On Fri, May 20, 2011 at 8:29 AM, Jake - USPS <jacob.m.mcc...@usps.gov>wrote: > > > > I''m running into an issue where I have a resource (package "ipwatchd") > > > I can''t see that actual package defined below, just usps-ipwatchd. > > > Are you perhaps running into the issue where a specific require in a > > resource will override (rather than append) to the require set by a resource > > default as you have here with Package ? > > > > 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+unsubscribe@googlegroups.com. > > > For more options, visit this group at > > >http://groups.google.com/group/puppet-users?hl=en. > > > -- > > Nigel Kersten > > Product, Puppet Labs > > @nigelkersten-- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.