Bug #706

Resource references from qualified definitions can fail confusingly.

Added by ghislain - almost 5 years ago. Updated almost 5 years ago.

Status:Closed Start date:
Priority:Normal Due date:
Assignee:Luke Kanies % Done:

0%

Category:-
Target version:0.23.1
Affected Puppet version:0.25.4 Branch:
Keywords:
Votes: 0

Description

this comes from the shorewall recipe:

http://reductivelabs.com/trac/puppet/wiki/AqueosShorewall

when you do:

> class shorewall {
>
>        # creation de la configuration a partir des fichiers  
> contenant les regles
>        define shorewall-realize {
>       exec { "shorewall-sort-$name":
>           refreshonly     =>      true,
>           command =>      "cat  /etc/shorewall/puppet/$name/* >| /etc/shorewall/$name",
>           notify          =>      Service['shorewall']
>       }
>        }
>
>        shorewall-realize  { ['rules','zones','interfaces','routestopped','policy','hosts','shorewall.conf']: }
>
> ............
>
> }
>

later doing a

>        define shorewall-routestopped($host='detect', $interface='eth0',$options=_){
>                file { "/etc/shorewall/puppet/routestopped/$name":
>                        content =>      "$interface     $host     $options\n",
>                        require =>      File['/etc/shorewall/puppet/ > routestopped'],
>                        owner   =>      root,
>                        mode    =>      600,
> line 208 =>                        notify          =>       Shorewall-realize['routestopped']
>                }
>        }

throw the error:

 notice: Starting configuration run
 err: Could not apply complete configuration: Could not retrieve  
 dependency 'Shorewall-realize[routestopped]' at /etc/puppet/ 
 manifests/classes/shorewall.pp:208
 info: Sent transaction report in 0.17 seconds
 notice: Finished configuration run in 0.76 seconds

on 0.22.4 it was working . All on freebsd 4.7, facter 1.3.7, puppet 0.23.0, ruby 1.8.6

regards, Ghislain.

History

Updated by Luke Kanies almost 5 years ago

  • Status changed from 1 to 2

Updated by Luke Kanies almost 5 years ago

  • Status changed from 2 to Closed
  • 7 set to fixed

The problem here is that the definition name is ‘shorewall::shorewall-realize’, not ‘shorewall-realize’.

Note that this is related to #468.

Fixed in r2660.

Also available in: Atom PDF