Issue #2955 has been updated by James Turnbull.

Target version changed from Rowlf to Statler


----------------------------------------
Feature #2955: Classes should be able to statically declare platform support
http://projects.reductivelabs.com/issues/2955

Author: Luke Kanies
Status: Accepted
Priority: Normal
Assigned to: 
Category: language
Target version: Statler
Affected version: 0.25.1
Keywords: class, syntax, platform
Branch: 


Classes are generally developed with limited platform support - tested only to 
work with Debian or whatever.  The class developer should be able to declare 
this fact, and potentially Puppet should fail when a class is attempted to be 
used on an unsupported platform.

It's preferred that the syntax resemble our standard confine syntax:
<pre>
class foo confine($operatingsystem => [debian, solaris]) { ... }
</pre>

That syntax isn't ideal, but it gets the main idea.  Unfortunately, it needs to 
support some level of depth -- e.g., confine to a specific platform and 
version, or even to arbitrary data (which, of course, would need to be set for 
the class to be used).

It might be that this information is better specified at the level of the 
module rather than the class, in which case the failure modes are the same but 
we don't need additional syntax.

We also should probably support some kind of system-level policy that says 
breaking this requirement is either a failure, a warning, or ignored.  Or, 
maybe we should support a means for users to override this data -- if they're 
using an unsupported platform but they've tested it and it works, they should 
be able to declare that.  And, of course, if they can't run code on an 
unsupported platform, they can't actually test to confirm it works or doesn't.

It might be that we need multiple terms to differentiate between "haven't 
tested", "tested and doesn't work", and "should not be allowed".

Again, setting to rowlf but unlikely to be included.


-- 
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://reductivelabs.com/redmine/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