>
> So it looks like we have a bug that I'm still trying to find in the
> database, and I think it might be affecting you.
>
> If you have a class that only declares other classes in it, and doesn't have
> any resources in it, then it gets removed from the dependency graph.
>


Hello Nigel,

To test whether this bug is the cause, I added a file resource to the
node class.   The updated node class is below.  Almost all of the
other classes contain a similar file resource that is used to generate
a dokuwiki-formatted page showing parameters and values.

I rebuilt 'node02' six times while developing the classes.  The node
class below remained unchanged.

The Class-DefinedType dependency below was not honored on two
rebuilds: Puppet attempted to install Package['java'] before the nfs
share containing the binary was mounted.

I noticed a second dependency failure within Class['role_frontend'].
It is a similar Class-DefinedType dependency, although reversed:

        class role_frontend (...) {
            ...
             Class['tomcat'] -> Tomcat::Instance <| |>
            ...
        }

I observed one deployment where Tomcat::Instance was applied before
Class['tomcat'].  Both the Tomcat::Instance defined type and
Class['tomcat'] have at least one managed resource,  the file resource
I use to create dokuwiki file fragments.

These dependency failures appear when I work on unrelated classes.
For example, the tomcat dependency above started failing
intermittently after I added Class['tomcat::logging'] as a managed
resource within Class['tomcat'].

These dependency failures are intermittent.  They appear to occur
between Classes and Defined Types.  They appear to occur for both the
collector- and 'before/require' -approach to specifying dependencies.
They occur even when the classes contain at least one managed
resource.

My only workaround is to run puppet twice.  (The original workaround
of using collector and 'before' to specify dependencies also
intermittently fails.)

Please let me know if you want me to create a bug for this, or whether
you have debugging or workaround recommendations.

Regards,
Jon

---
node 'node02' inherits local {

    S_nfs::Client <| |> -> Class['role_frontend']

    class{ 'role_frontend':
        add_sampledata  => 'true',
    }

    s_nfs::client { '/opt/share':
        action       => 'mount',
        share_server => '10.10.10.14',
        share_source => '/c/UserSource/Linux',
        #before       => Class['s_java', 'tomcat'],
    }

    # Documentation File
    file{"Node Documentation":
        path    => '/tmp/node_doc',
        ensure  => present,
        content => 'Node Documentation Here',
    }

}
----

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to