On 30/01/12 17:48, Felix Frank wrote:
> Hi,
> 
> thanks for your elaborate design sketch.
> 
> Sorry for limiting my quote severely.
> 
> On 01/30/2012 06:28 PM, Nick wrote:
>>   +package { 'libfoo': ensure => present }
> 
> Is this different from John's "constraint" proposal?

It did sound similar, yes - but unless I misunderstand it, not identical.  For
example, I don't understand how Constraints would avoid the problems with
unifying resources that Nan mentioned.

John's example appeared to be wrapping an existing Resource with something which
puts constraints on it, i.e. a layer on top of "Resources". It implies a regular
Resource to wrap somewhere.

Whereas what I had in mind was something which in principle at least, was more
basic than a Resource.  With an "Assertion" there is nothing being managed, or
mutated, by definition. It defines conditions on a resource (lower-case 'r')
which can be checked, and merged,  but doesn't imply that any Resource
(upper-case 'R') need to be declared.  It's quite possible that one wouldn't
bother, if you don't need to manage or mutate anything.

So Resources (upper case 'R') could be thought of as extensions to Assertions
which also supply rules to mutate a system's state, should the conditions of the
Assertion not be met, so that the conditions *are* met.

> To me this didn't become clear: Does the manifest still need to declare
> an actual package { "libfoo" } somewhere, or is this implied by at least
> one assertion regarding any of its parameters?

To be explicit: if an Assertion "+package { libfoo: }" is declared, it just
means "libfoo must be installed for this manifest to work". I don't think it
needs to mandate a declaration of a full-blown "package { libfoo: }" somewhere.

In fact, I can probably imagine circumstances when something might be invoked
which indirectly takes care of the "libfoo" package (or file, or whatever) - and
then being forced to manage the "libfoo" package in Puppet just because you want
to assert its presence could be a liability.


N

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

Reply via email to