Not sure what about my attitude you do not like.. /me scratches head.. 
But anyway.

 Everything you have posted is accurate and when I took a closer look at 
"graph" output I realized that something was trying to set the permissions 
on the log directory a second time.  After some searching I located the 
conficlited code, consolidated them into one file and everything works 
now..   I am off dealing with other problems from the upgrade now. :D

 Thanx for your time,

 J

On Monday, September 29, 2014 9:21:16 AM UTC-5, jcbollinger wrote:
>
>
>
> On Monday, September 29, 2014 5:28:18 AM UTC-5, omfg9899 wrote:
>>
>> Puppet Version : 2.7.25
>>
>>  So I don't get it at all..
>>
>> <snip>
>> err: Could not apply complete catalog: Found 1 dependency cycle:
>> (Exec[chown_logdir] => Class[Jetty] => User[evolve] => Exec[chown_logdir])
>> Cycle graph written to /var/lib/puppet/state/graphs/cycles.dot.
>> </snip>
>>
>> <Cycle graph>
>> digraph Resource_Cycles {
>>   label = "Resource Cycles"
>> "Exec[chown_logdir]" -> "Class[Jetty]" -> "File[/mnt/jetty-logs]" -> 
>> "File[/opt/jetty/current/logs]" -> "Class[Jetty]"
>> "Exec[chown_logdir]" -> "Class[Jetty]" -> "User[evolve]" -> 
>> "Exec[chown_logdir]"
>>
>> </Cycle graph>
>>
>>  I get past some other crazy ignorant issues only to be faced with one 
>> that I find even more miserable..
>>
>
>
> I'm sorry that you are having difficulties.  I am not impressed by your 
> attitude.
>
> Despite my better judgement, I am going to try to help you anyway.
>
>  
>
>>
>> "err: Could not apply complete catalog: Found 1 dependency cycle:"
>>
>>   I have tried to break this down to make sense, but I can't make heads 
>> or tails of it..  The worse part is that it worked fine with an earlier 
>> version of puppet.. 
>>
>
>
> Puppet chooses an acceptable order in which to apply resources with with 
> respect to the "relationships" between them, including those you declare 
> explicitly, and typically also some that Puppet identifies automatically.  
> (As an example of the latter, if you are managing both File['/foo'] and 
> File['/foo/bar'], then Puppet will automatically use File['/foo'] -> 
> File['/foo/bar'] unless you explicitly tell it otherwise.)  The explicit 
> relationships are specified in your manifests via the chain operators (e.g. 
> ->), via the 'require', 'before', 'subscribe', and 'notify' resource 
> metaparameters, and/or via the 'require' statement/function (in modern 
> Puppet there is also the 'contain' statement/function, but that does not 
> pertain to you).
>
> It is possible for you to declare two or more resources and a set of 
> relationships such that there is no order in which the resources can be 
> applied that complies with all the relationships among them.  This is 
> called a "dependency cycle" because if you follow the chain of dependencies 
> described by the relevant resource relationships then you eventually return 
> to the resource from which you started.  When Puppet encounters such a 
> situation it takes a conservative course and bails out.  That's as it 
> should be: it is far better to decline to configure the target machine than 
> to risk *mis*configuring it.
>
>  
>
>>
>>  There are a couple of pieces of declarations that I think have something 
>> to do with it..
>>
>> <code>
>>
>>   exec {'remove_original_logs_dir':
>> command => 'rm -rf /opt/jetty/current/logs',
>> path => '/bin/',
>> require => File["$jetty_home/current"],
>> before => File['/opt/jetty/current/logs'],
>> }  
>>
>>   file {'/opt/jetty/current/logs':
>> ensure => link,
>> target => '/mnt/jetty-logs',
>> require => File["$jetty_home/current"],
>> }
>>
>> </code>
>>
>
> The error message describing the cycle(s) tells you exactly which 
> resources are involved, and therefore which declarations to consider.  The 
> first of the declarations you presented is not among the resources involved 
> in either of the cycles you described.  The second is involved in one of 
> them.
>
>  
>
>>   If I remove the second of these two, where it creates the synlink, this 
>> error goes away.  I do however need that symlink to exist..
>>
>
> Yes, it is to be assumed that the resource is declared because you need to 
> have it.  The solution to a dependency cycle issue is not to remove 
> resources from the catalog; it is simply to change or remove the 
> relationships among them to eliminate the conflict.
>
> You can start by removing the 'require' parameter from 
> File['/opt/jetty/current/logs'].  If the value of $jetty_home happens to be 
> "/opt/jetty" and you are also managing File['/opt/jetty/current'] then 
> Puppet will create that relationship automatically; otherwise you don't 
> need it.  In all likelihood that will not solve this particular problem, 
> however, because I don't think the main issue is in that declaration.
>
> Let's start with the whole body of class "jetty", which I suppose probably 
> includes the two declarations you already presented, and likely others.  
> Also, if *any* of your manifests contains a reference to that class (i.e. 
> the form "Class['Jetty']") then the declarations containing those are also 
> relevant.
>
>
> 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/4c384086-87a6-4b21-a6fa-678f06f29d38%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to