Issue #12789 has been updated by Thomas Sturm.

Hi Chris,

thanks for taking care.

Here is a simple test, this is the base class with a define:
<pre>
class test {

    file_definition {
        "/root/puppet-test":
            ensure  => present,
            content => 'Test successful';
    }

}
</pre>
<pre>
define test::file_definition(
    $ensure,
    $content = ''
) {

    file {
        "$name":
            content => $content,
            ensure  => $ensure;
    }

}
</pre>

This is the class that overwrites the defined type 'file_definition':
<pre>
class test::test_disabled inherits test {

    File_definition["/root/puppet-test"] {
        ensure => absent
    }

}
</pre>
This does not work when test::test_disabled is assigned as include in another 
class or via ENC, but it works when assigned in the node manifest directly.
----------------------------------------
Bug #12789: Overwriting a class that's using a definition fails
https://projects.puppetlabs.com/issues/12789#change-55907

Author: Thomas Sturm
Status: Needs More Information
Priority: High
Assignee: Thomas Sturm
Category: class inheritance
Target version: 
Affected Puppet version: 2.7.6
Keywords: 
Branch: 


Hello,

please apologize if this was reported elsewhere already...

We have class X that's included in the default node. The class uses a defined 
type of the same class with ensure => present. We also have class Y that 
inherits X and sets this defined type ensure => absent. If we assign Y to a 
node via another class or via ENC, it does nothing. The defined type is still 
ensure => present. However, if we assign class Y via a node definition, it 
works, the define is ensure => absent. 

Overwriting native puppet types always works, but as soon as you are 
overwriting a definition, the overwrite does just nothing.

If this is supposed to work, I think we hit a bug here...

Best regards,
Thomas


-- 
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