Issue #11339 has been updated by Jeff McCune.

Here's the code I ran against:

<pre>
$ rake
(in /workspace/puppet-2.7.x)
 * puppet                   
ticket/2.7.x/15464_a_gemfile_would_improve_contributor_on-boarding  
2.7.19rc3-60-g07f0b0e 07f0b0e
 * facter                   
ticket/1.6.x/15464_a_gemfile_would_improve_contributor_on-boarding  
1.6.11-8-g0b49eae     0b49eae
 * hiera                    1.x                                                 
                1.0.0rc4-6-g3b89fbe   3b89fbe
 * rspec-puppet             master                                              
                v0.1.4-2-g4afd64e     4afd64e
 * puppetlabs_spec_helper   
ticket/master/15464_a_gemfile_would_improve_contributor_on-boarding 
0.3.0-2-g12e9794      12e9794
 * fog                      0.7.2                                               
                v0.7.2                c7ec7c9
 * rbvmomi                  master                                              
                N/A                   5dc0ca3
 * stdlib                   3.x                                                 
                3.0.1                 44e99a7
 * hiera_puppet             v0.3.0                                              
                v0.3.0                06e70f3
 * mount_providers          master                                              
                0.0.1                 2d0dabe
 * pe_mcollective           master                                              
                0.0.45-2-g64c6523     64c6523
 * pe_accounts              master                                              
                1.0.3                 0725c16
 * pe_compliance            master                                              
                0.0.5                 dddc001
 * cloud_provisioner        master                                              
                1.0.4-2-gf68dacd      f68dacd
 * cloud_provisioner_vmware master                                              
                v1.0.0-5-g6eaab64     6eaab64
 * hiera_puppet             v0.3.0                                              
                v0.3.0                06e70f3
 * json                     gem                                                 
                1.7.4                 N/A    
 * mocha                    gem                                                 
                0.10.5                N/A    
 * multi_json               gem                                                 
                1.3.6                 N/A    
 * rack                     gem                                                 
                1.4.1                 N/A    
 * rspec                    gem                                                 
                2.10.0                N/A    
 * rspec-core               gem                                                 
                2.10.1                N/A    
 * rspec-expectations       gem                                                 
                2.10.0                N/A    
 * rspec-mocks              gem                                                 
                2.10.1                N/A    
 * rspec-puppet             gem                                                 
                0.1.4                 N/A    
</pre>
----------------------------------------
Bug #11339: Class ordering bug?
https://projects.puppetlabs.com/issues/11339#change-69300

Author: Justin Honold
Status: Accepted
Priority: Normal
Assignee: 
Category: language
Target version: 2.7.x
Affected Puppet version: 2.7.9
Keywords: 
Branch: 


Using Puppet 2.7.9 on CentOS 6 with Ruby 1.8.7.

"foo" module's init.pp:

    class foo {
      include foo::one, foo::two, foo::three
    }

    Class['foo::one'] -> Class['foo::two'] -> Class['foo::three']

First I stop the Master, then start it interactively using --debug and 
--no-daemonize.  Then I apply on a client, without including the 'foo' class.

Next I tell it to include the 'foo' class.  Results:

    notice: foo::three
    notice: /Stage[main]/Foo::Three/Notify[foo::three]/message: defined 
'message' as 'foo::three'
    notice: foo::two
    notice: /Stage[main]/Foo::Two/Notify[foo::two]/message: defined 'message' 
as 'foo::two'
    notice: foo::one
    notice: /Stage[main]/Foo::One/Notify[foo::one]/message: defined 'message' 
as 'foo::one'

Three runs, then two, then one.

Here's the second run:

    notice: foo::one
    notice: /Stage[main]/Foo::One/Notify[foo::one]/message: defined 'message' 
as 'foo::one'
    notice: foo::two
    notice: /Stage[main]/Foo::Two/Notify[foo::two]/message: defined 'message' 
as 'foo::two'
    notice: foo::three
    notice: /Stage[main]/Foo::Three/Notify[foo::three]/message: defined 
'message' as 'foo::three'

One, then two, then three.  With the second run, I also see these corresponding 
entries in the Master's debug output:

    debug: Adding relationship from Class[Foo::One] to Class[Foo::Two] with 
'before'
    debug: Adding relationship from Class[Foo::Two] to Class[Foo::Three] with 
'before'

I expected this ordering to be picked up on the first run, but it only goes on 
the second and later.  Bug?  User error?


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to