d2 {'test': }
-> 
d3 {'test': }

define d1 {
  exec { exec1: command => '/bin/echo exec1; exit 1' }
}

define d2 {
  d1 {$name: }
  ->
  exec { exec2: command => '/bin/echo exec2; exit 1' }
}

define d3 {
  exec { exec3: command => '/bin/echo exec3; exit 1' }
}


and this also works as expected, even if puppet --graph does not show it.

$ puppet apply --graph cc.pp 
Notice: Compiled catalog for mac4c.local in environment production in 0.08 
seconds 
Notice: /Stage[main]//D2[test]/D1[test]/Exec[exec1]/returns: exec1 
Error: /bin/echo exec1; exit 1 returned 1 instead of one of [0] 
Error: /Stage[main]//D2[test]/D1[test]/Exec[exec1]/returns: change from 
notrun to 0 failed: /bin/echo exec1; exit 1 returned 1 instead of one of 
[0] 
Notice: /Stage[main]//D2[test]/Exec[exec2]: Dependency Exec[exec1] has 
failures: true 
Warning: /Stage[main]//D2[test]/Exec[exec2]: Skipping because of failed 
dependencies 
Notice: /Stage[main]//D3[test]/Exec[exec3]: Dependency Exec[exec1] has 
failures: true 
Warning: /Stage[main]//D3[test]/Exec[exec3]: Skipping because of failed 
dependencies 
Notice: Finished catalog run in 0.14 seconds

$ open -a GraphViz /Users/david/.puppet/var/state/graphs/relationships.dot 

no relation between exec1, exec2 and/or exec3.


On Thursday, March 27, 2014 11:11:02 AM UTC+1, David Portabella wrote:
>
> I've open a bug ticket:
> puppet --graph misses some dependencies
> https://tickets.puppetlabs.com/browse/PUP-2075
>
>
> d1 {'test': }
> -> 
> d2 {'test': }
>
> define d1 {
>   exec { exec1: command => '/bin/echo exec1; exit 1' }
> }
>
> define d2 {
>   exec { exec2: command => '/bin/echo exec2; exit 1' }
> }
>
> ---
> $ puppet apply --graph test.pp 
>
> the graph does not show any dependency between exec1 and exec2.
>
> However the dependency does exists, as puppet does nor execute exec2 
> because of "failed dependencies":
>
> $ puppet apply --graph dd.pp 
> Notice: Compiled catalog for mac4c.local in environment production in 0.08 
> seconds
> Notice: /Stage[main]//D1[test]/Exec[exec1]/returns: exec1
> Error: /bin/echo exec1; exit 1 returned 1 instead of one of [0]
> Error: /Stage[main]//D1[test]/Exec[exec1]/returns: change from notrun to 0 
> failed: /bin/echo exec1; exit 1 returned 1 instead of one of [0]
> Notice: /Stage[main]//D2[test]/Exec[exec2]: Dependency Exec[exec1] has 
> failures: true
> Warning: /Stage[main]//D2[test]/Exec[exec2]: Skipping because of failed 
> dependencies
> Notice: Finished catalog run in 0.11 seconds
>
>
> So, it seems that there is a bug in puppet --graph.
>
>
>
> On Wednesday, March 19, 2014 9:51:08 PM UTC+1, jcbollinger wrote:
>>
>>
>>
>> On Wednesday, March 19, 2014 7:54:27 AM UTC-5, David Portabella wrote:
>>>
>>> I have this test.pp example on puppet 3.4.3 on OSX 10.9:
>>>
>>> c2 {'test': }
>>> -> 
>>> c3 {'test': }
>>>
>>> define c1 {
>>>   notice "+++"
>>>   file {'/tmp/c1.txt': ensure => present }
>>> }
>>>
>>> define c2 {
>>>   c1 {$name: }
>>>   notice "+++"
>>>   file {'/tmp/c2.txt': ensure => present }
>>> }
>>>
>>> define c3 {
>>>   notice "+++"
>>>   file {'/tmp/c3.txt': ensure => present }
>>> }
>>>
>>> running:
>>>
>>> $ puppet apply --graph test.pp 
>>>
>>> produces this graph 
>>> /Users/david/.puppet/var/state/graphs/relationships.dot,
>>>
>>> *which shows that /tmp/c3.txt does not require /tmp/c2.txt.*
>>>
>>> *why?*
>>>
>>
>>
>> I don't know, and your graph did not come across.  However, it may simply 
>> be a case of Puppet optimizing.  Two unrelated File resources cannot have a 
>> *bona 
>> fide* ordering relationship between them, because syncing one in no way 
>> affects syncing the other.
>>
>> Still, I find it surprising.  Is there at least a chain of relationships 
>> that will cause File['/tmp/c2.txt'] to be applied before 
>> File['/tmp/c3.txt']?  Are you sure the catalog you analyzed corresponds to 
>> the version of your manifest set that contains the chain operator you 
>> depict?
>>
>>
>> John
>>
>>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/732981db-939c-4efd-a6dd-e04c93894aba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to